Memory encoding. More...
#include <encoding.h>
Public Types | |
| typedef unsigned char * | position_type |
Public Member Functions | |
| encoder (unsigned char *buf, unsigned size) | |
| Construction. | |
| void | put_8 (unsigned char c) |
| Puts one character into the encoding buffer. | |
| void | put_16 (bm::short_t s) |
| Puts short word (16 bits) into the encoding buffer. | |
| void | put_16 (const bm::short_t *s, unsigned count) |
| Method puts array of short words (16 bits) into the encoding buffer. | |
| void | put_32 (bm::word_t w) |
| Puts 32 bits word into encoding buffer. | |
| void | put_32 (const bm::word_t *w, unsigned count) |
| Encodes array of 32-bit words. | |
| void | put_prefixed_array_32 (unsigned char c, const bm::word_t *w, unsigned count) |
| void | put_prefixed_array_16 (unsigned char c, const bm::short_t *s, unsigned count, bool encode_count) |
| unsigned | size () const |
| Returns size of the current encoding stream. | |
| unsigned char * | get_pos () const |
| Get current memory stream position. | |
| void | set_pos (unsigned char *buf_pos) |
| Set current memory stream position. | |
Memory encoding.
Class for encoding data into memory. Properly handles aligment issues with integer data types.
Definition at line 45 of file encoding.h.
| typedef unsigned char* bm::encoder::position_type |
Definition at line 48 of file encoding.h.
| bm::encoder::encoder | ( | unsigned char * | buf, | |
| unsigned | size | |||
| ) | [inline] |
Construction.
| buf | - memory buffer pointer. | |
| size | - size of the buffer |
Definition at line 509 of file encoding.h.
| encoder::position_type bm::encoder::get_pos | ( | ) | const [inline] |
Get current memory stream position.
Definition at line 611 of file encoding.h.
Referenced by bm::serializer< BV >::gamma_gap_array(), and bm::serializer< BV >::gamma_gap_block().
| void bm::encoder::put_16 | ( | const bm::short_t * | s, | |
| unsigned | count | |||
| ) | [inline] |
Method puts array of short words (16 bits) into the encoding buffer.
Definition at line 569 of file encoding.h.
| BMFORCEINLINE void bm::encoder::put_16 | ( | bm::short_t | s | ) |
Puts short word (16 bits) into the encoding buffer.
| s | - short word to encode |
Definition at line 554 of file encoding.h.
Referenced by bm::serializer< BV >::encode_bit_interval(), bm::serializer< BV >::encode_gap_block(), bm::serializer< BV >::encode_header(), bm::serializer< BV >::gamma_gap_block(), put_prefixed_array_16(), and bm::serializer< BV >::serialize().
| void bm::encoder::put_32 | ( | const bm::word_t * | w, | |
| unsigned | count | |||
| ) | [inline] |
Encodes array of 32-bit words.
Definition at line 647 of file encoding.h.
| BMFORCEINLINE void bm::encoder::put_32 | ( | bm::word_t | w | ) |
Puts 32 bits word into encoding buffer.
| w | - word to encode. |
Definition at line 630 of file encoding.h.
Referenced by bm::serializer< BV >::encode_bit_interval(), bm::serializer< BV >::encode_header(), and put_prefixed_array_32().
| BMFORCEINLINE void bm::encoder::put_8 | ( | unsigned char | c | ) |
Puts one character into the encoding buffer.
| c | - character to encode |
Definition at line 544 of file encoding.h.
Referenced by bm::serializer< BV >::encode_bit_interval(), bm::serializer< BV >::encode_gap_block(), bm::serializer< BV >::encode_header(), bm::serializer< BV >::gamma_gap_array(), bm::serializer< BV >::gamma_gap_block(), put_prefixed_array_16(), put_prefixed_array_32(), and bm::serializer< BV >::serialize().
| void bm::encoder::put_prefixed_array_16 | ( | unsigned char | c, | |
| const bm::short_t * | s, | |||
| unsigned | count, | |||
| bool | encode_count | |||
| ) | [inline] |
Encode 8-bit prefix + an array
Definition at line 527 of file encoding.h.
References put_16(), and put_8().
Referenced by bm::serializer< BV >::gamma_gap_array().
| void bm::encoder::put_prefixed_array_32 | ( | unsigned char | c, | |
| const bm::word_t * | w, | |||
| unsigned | count | |||
| ) | [inline] |
Encode 8-bit prefix + an array
Definition at line 516 of file encoding.h.
References put_32(), and put_8().
Referenced by bm::serializer< BV >::serialize().
| void bm::encoder::set_pos | ( | unsigned char * | buf_pos | ) | [inline] |
Set current memory stream position.
Definition at line 619 of file encoding.h.
Referenced by bm::serializer< BV >::gamma_gap_array(), and bm::serializer< BV >::gamma_gap_block().
| unsigned bm::encoder::size | ( | ) | const [inline] |
Returns size of the current encoding stream.
Definition at line 603 of file encoding.h.
Referenced by bm::serializer< BV >::serialize().
1.6.1