LLVM 20.0.0git
Public Types | Public Member Functions | Friends | List of all members
llvm::VarStreamArray< ValueType, Extractor > Class Template Reference

#include "llvm/Support/BinaryStreamArray.h"

Inheritance diagram for llvm::VarStreamArray< ValueType, Extractor >:
Inheritance graph
[legend]

Public Types

typedef VarStreamArrayIterator< ValueType, Extractor > Iterator
 

Public Member Functions

 VarStreamArray ()=default
 
 VarStreamArray (const Extractor &E)
 
 VarStreamArray (BinaryStreamRef Stream, uint32_t Skew=0)
 
 VarStreamArray (BinaryStreamRef Stream, const Extractor &E, uint32_t Skew=0)
 
Iterator begin (bool *HadError=nullptr) const
 
bool valid () const
 
bool isOffsetValid (uint32_t Offset) const
 
uint32_t skew () const
 
Iterator end () const
 
bool empty () const
 
VarStreamArray< ValueType, Extractor > substream (uint32_t Begin, uint32_t End) const
 
Iterator at (uint32_t Offset) const
 given an offset into the array's underlying stream, return an iterator to the record at that offset.
 
const Extractor & getExtractor () const
 
Extractor & getExtractor ()
 
BinaryStreamRef getUnderlyingStream () const
 
void setUnderlyingStream (BinaryStreamRef NewStream, uint32_t NewSkew=0)
 
void drop_front ()
 

Friends

class VarStreamArrayIterator< ValueType, Extractor >
 

Detailed Description

template<typename ValueType, typename Extractor = VarStreamArrayExtractor<ValueType>>
class llvm::VarStreamArray< ValueType, Extractor >

Definition at line 92 of file BinaryStreamArray.h.

Member Typedef Documentation

◆ Iterator

template<typename ValueType , typename Extractor = VarStreamArrayExtractor<ValueType>>
typedef VarStreamArrayIterator<ValueType, Extractor> llvm::VarStreamArray< ValueType, Extractor >::Iterator

Definition at line 96 of file BinaryStreamArray.h.

Constructor & Destructor Documentation

◆ VarStreamArray() [1/4]

template<typename ValueType , typename Extractor = VarStreamArrayExtractor<ValueType>>
llvm::VarStreamArray< ValueType, Extractor >::VarStreamArray ( )
default

◆ VarStreamArray() [2/4]

template<typename ValueType , typename Extractor = VarStreamArrayExtractor<ValueType>>
llvm::VarStreamArray< ValueType, Extractor >::VarStreamArray ( const Extractor &  E)
inlineexplicit

Definition at line 100 of file BinaryStreamArray.h.

◆ VarStreamArray() [3/4]

template<typename ValueType , typename Extractor = VarStreamArrayExtractor<ValueType>>
llvm::VarStreamArray< ValueType, Extractor >::VarStreamArray ( BinaryStreamRef  Stream,
uint32_t  Skew = 0 
)
inlineexplicit

Definition at line 102 of file BinaryStreamArray.h.

◆ VarStreamArray() [4/4]

template<typename ValueType , typename Extractor = VarStreamArrayExtractor<ValueType>>
llvm::VarStreamArray< ValueType, Extractor >::VarStreamArray ( BinaryStreamRef  Stream,
const Extractor &  E,
uint32_t  Skew = 0 
)
inline

Definition at line 105 of file BinaryStreamArray.h.

Member Function Documentation

◆ at()

template<typename ValueType , typename Extractor = VarStreamArrayExtractor<ValueType>>
Iterator llvm::VarStreamArray< ValueType, Extractor >::at ( uint32_t  Offset) const
inline

given an offset into the array's underlying stream, return an iterator to the record at that offset.

This is considered unsafe since the behavior is undefined if Offset does not refer to the beginning of a valid record.

Definition at line 134 of file BinaryStreamArray.h.

