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:30

Inherits from: BinaryStream

Member Variables

protected llvm::support::endianness Endian
protected ArrayRef<uint8_t> Data

Method Overview

Inherited from BinaryStream:

Methods

BinaryByteStream()

Declared at: llvm/include/llvm/Support/BinaryByteStream.h:32

BinaryByteStream(ArrayRef<uint8_t> Data,
                 llvm::support::endianness Endian)

Declared at: llvm/include/llvm/Support/BinaryByteStream.h:33

Parameters

ArrayRef<uint8_t> Data
llvm::support::endianness Endian

BinaryByteStream(llvm::StringRef Data,
                 llvm::support::endianness Endian)

Declared at: llvm/include/llvm/Support/BinaryByteStream.h:35

Parameters

llvm::StringRef Data
llvm::support::endianness Endian

ArrayRef<uint8_t> data() const

Declared at: llvm/include/llvm/Support/BinaryByteStream.h:58

llvm::support::endianness getEndian() const

Declared at: llvm/include/llvm/Support/BinaryByteStream.h:38

uint64_t getLength()

Description

Return the number of bytes of data in this stream.

Declared at: llvm/include/llvm/Support/BinaryByteStream.h:56

llvm::Error readBytes(uint64_t Offset,
                      uint64_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:40

Parameters

uint64_t Offset
uint64_t Size
ArrayRef<uint8_t>& Buffer

llvm::Error readLongestContiguousChunk(
    uint64_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:48

Parameters

uint64_t Offset
ArrayRef<uint8_t>& Buffer

llvm::StringRef str() const

Declared at: llvm/include/llvm/Support/BinaryByteStream.h:60