BitMagic-C++
|
Byte based writer for un-aligned bit streaming. More...
#include <encoding.h>
Public Member Functions | |
bit_out (TEncoder &dest) | |
~bit_out () | |
void | put_bit (unsigned value) |
issue single bit into encode bit-stream More... | |
void | put_bits (unsigned value, unsigned count) |
issue count bits out of value More... | |
void | put_zero_bit () |
issue 0 into output stream More... | |
void | put_zero_bits (unsigned count) |
issue specified number of 0s More... | |
void | gamma (unsigned value) |
Elias Gamma encode the specified value. More... | |
void | bic_encode_u16 (const bm::gap_word_t *arr, unsigned sz, bm::gap_word_t lo, bm::gap_word_t hi) |
Binary Interpolative array decode. More... | |
void | bic_encode_u16_rg (const bm::gap_word_t *arr, unsigned sz, bm::gap_word_t lo, bm::gap_word_t hi) |
Binary Interpolative encoding (array of 16-bit ints) More... | |
void | bic_encode_u16_cm (const bm::gap_word_t *arr, unsigned sz, bm::gap_word_t lo, bm::gap_word_t hi) |
Binary Interpolative encoding (array of 16-bit ints) cm - "center-minimal". More... | |
void | bic_encode_u32_cm (const bm::word_t *arr, unsigned sz, bm::word_t lo, bm::word_t hi) |
Binary Interpolative encoding (array of 32-bit ints) cm - "center-minimal". More... | |
void | flush () |
Flush the incomplete 32-bit accumulator word. More... | |
Byte based writer for un-aligned bit streaming.
Definition at line 165 of file encoding.h.
|
inline |
Definition at line 168 of file encoding.h.
|
inline |
Definition at line 172 of file encoding.h.
|
inline |
Binary Interpolative array decode.
Definition at line 190 of file encoding.h.
Referenced by bm::serializer< bvector_type >::bienc_gap_bit_block(), bm::serializer< bvector_type >::interpolated_arr_bit_block(), bm::serializer< bvector_type >::interpolated_encode_gap_block(), and bm::serializer< bvector_type >::interpolated_gap_array().
void bm::bit_out< TEncoder >::bic_encode_u16_cm | ( | const bm::gap_word_t * | arr, |
unsigned | sz, | ||
bm::gap_word_t | lo, | ||
bm::gap_word_t | hi | ||
) |
Binary Interpolative encoding (array of 16-bit ints) cm - "center-minimal".
Definition at line 1156 of file encoding.h.
References bm::bit_scan_reverse32(), and BM_ASSERT.
void bm::bit_out< TEncoder >::bic_encode_u16_rg | ( | const bm::gap_word_t * | arr, |
unsigned | sz, | ||
bm::gap_word_t | lo, | ||
bm::gap_word_t | hi | ||
) |
Binary Interpolative encoding (array of 16-bit ints)
Definition at line 1078 of file encoding.h.
References bm::bit_scan_reverse32(), and BM_ASSERT.
void bm::bit_out< TEncoder >::bic_encode_u32_cm | ( | const bm::word_t * | arr, |
unsigned | sz, | ||
bm::word_t | lo, | ||
bm::word_t | hi | ||
) |
Binary Interpolative encoding (array of 32-bit ints) cm - "center-minimal".
Definition at line 1112 of file encoding.h.
References bm::bit_scan_reverse32(), and BM_ASSERT.
|
inline |
Flush the incomplete 32-bit accumulator word.
Definition at line 213 of file encoding.h.
Referenced by bm::serializer< bvector_type >::bienc_gap_bit_block(), bm::serializer< bvector_type >::interpolated_arr_bit_block(), bm::serializer< bvector_type >::interpolated_encode_gap_block(), and bm::serializer< bvector_type >::interpolated_gap_array().
void bm::bit_out< TEncoder >::gamma | ( | unsigned | value | ) |
Elias Gamma encode the specified value.
Definition at line 1006 of file encoding.h.
References bm::bit_scan_reverse32(), and BM_ASSERT.
Referenced by bm::serializer< bvector_type >::gamma_gap_array(), and bm::serializer< bvector_type >::interpolated_gap_array().
void bm::bit_out< TEncoder >::put_bit | ( | unsigned | value | ) |
issue single bit into encode bit-stream
Definition at line 914 of file encoding.h.
References BM_ASSERT.
void bm::bit_out< TEncoder >::put_bits | ( | unsigned | value, |
unsigned | count | ||
) |
void bm::bit_out< TEncoder >::put_zero_bit | ( | ) |
issue 0 into output stream
Definition at line 967 of file encoding.h.
void bm::bit_out< TEncoder >::put_zero_bits | ( | unsigned | count | ) |
issue specified number of 0s
Definition at line 976 of file encoding.h.