LLVM 20.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>

Go to the source code of this file.

Classes

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 >
 

Namespaces

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.