![]() |
ATLAS Offline Software
|
Pack a set of values bitwise into a stream. More...
#include <BitPacker.h>
Public Member Functions | |
BitPacker8 (STREAM &stream) | |
Constructor. More... | |
BitPacker8 (uint8_t nbits, STREAM &stream) | |
Constructor. More... | |
~BitPacker8 () | |
Destructor. More... | |
void | pack (uint32_t x) |
Pack one value to the stream. More... | |
Private Attributes | |
uint32_t | m_buf |
Buffer for the current words being packed. More... | |
uint8_t | m_nbuf |
Number of valid bits currently buffered. More... | |
STREAM & | m_stream |
The output stream. More... | |
Pack a set of values bitwise into a stream.
This helper can be used to pack a set of values into 32-bit words and write them to a stream. This is a special case for 8-bit values.
STREAM
should support output (operator<<) with uint32_t
(satisfied by a ROOT TBuffer).
Definition at line 90 of file BitPacker.h.
CxxUtils::BitPacker8< STREAM >::BitPacker8 | ( | STREAM & | stream | ) |
Constructor.
stream | Output stream object. |
CxxUtils::BitPacker8< STREAM >::BitPacker8 | ( | uint8_t | nbits, |
STREAM & | stream | ||
) |
Constructor.
nbits | Must be 8. |
stream | Output stream object. |
CxxUtils::BitPacker8< STREAM >::~BitPacker8 | ( | ) |
Destructor.
This may flush buffered data to the output stream.
void CxxUtils::BitPacker8< STREAM >::pack | ( | uint32_t | x | ) |
Pack one value to the stream.
x | The value to pack. The upper bits should all be clear. |
|
private |
Buffer for the current words being packed.
Definition at line 126 of file BitPacker.h.
|
private |
Number of valid bits currently buffered.
Definition at line 129 of file BitPacker.h.
|
private |
The output stream.
Definition at line 132 of file BitPacker.h.