References E, and llvm::Offset.

Referenced by llvm::pdb::NativeFunctionSymbol::findInlineFramesByVA(), llvm::pdb::SymbolGroup::formatFromChecksumsOffset(), getFileName(), llvm::pdb::SymbolGroup::getNameFromChecksums(), llvm::VarStreamArray< ValueType, Extractor >::isOffsetValid(), llvm::pdb::SymbolStream::readRecord(), and llvm::pdb::ModuleDebugStreamRef::readSymbolAtOffset().

◆ begin()

template<typename ValueType , typename Extractor = VarStreamArrayExtractor<ValueType>>
Iterator llvm::VarStreamArray< ValueType, Extractor >::begin ( bool HadError = nullptr) const
inline

◆ drop_front()

template<typename ValueType , typename Extractor = VarStreamArrayExtractor<ValueType>>
void llvm::VarStreamArray< ValueType, Extractor >::drop_front ( )
inline

◆ empty()

template<typename ValueType , typename Extractor = VarStreamArrayExtractor<ValueType>>
bool llvm::VarStreamArray< ValueType, Extractor >::empty ( ) const
inline

◆ end()

template<typename ValueType , typename Extractor = VarStreamArrayExtractor<ValueType>>
Iterator llvm::VarStreamArray< ValueType, Extractor >::end ( ) const
inline

◆ getExtractor() [1/2]

template<typename ValueType , typename Extractor = VarStreamArrayExtractor<ValueType>>
Extractor & llvm::VarStreamArray< ValueType, Extractor >::getExtractor ( )
inline

Definition at line 139 of file BinaryStreamArray.h.

References E.

◆ getExtractor() [2/2]

template<typename ValueType , typename Extractor = VarStreamArrayExtractor<ValueType>>
const Extractor & llvm::VarStreamArray< ValueType, Extractor >::getExtractor ( ) const
inline

◆ getUnderlyingStream()

template<typename ValueType , typename Extractor = VarStreamArrayExtractor<ValueType>>
BinaryStreamRef llvm::VarStreamArray< ValueType, Extractor >::getUnderlyingStream ( ) const
inline

Definition at line 141 of file BinaryStreamArray.h.

◆ isOffsetValid()

template<typename ValueType , typename Extractor = VarStreamArrayExtractor<ValueType>>
bool llvm::VarStreamArray< ValueType, Extractor >::isOffsetValid ( uint32_t  Offset) const
inline

◆ setUnderlyingStream()

template<typename ValueType , typename Extractor = VarStreamArrayExtractor<ValueType>>
void llvm::VarStreamArray< ValueType, Extractor >::setUnderlyingStream ( BinaryStreamRef  NewStream,
uint32_t  NewSkew = 0 
)
inline

Definition at line 142 of file BinaryStreamArray.h.

◆ skew()

template<typename ValueType , typename Extractor = VarStreamArrayExtractor<ValueType>>
uint32_t llvm::VarStreamArray< ValueType, Extractor >::skew ( ) const
inline

Definition at line 116 of file BinaryStreamArray.h.

◆ substream()

template<typename ValueType , typename Extractor = VarStreamArrayExtractor<ValueType>>
VarStreamArray< ValueType, Extractor > llvm::VarStreamArray< ValueType, Extractor >::substream ( uint32_t  Begin,
uint32_t  End 
) const
inline

◆ valid()

template<typename ValueType , typename Extractor = VarStreamArrayExtractor<ValueType>>
bool llvm::VarStreamArray< ValueType, Extractor >::valid ( ) const
inline

Friends And Related Function Documentation

◆ VarStreamArrayIterator< ValueType, Extractor >

template<typename ValueType , typename Extractor = VarStreamArrayExtractor<ValueType>>
friend class VarStreamArrayIterator< ValueType, Extractor >
friend

Definition at line 50 of file BinaryStreamArray.h.


The documentation for this class was generated from the following file: