bm::encoder Class Reference

Search Toolkit Book for bm::encoder

#include <encoding.h>

List of all members.


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.

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.

Private Attributes

unsigned char * buf_
unsigned char * start_
unsigned int size_


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.

References buf_.

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.

References buf, and buf_.

void bm::encoder::put_16 bm::short_t  s  )  [inline]
 

Puts short word (16 bits) into the encoding buffer.

Parameters:
s - short word to encode

Definition at line 554 of file encoding.h.

References buf_.

Referenced by bm::serializer< BV >::encode_gap_block(), bm::serializer< BV >::encode_header(), bm::serializer< BV >::gamma_gap_block(), and put_prefixed_array_16().

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.

References buf, and buf_.

void bm::encoder::put_32 bm::word_t  w  )  [inline]
 

Puts 32 bits word into encoding buffer.

Parameters:
w - word to encode.

Definition at line 630 of file encoding.h.

References buf_.

Referenced by bm::serializer< BV >::encode_header(), and put_prefixed_array_32().

void bm::encoder::put_8 unsigned char  c  )  [inline]
 

Puts one character into the encoding buffer.

Parameters:
c - character to encode

Definition at line 544 of file encoding.h.

References buf_.

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

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

void bm::encoder::set_pos unsigned char *  buf_pos  )  [inline]
 

Set current memory stream position.

Definition at line 619 of file encoding.h.

References buf_.

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.

References buf_, and start_.

Referenced by bm::serializer< BV >::serialize().


Member Data Documentation

unsigned char* bm::encoder::buf_ [private]
 

Definition at line 65 of file encoding.h.

Referenced by get_pos(), put_16(), put_32(), put_8(), set_pos(), and size().

unsigned int bm::encoder::size_ [private]
 

Definition at line 67 of file encoding.h.

unsigned char* bm::encoder::start_ [private]
 

Definition at line 66 of file encoding.h.

Referenced by size().


The documentation for this class was generated from the following file:
Generated on Mon Dec 7 16:07:09 2009 for NCBI C++ ToolKit by  doxygen 1.4.6
Modified on Mon Dec 07 16:24:38 2009 by modify_doxy.py rev. 173732