LLVM  8.0.0svn
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
 
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. More...
 
const Extractor & getExtractor () const
 
Extractor & getExtractor ()
 
BinaryStreamRef getUnderlyingStream () const
 
void setUnderlyingStream (BinaryStreamRef S, uint32_t Skew=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 89 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 93 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 97 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 99 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 102 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 129 of file BinaryStreamArray.h.

Referenced by getFileName(), llvm::codeview::LazyRandomTypeCollection::getNext(), llvm::codeview::limitSymbolArrayToScope(), and llvm::pdb::SymbolStream::readRecord().

◆ 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

Definition at line 142 of file BinaryStreamArray.h.

◆ empty()

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

Definition at line 114 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>>
const Extractor& llvm::VarStreamArray< ValueType, Extractor >::getExtractor ( ) const
inline

◆ getExtractor() [2/2]

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

Definition at line 134 of file BinaryStreamArray.h.

◆ getUnderlyingStream()

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

Definition at line 136 of file BinaryStreamArray.h.

Referenced by llvm::BinaryStreamWriter::writeArray().

◆ setUnderlyingStream()

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

Definition at line 137 of file BinaryStreamArray.h.

Referenced by llvm::BinaryStreamReader::readArray().

◆ skew()

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

Definition at line 111 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 116 of file BinaryStreamArray.h.

Referenced by llvm::codeview::limitSymbolArrayToScope().

◆ valid()

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

Definition at line 109 of file BinaryStreamArray.h.

Friends And Related Function Documentation

◆ VarStreamArrayIterator< ValueType, Extractor >

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

Definition at line 90 of file BinaryStreamArray.h.


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