llvm::BitstreamCursor

This represents a position within a bitcode file, implemented on top of a SimpleBitstreamCursor.

Synopsis

Declared in <llvm/Bitstream/BitstreamReader.h>

class BitstreamCursor;

Description

Unlike iterators, BitstreamCursors are heavy-weight objects that should not be passed by value.

Enums

NameDescription
Unnamed enum Flags that modify the behavior of advance().

Member Functions

NameDescription
BitstreamCursor [constructor]Constructors
EnterSubBlock Having read the ENTER_SUBBLOCK abbrevid, and enter the block.
ReadAbbrevRecord Read a DEFINE_ABBREV record and install the new abbreviation.
ReadBlockEnd Handle END_BLOCK: pop block scope and realign; return true on imbalance.
ReadBlockInfoBlock Read and return a block info block from the bitstream. If an error was encountered, return std::nullopt.
ReadCode Read the next abbrev/record code using the current block's code width.
ReadSubBlockID Having read the ENTER_SUBBLOCK code, read the BlockID for the block.
SkipBlock Having read the ENTER_SUBBLOCK abbrevid and a BlockID, skip over the body of this block.
advance Advance the current bitstream, returning the next entry in the stream.
advanceSkippingSubblocks This is a convenience function for clients that don't expect any subblocks. This just skips over them automatically.
getAbbrev Return the abbreviation for the specified AbbrevId.
getAbbrevIDWidth Return the number of bits used to encode an abbrev #.
readRecord Read the record for AbbrevID into Vals (and optional Blob).
setBlockInfo Set the block info to be used by this BitstreamCursor to interpret abbreviated records.
skipRecord Read the current record and discard it, returning the code for the record.

Static Data Members

NameDescription
MaxChunkSize Maximum VBR chunk size supported when reading abbreviated fields.

Using Declarations

NameDescription
AtEndOfStream Inherit AtEndOfStream from SimpleBitstreamCursor.
GetCurrentBitNo Inherit GetCurrentBitNo from SimpleBitstreamCursor.
JumpToBit Inherit JumpToBit from SimpleBitstreamCursor.
Read Inherit Read from SimpleBitstreamCursor.
ReadVBR Inherit ReadVBR from SimpleBitstreamCursor.
ReadVBR64 Inherit ReadVBR64 from SimpleBitstreamCursor.
SizeInBytes Inherit SizeInBytes from SimpleBitstreamCursor.
canSkipToPos Inherit canSkipToPos from SimpleBitstreamCursor.
fillCurWord Inherit fillCurWord from SimpleBitstreamCursor.
getBitcodeBytes Inherit getBitcodeBytes from SimpleBitstreamCursor.
getCurrentByteNo Inherit getCurrentByteNo from SimpleBitstreamCursor.
getPointerToByte Inherit getPointerToByte from SimpleBitstreamCursor.
skipToEnd Skip to the end of the bitcode buffer.