LLVM  6.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)
 
 VarStreamArray (BinaryStreamRef Stream, const Extractor &E)
 
Iterator begin (bool *HadError=nullptr) const
 
bool valid () const
 
Iterator end () const
 
bool empty () 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)
 

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)
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 
)
inline

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

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

◆ begin()

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

◆ empty()

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

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

◆ getUnderlyingStream()

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

Definition at line 125 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)
inline

Definition at line 126 of file BinaryStreamArray.h.

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

◆ valid()

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

Definition at line 108 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: