bm::encoder Class Reference

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.

Detailed Description

Memory encoding.

Class for encoding data into memory. Properly handles aligment issues with integer data types.

Definition at line 45 of file encoding.h.


Member Typedef Documentation

typedef unsigned char* bm::encoder::position_type

Definition at line 48 of file encoding.h.


Constructor & Destructor Documentation

bm::encoder::encoder ( unsigned char *  buf,
unsigned  size 
) [inline]

Construction.

Parameters:
buf - memory buffer pointer.
size - size of the buffer

Definition at line 509 of file encoding.h.


Member Function Documentation

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  ) 
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.

Parameters:
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  ) 
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().


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

Generated on Sun Apr 25 09:37:45 2010 for BitMagic by  doxygen 1.6.1