class SimpleBitstreamCursor

Declaration

class SimpleBitstreamCursor { /* full declaration omitted */ };

Description

This represents a position within a bitstream. There may be multiple independent cursors reading within one bitstream, each maintaining their own local state.

Declared at: llvm/include/llvm/Bitstream/BitstreamReader.h:79

Member Variables

private ArrayRef<uint8_t> BitcodeBytes
private size_t NextChar = 0
private llvm::SimpleBitstreamCursor::word_t CurWord = 0
private unsigned int BitsInCurWord = 0
This is the number of bits in CurWord that are valid. This is always from [0...bits_of(size_t)-1] inclusive.

Method Overview

Methods

bool AtEndOfStream()

Declared at: llvm/include/llvm/Bitstream/BitstreamReader.h:112

uint64_t GetCurrentBitNo() const

Description

Return the bit # of the bit we are reading.

Declared at: llvm/include/llvm/Bitstream/BitstreamReader.h:117

llvm::Error JumpToBit(uint64_t BitNo)

Description

Reset the stream to the specified bit number.

Declared at: llvm/include/llvm/Bitstream/BitstreamReader.h:127

Parameters

uint64_t BitNo

Expected<llvm::SimpleBitstreamCursor::word_t>
Read(unsigned int NumBits)

Declared at: llvm/include/llvm/Bitstream/BitstreamReader.h:186

Parameters

unsigned int NumBits

Expected<uint32_t> ReadVBR(
    const unsigned int NumBits)

Declared at: llvm/include/llvm/Bitstream/BitstreamReader.h:229

Parameters

const unsigned int NumBits

Expected<uint64_t> ReadVBR64(
    const unsigned int NumBits)

Declared at: llvm/include/llvm/Bitstream/BitstreamReader.h:264

Parameters

const unsigned int NumBits

SimpleBitstreamCursor(
    ArrayRef<uint8_t> BitcodeBytes)

Declared at: llvm/include/llvm/Bitstream/BitstreamReader.h:100

Parameters

ArrayRef<uint8_t> BitcodeBytes

SimpleBitstreamCursor()

Declared at: llvm/include/llvm/Bitstream/BitstreamReader.h:99

SimpleBitstreamCursor(
    llvm::MemoryBufferRef BitcodeBytes)

Declared at: llvm/include/llvm/Bitstream/BitstreamReader.h:104

Parameters

llvm::MemoryBufferRef BitcodeBytes

SimpleBitstreamCursor(
    llvm::StringRef BitcodeBytes)

Declared at: llvm/include/llvm/Bitstream/BitstreamReader.h:102

Parameters

llvm::StringRef BitcodeBytes

size_t SizeInBytes() const

Description

Return the size of the stream in bytes.

Declared at: llvm/include/llvm/Bitstream/BitstreamReader.h:310

void SkipToFourByteBoundary()

Declared at: llvm/include/llvm/Bitstream/BitstreamReader.h:296

bool canSkipToPos(size_t pos) const

Declared at: llvm/include/llvm/Bitstream/BitstreamReader.h:107

Parameters

size_t pos

llvm::Error fillCurWord()

Declared at: llvm/include/llvm/Bitstream/BitstreamReader.h:160

ArrayRef<uint8_t> getBitcodeBytes() const

Declared at: llvm/include/llvm/Bitstream/BitstreamReader.h:124

uint64_t getCurrentByteNo() const

Declared at: llvm/include/llvm/Bitstream/BitstreamReader.h:122

const uint8_t* getPointerToBit(uint64_t BitNo,
                               uint64_t NumBytes)

Description

Get a pointer into the bitstream at the specified bit offset. The bit offset must be on a byte boundary.

Declared at: llvm/include/llvm/Bitstream/BitstreamReader.h:155

Parameters

uint64_t BitNo
uint64_t NumBytes

const uint8_t* getPointerToByte(uint64_t ByteNo,
                                uint64_t NumBytes)

Description

Get a pointer into the bitstream at the specified byte offset.

Declared at: llvm/include/llvm/Bitstream/BitstreamReader.h:148

Parameters

uint64_t ByteNo
uint64_t NumBytes

bool isSizePlausible(size_t Size) const

Description

Check whether a reservation of Size elements is plausible.

Declared at: llvm/include/llvm/Bitstream/BitstreamReader.h:316

Parameters

size_t Size

void skipToEnd()

Description

Skip to the end of the file.

Declared at: llvm/include/llvm/Bitstream/BitstreamReader.h:313