CCSDS 124.0-B-1 C++ 1.0.0
CCSDS 124.0-B-1 Lossless Compression
Loading...
Searching...
No Matches
ccsds124::BitReader Class Reference

Sequential bit reader for compressed data. More...

#include <bitreader.hpp>

Public Member Functions

 BitReader (const std::uint8_t *data, std::size_t num_bits) noexcept
 Construct a bit reader.
 
int read_bit () noexcept
 Read a single bit.
 
std::uint32_t read_bits (std::size_t num_bits) noexcept
 Read multiple bits as unsigned value.
 
std::size_t position () const noexcept
 Get current bit position.
 
std::size_t remaining () const noexcept
 Get remaining bits.
 
void align_byte () noexcept
 Skip to next byte boundary.
 

Detailed Description

Sequential bit reader for compressed data.

Tracks position within a byte buffer for bit-level access. Used during decompression to parse compressed packets.

Definition at line 38 of file bitreader.hpp.

Constructor & Destructor Documentation

◆ BitReader()

ccsds124::BitReader::BitReader ( const std::uint8_t *  data,
std::size_t  num_bits 
)
inlinenoexcept

Construct a bit reader.

Parameters
dataPointer to source data buffer
num_bitsNumber of valid bits in buffer

Definition at line 46 of file bitreader.hpp.

Member Function Documentation

◆ align_byte()

void ccsds124::BitReader::align_byte ( )
inlinenoexcept

Skip to next byte boundary.

Advances position to start of next byte (for padding).

Definition at line 148 of file bitreader.hpp.

Referenced by ccsds124::decompress().

◆ position()

std::size_t ccsds124::BitReader::position ( ) const
inlinenoexcept

Get current bit position.

Returns
Number of bits already read

Definition at line 130 of file bitreader.hpp.

◆ read_bit()

int ccsds124::BitReader::read_bit ( )
inlinenoexcept

Read a single bit.

Returns
Bit value (0 or 1), or -1 if no bits remaining

Definition at line 54 of file bitreader.hpp.

◆ read_bits()

std::uint32_t ccsds124::BitReader::read_bits ( std::size_t  num_bits)
inlinenoexcept

Read multiple bits as unsigned value.

Reads up to 32 bits MSB-first and returns as uint32_t. Optimized with fast path for byte-aligned reads.

Parameters
num_bitsNumber of bits to read (1-32)
Returns
Unsigned value from bits read

Definition at line 78 of file bitreader.hpp.

References remaining().

◆ remaining()

std::size_t ccsds124::BitReader::remaining ( ) const
inlinenoexcept

Get remaining bits.

Returns
Number of bits remaining to read

Definition at line 139 of file bitreader.hpp.

Referenced by ccsds124::decompress(), and read_bits().


The documentation for this class was generated from the following file: