LLVM 22.0.0git
llvm::VarStreamArray< ValueType, Extractor > Class Template Reference

#include "llvm/Support/BinaryStreamArray.h"

Inheritance diagram for llvm::VarStreamArray< ValueType, Extractor >:
[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.

Referenced by llvm::pdb::NativeFunctionSymbol::findInlineFramesByVA(), and getFileName().

◆ begin()

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

Definition at line 108 of file BinaryStreamArray.h.

Referenced by llvm::VarStreamArray< CVSymbol >::drop_front().

◆ drop_front()

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

Definition at line 147 of file BinaryStreamArray.h.

◆ empty()

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

Definition at line 119 of file BinaryStreamArray.h.

◆ 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.

◆ getExtractor() [2/2]

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

Definition at line 138 of file BinaryStreamArray.h.

◆ 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

Definition at line 114 of file BinaryStreamArray.h.

◆ 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

Definition at line 121 of file BinaryStreamArray.h.

◆ valid()

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

Definition at line 112 of file BinaryStreamArray.h.

◆ 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: