RPNX::Compress
Self-contained C++20 compression and ZIP library
 
Loading...
Searching...
No Matches
rpnx::compression::bzip2_codec::iterator_bit_writer< output_iterator > Class Template Reference

MSB-first bit writer backed by an STL output iterator. More...

#include <bzip2.hpp>

Public Member Functions

 iterator_bit_writer (output_iterator output)
 Constructs a writer owning an output iterator.
 
void write_bits (std::uint64_t value, std::uint8_t count)
 Appends a big-endian bit field.
 
output_iterator finish ()
 Pads the final byte with zeros and releases the output iterator.
 

Detailed Description

template<typename output_iterator>
class rpnx::compression::bzip2_codec::iterator_bit_writer< output_iterator >

MSB-first bit writer backed by an STL output iterator.

Template Parameters
output_iteratorDestination accepting byte assignments.

Definition at line 706 of file bzip2.hpp.

Constructor & Destructor Documentation

◆ iterator_bit_writer()

template<typename output_iterator>
rpnx::compression::bzip2_codec::iterator_bit_writer< output_iterator >::iterator_bit_writer ( output_iterator output)
inlineexplicit

Constructs a writer owning an output iterator.

Parameters
outputDestination iterator.

Definition at line 713 of file bzip2.hpp.

Member Function Documentation

◆ finish()

template<typename output_iterator>
output_iterator rpnx::compression::bzip2_codec::iterator_bit_writer< output_iterator >::finish ( )
inlinenodiscard

Pads the final byte with zeros and releases the output iterator.

Returns
Destination iterator advanced past all emitted bytes.

Definition at line 746 of file bzip2.hpp.

References rpnx::compression::implementation::write_byte().

Referenced by rpnx::compression::bzip2_codec::compress().

◆ write_bits()

template<typename output_iterator>
void rpnx::compression::bzip2_codec::iterator_bit_writer< output_iterator >::write_bits ( std::uint64_t value,
std::uint8_t count )
inline

Appends a big-endian bit field.

Parameters
valueValue whose low count bits are emitted most significant first.
countNumber of bits to emit, from zero through 64.
Exceptions
compression_errorIf count exceeds 64.

Definition at line 723 of file bzip2.hpp.

References rpnx::compression::bzip2, rpnx::compression::invalid_data, and rpnx::compression::implementation::write_byte().

Referenced by rpnx::compression::bzip2_codec::compress().


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