LLVM 17.0.0git
Classes | Namespaces
BinaryStreamArray.h File Reference

Lightweight arrays that are backed by an arbitrary BinaryStream. More...

#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/iterator.h"
#include "llvm/Support/Alignment.h"
#include "llvm/Support/BinaryStreamRef.h"
#include "llvm/Support/Error.h"
#include <cassert>
#include <cstdint>
Include dependency graph for BinaryStreamArray.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.


struct  llvm::VarStreamArrayExtractor< T >
 VarStreamArrayExtractor is intended to be specialized to provide customized extraction logic. More...
class  llvm::VarStreamArray< ValueType, Extractor >
class  llvm::VarStreamArrayIterator< ValueType, Extractor >
 VarStreamArray represents an array of variable length records backed by a stream. More...
class  llvm::FixedStreamArray< T >
 FixedStreamArray is similar to VarStreamArray, except with each record having a fixed-length. More...
class  llvm::FixedStreamArrayIterator< T >


namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.

Detailed Description

Lightweight arrays that are backed by an arbitrary BinaryStream.

This file provides two different array implementations.

VarStreamArray - Arrays of variable length records.  The user specifies
  an Extractor type that can extract a record from a given offset and
  return the number of bytes consumed by the record.

FixedStreamArray - Arrays of fixed length records.  This is similar in
  spirit to ArrayRef<T>, but since it is backed by a BinaryStream, the
  elements of the array need not be laid out in contiguous memory.

Definition in file BinaryStreamArray.h.