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
- public bool AtEndOfStream()
- public uint64_t GetCurrentBitNo() const
- public llvm::Error JumpToBit(uint64_t BitNo)
- public Expected<llvm::SimpleBitstreamCursor::word_t> Read(unsigned int NumBits)
- public Expected<uint32_t> ReadVBR(const unsigned int NumBits)
- public Expected<uint64_t> ReadVBR64(const unsigned int NumBits)
- public SimpleBitstreamCursor(ArrayRef<uint8_t> BitcodeBytes)
- public SimpleBitstreamCursor()
- public SimpleBitstreamCursor(llvm::MemoryBufferRef BitcodeBytes)
- public SimpleBitstreamCursor(llvm::StringRef BitcodeBytes)
- public size_t SizeInBytes() const
- public void SkipToFourByteBoundary()
- public bool canSkipToPos(size_t pos) const
- public llvm::Error fillCurWord()
- public ArrayRef<uint8_t> getBitcodeBytes() const
- public uint64_t getCurrentByteNo() const
- public const uint8_t * getPointerToBit(uint64_t BitNo, uint64_t NumBytes)
- public const uint8_t * getPointerToByte(uint64_t ByteNo, uint64_t NumBytes)
- public bool isSizePlausible(size_t Size) const
- public void skipToEnd()
Methods
¶bool AtEndOfStream()
bool AtEndOfStream()
Declared at: llvm/include/llvm/Bitstream/BitstreamReader.h:112
¶uint64_t GetCurrentBitNo() const
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)
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)
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)
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)
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)
SimpleBitstreamCursor(
ArrayRef<uint8_t> BitcodeBytes)
Declared at: llvm/include/llvm/Bitstream/BitstreamReader.h:100
Parameters
- ArrayRef<uint8_t> BitcodeBytes
¶SimpleBitstreamCursor()
SimpleBitstreamCursor()
Declared at: llvm/include/llvm/Bitstream/BitstreamReader.h:99
¶SimpleBitstreamCursor(
llvm::MemoryBufferRef BitcodeBytes)
SimpleBitstreamCursor(
llvm::MemoryBufferRef BitcodeBytes)
Declared at: llvm/include/llvm/Bitstream/BitstreamReader.h:104
Parameters
- llvm::MemoryBufferRef BitcodeBytes
¶SimpleBitstreamCursor(
llvm::StringRef BitcodeBytes)
SimpleBitstreamCursor(
llvm::StringRef BitcodeBytes)
Declared at: llvm/include/llvm/Bitstream/BitstreamReader.h:102
Parameters
- llvm::StringRef BitcodeBytes
¶size_t SizeInBytes() const
size_t SizeInBytes() const
Description
Return the size of the stream in bytes.
Declared at: llvm/include/llvm/Bitstream/BitstreamReader.h:310
¶void SkipToFourByteBoundary()
void SkipToFourByteBoundary()
Declared at: llvm/include/llvm/Bitstream/BitstreamReader.h:296
¶bool canSkipToPos(size_t pos) const
bool canSkipToPos(size_t pos) const
Declared at: llvm/include/llvm/Bitstream/BitstreamReader.h:107
Parameters
- size_t pos
¶llvm::Error fillCurWord()
llvm::Error fillCurWord()
Declared at: llvm/include/llvm/Bitstream/BitstreamReader.h:160
¶ArrayRef<uint8_t> getBitcodeBytes() const
ArrayRef<uint8_t> getBitcodeBytes() const
Declared at: llvm/include/llvm/Bitstream/BitstreamReader.h:124
¶uint64_t getCurrentByteNo() const
uint64_t getCurrentByteNo() const
Declared at: llvm/include/llvm/Bitstream/BitstreamReader.h:122
¶const uint8_t* getPointerToBit(uint64_t BitNo,
uint64_t NumBytes)
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)
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
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()
void skipToEnd()
Description
Skip to the end of the file.
Declared at: llvm/include/llvm/Bitstream/BitstreamReader.h:313