class BinaryByteStream
Declaration
class BinaryByteStream : public BinaryStream { /* full declaration omitted */ };
Description
An implementation of BinaryStream which holds its entire data set in a single contiguous buffer. BinaryByteStream guarantees that no read operation will ever incur a copy. Note that BinaryByteStream does not own the underlying buffer.
Declared at: llvm/include/llvm/Support/BinaryByteStream.h:31
Inherits from: BinaryStream
Member Variables
- protected llvm::support::endianness Endian
- protected ArrayRef<uint8_t> Data
Method Overview
- public BinaryByteStream()
- public BinaryByteStream(ArrayRef<uint8_t> Data, llvm::support::endianness Endian)
- public BinaryByteStream(llvm::StringRef Data, llvm::support::endianness Endian)
- public ArrayRef<uint8_t> data() const
- public llvm::support::endianness getEndian() const
- public uint32_t getLength()
- public llvm::Error readBytes(uint32_t Offset, uint32_t Size, ArrayRef<uint8_t> & Buffer)
- public llvm::Error readLongestContiguousChunk(uint32_t Offset, ArrayRef<uint8_t> & Buffer)
- public llvm::StringRef str() const
Inherited from BinaryStream:
- protected checkOffsetForRead
- public getEndian
- public getFlags
- public getLength
- public readBytes
- public readLongestContiguousChunk
Methods
¶BinaryByteStream()
BinaryByteStream()
Declared at: llvm/include/llvm/Support/BinaryByteStream.h:33
¶BinaryByteStream(ArrayRef<uint8_t> Data,
llvm::support::endianness Endian)
BinaryByteStream(ArrayRef<uint8_t> Data,
llvm::support::endianness Endian)
Declared at: llvm/include/llvm/Support/BinaryByteStream.h:34
Parameters
- ArrayRef<uint8_t> Data
- llvm::support::endianness Endian
¶BinaryByteStream(llvm::StringRef Data,
llvm::support::endianness Endian)
BinaryByteStream(llvm::StringRef Data,
llvm::support::endianness Endian)
Declared at: llvm/include/llvm/Support/BinaryByteStream.h:36
Parameters
- llvm::StringRef Data
- llvm::support::endianness Endian
¶ArrayRef<uint8_t> data() const
ArrayRef<uint8_t> data() const
Declared at: llvm/include/llvm/Support/BinaryByteStream.h:59
¶llvm::support::endianness getEndian() const
llvm::support::endianness getEndian() const
Declared at: llvm/include/llvm/Support/BinaryByteStream.h:39
¶uint32_t getLength()
uint32_t getLength()
Description
Return the number of bytes of data in this stream.
Declared at: llvm/include/llvm/Support/BinaryByteStream.h:57
¶llvm::Error readBytes(uint32_t Offset,
uint32_t Size,
ArrayRef<uint8_t>& Buffer)
llvm::Error readBytes(uint32_t Offset,
uint32_t Size,
ArrayRef<uint8_t>& Buffer)
Description
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.
Declared at: llvm/include/llvm/Support/BinaryByteStream.h:41
Parameters
- uint32_t Offset
- uint32_t Size
- ArrayRef<uint8_t>& Buffer
¶llvm::Error readLongestContiguousChunk(
uint32_t Offset,
ArrayRef<uint8_t>& Buffer)
llvm::Error readLongestContiguousChunk(
uint32_t Offset,
ArrayRef<uint8_t>& Buffer)
Description
Given an offset into the stream, read as much as possible without copying any data.
Declared at: llvm/include/llvm/Support/BinaryByteStream.h:49
Parameters
- uint32_t Offset
- ArrayRef<uint8_t>& Buffer
¶llvm::StringRef str() const
llvm::StringRef str() const
Declared at: llvm/include/llvm/Support/BinaryByteStream.h:61