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

LSB-first bit writer that emits bytes through an STL output iterator. More...

#include <deflate.hpp>

Public Member Functions

 iterator_bit_writer (output_iterator output)
 Constructs a writer owning an output iterator.
 
void write_bits (std::uint32_t value, std::uint8_t bit_count)
 Appends the selected low bits of a value.
 
output_iterator finish ()
 Flushes zero byte padding and releases the output iterator.
 

Detailed Description

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

LSB-first bit writer that emits bytes through an STL output iterator.

Template Parameters
output_iteratorDestination accepting byte assignments.

Definition at line 203 of file deflate.hpp.

Constructor & Destructor Documentation

◆ iterator_bit_writer()

template<typename output_iterator>
rpnx::compression::deflate_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 210 of file deflate.hpp.

Member Function Documentation

◆ finish()

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

Flushes zero byte padding and releases the output iterator.

Returns
Destination iterator advanced past all emitted bytes.

Definition at line 235 of file deflate.hpp.

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

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

◆ write_bits()

template<typename output_iterator>
void rpnx::compression::deflate_codec::iterator_bit_writer< output_iterator >::write_bits ( std::uint32_t value,
std::uint8_t bit_count )
inline

Appends the selected low bits of a value.

Parameters
valueValue containing the field.
bit_countNumber of low bits to emit least significant first.

Definition at line 219 of file deflate.hpp.

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

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


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