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:
- include/llvm/Support/BinaryStreamRef.h