LLVM: llvm::msf::MappedBlockStream Class Reference (original) (raw)

MappedBlockStream represents data stored in an MSF file into chunks of a particular size (called the Block Size), and whose chunks may not be necessarily contiguous. More...

#include "[llvm/DebugInfo/MSF/MappedBlockStream.h](MappedBlockStream%5F8h%5Fsource.html)"

Public Member Functions
llvm::endianness getEndian () const override
Error readBytes (uint64_t Offset, uint64_t Size, ArrayRef< uint8_t > &Buffer) override
Given an offset into the stream and a number of bytes, attempt to read the bytes and set the output ArrayRef to point to data owned by the stream.
Error readLongestContiguousChunk (uint64_t Offset, ArrayRef< uint8_t > &Buffer) override
Given an offset into the stream, read as much as possible without copying any data.
uint64_t getLength () override
Return the number of bytes of data in this stream.
BumpPtrAllocator & getAllocator ()
void invalidateCache ()
uint32_t getBlockSize () const
uint32_t getNumBlocks () const
uint32_t getStreamLength () const
Public Member Functions inherited from llvm::BinaryStream
virtual ~BinaryStream ()=default
virtual BinaryStreamFlags getFlags () const
Return the properties of this stream.
Static Public Member Functions
static std::unique_ptr< MappedBlockStream > createStream (uint32_t BlockSize, const MSFStreamLayout &Layout, BinaryStreamRef MsfData, BumpPtrAllocator &Allocator)
static std::unique_ptr< MappedBlockStream > createIndexedStream (const MSFLayout &Layout, BinaryStreamRef MsfData, uint32_t StreamIndex, BumpPtrAllocator &Allocator)
static std::unique_ptr< MappedBlockStream > createFpmStream (const MSFLayout &Layout, BinaryStreamRef MsfData, BumpPtrAllocator &Allocator)
static std::unique_ptr< MappedBlockStream > createDirectoryStream (const MSFLayout &Layout, BinaryStreamRef MsfData, BumpPtrAllocator &Allocator)
Friends
class WritableMappedBlockStream

MappedBlockStream represents data stored in an MSF file into chunks of a particular size (called the Block Size), and whose chunks may not be necessarily contiguous.

The arrangement of these chunks MSF the file is described by some other metadata contained within the MSF file. In the case of a standard MSF Stream, the layout of the stream's blocks is described by the MSF "directory", but in the case of the directory itself, the layout is described by an array at a fixed location within the MSF. MappedBlockStream provides methods for reading from and writing to one of these streams transparently, as if it were a contiguous sequence of bytes.

Definition at line 38 of file MappedBlockStream.h.

createDirectoryStream()

createFpmStream()

createIndexedStream()

createStream()

getAllocator()

getBlockSize()

uint32_t llvm::msf::MappedBlockStream::getBlockSize ( ) const inline

getEndian()

llvm::endianness llvm::msf::MappedBlockStream::getEndian ( ) const inlineoverridevirtual

getLength()

uint64_t MappedBlockStream::getLength ( ) overridevirtual

getNumBlocks()

uint32_t llvm::msf::MappedBlockStream::getNumBlocks ( ) const inline

getStreamLength()

uint32_t llvm::msf::MappedBlockStream::getStreamLength ( ) const inline

invalidateCache()

void MappedBlockStream::invalidateCache ( )

readBytes()

readLongestContiguousChunk()

WritableMappedBlockStream


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