LLVM: llvm::BinaryStreamRefBase< RefType, StreamType > Class Template Reference (original) (raw)

Common stuff for mutable and immutable StreamRefs. More...

#include "[llvm/Support/BinaryStreamRef.h](BinaryStreamRef%5F8h%5Fsource.html)"

Public Member Functions
llvm::endianness getEndian () const
uint64_t getLength () const
RefType drop_front (uint64_t N) const
Return a new BinaryStreamRef with the first N elements removed.
RefType drop_back (uint64_t N) const
Return a new BinaryStreamRef with the last N elements removed.
RefType keep_front (uint64_t N) const
Return a new BinaryStreamRef with only the first N elements remaining.
RefType keep_back (uint64_t N) const
Return a new BinaryStreamRef with only the last N elements remaining.
RefType drop_symmetric (uint64_t N) const
Return a new BinaryStreamRef with the first and last N elements removed.
RefType slice (uint64_t Offset, uint64_t Len) const
Return a new BinaryStreamRef with the first Offset elements removed, and retaining exactly Len elements.
bool valid () const
Protected Member Functions
BinaryStreamRefBase ()=default
BinaryStreamRefBase (StreamType &BorrowedImpl)
BinaryStreamRefBase (std::shared_ptr< StreamType > SharedImpl, uint64_t Offset, std::optional< uint64_t > Length)
BinaryStreamRefBase (StreamType &BorrowedImpl, uint64_t Offset, std::optional< uint64_t > Length)
BinaryStreamRefBase (const BinaryStreamRefBase &Other)=default
BinaryStreamRefBase & operator= (const BinaryStreamRefBase &Other)=default
BinaryStreamRefBase & operator= (BinaryStreamRefBase &&Other)=default
BinaryStreamRefBase (BinaryStreamRefBase &&Other)=default
Error checkOffsetForRead (uint64_t Offset, uint64_t DataSize) const
Protected Attributes
std::shared_ptr< StreamType > SharedImpl
StreamType * BorrowedImpl = nullptr
uint64_t ViewOffset = 0
std::optional< uint64_t > Length

template<class RefType, class StreamType>
class llvm::BinaryStreamRefBase< RefType, StreamType >

Common stuff for mutable and immutable StreamRefs.

Definition at line 23 of file BinaryStreamRef.h.

template<class RefType , class StreamType >

BinaryStreamRefBase() [2/6]

template<class RefType , class StreamType >

BinaryStreamRefBase() [3/6]

template<class RefType , class StreamType >

BinaryStreamRefBase() [4/6]

template<class RefType , class StreamType >

BinaryStreamRefBase() [5/6]

template<class RefType , class StreamType >

BinaryStreamRefBase() [6/6]

template<class RefType , class StreamType >

checkOffsetForRead()

template<class RefType , class StreamType >

drop_back()

template<class RefType , class StreamType >

drop_front()

template<class RefType , class StreamType >

Return a new BinaryStreamRef with the first N elements removed.

If this BinaryStreamRef is length-tracking, then the resulting one will be too.

Definition at line 58 of file BinaryStreamRef.h.

References llvm::BinaryStreamRefBase< RefType, StreamType >::BorrowedImpl, llvm::BinaryStreamRefBase< RefType, StreamType >::getLength(), and N.

Referenced by llvm::BinaryStreamRefBase< RefType, StreamType >::drop_symmetric(), llvm::pdb::LinePrinter::formatMsfStreamData(), llvm::BinaryStreamRefBase< RefType, StreamType >::keep_back(), llvm::VarStreamArrayIterator< ValueType, Extractor >::operator+=(), llvm::BinaryStreamRefBase< RefType, StreamType >::slice(), llvm::BinaryStreamWriter::split(), and llvm::BinaryStreamReader::split().

drop_symmetric()

template<class RefType , class StreamType >

getEndian()

template<class RefType , class StreamType >

getLength()

template<class RefType , class StreamType >

Definition at line 48 of file BinaryStreamRef.h.

References llvm::BinaryStreamRefBase< RefType, StreamType >::BorrowedImpl, llvm::BinaryStreamRefBase< RefType, StreamType >::Length, and llvm::BinaryStreamRefBase< RefType, StreamType >::ViewOffset.

Referenced by llvm::codeview::DebugSubsectionRecordBuilder::calculateSerializedLength(), llvm::BinaryStreamRefBase< RefType, StreamType >::checkOffsetForRead(), llvm::codeview::DebugSubsectionRecordBuilder::commit(), llvm::BinaryStreamRefBase< RefType, StreamType >::drop_back(), llvm::BinaryStreamRefBase< RefType, StreamType >::drop_front(), llvm::VarStreamArray< ValueType, Extractor >::empty(), llvm::FixedStreamArray< T >::FixedStreamArray(), llvm::BinaryStreamReader::getLength(), llvm::BinaryStreamWriter::getLength(), llvm::codeview::DebugSubsectionRecord::getRecordLength(), llvm::BinaryStreamRefBase< RefType, StreamType >::keep_back(), llvm::BinaryStreamRefBase< RefType, StreamType >::keep_front(), llvm::VarStreamArrayIterator< ValueType, Extractor >::operator+=(), llvm::FixedStreamArray< T >::size(), llvm::BinarySubstreamRef::size(), and llvm::VarStreamArrayIterator< ValueType, Extractor >::VarStreamArrayIterator().

keep_back()

template<class RefType , class StreamType >

keep_front()

template<class RefType , class StreamType >

operator=() [1/2]

template<class RefType , class StreamType >

operator=() [2/2]

template<class RefType , class StreamType >

slice()

template<class RefType , class StreamType >

valid()

template<class RefType , class StreamType >

operator==

template<class RefType , class StreamType >

BorrowedImpl

template<class RefType , class StreamType >

Definition at line 141 of file BinaryStreamRef.h.

Referenced by llvm::BinaryStreamRefBase< RefType, StreamType >::BinaryStreamRefBase(), llvm::BinaryStreamRefBase< RefType, StreamType >::drop_back(), llvm::BinaryStreamRefBase< RefType, StreamType >::drop_front(), llvm::BinaryStreamRefBase< RefType, StreamType >::getEndian(), llvm::BinaryStreamRefBase< RefType, StreamType >::getLength(), and llvm::BinaryStreamRefBase< RefType, StreamType >::valid().

Length

template<class RefType , class StreamType >

SharedImpl

template<class RefType , class StreamType >

ViewOffset

template<class RefType , class StreamType >


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