BitMagic-C++
Public Member Functions
bm::decoder Class Reference

Class for decoding data from memory buffer. More...

#include <encoding.h>

Inheritance diagram for bm::decoder:
Inheritance graph
[legend]
Collaboration diagram for bm::decoder:
Collaboration graph
[legend]

Public Member Functions

 decoder (const unsigned char *buf)
 Construction. More...
 
bm::short_t get_16 ()
 Reads 16-bit word from the decoding buffer. More...
 
bm::word_t get_32 ()
 Reads 32-bit word from the decoding buffer. More...
 
bm::id64_t get_64 ()
 Reads 64-bit word from the decoding buffer. More...
 
void get_32 (bm::word_t *w, unsigned count)
 Reads block of 32-bit words from the decoding buffer. More...
 
bool get_32_OR (bm::word_t *w, unsigned count)
 Reads block of 32-bit words from the decoding buffer and ORs to the destination. More...
 
void get_32_AND (bm::word_t *w, unsigned count)
 Reads block of 32-bit words from the decoding buffer and ANDs to the destination. More...
 
void get_16 (bm::short_t *s, unsigned count)
 Reads block of 32-bit words from the decoding buffer. More...
 
- Public Member Functions inherited from bm::decoder_base
 decoder_base (const unsigned char *buf)
 
unsigned char get_8 ()
 Reads character from the decoding buffer. More...
 
size_t size () const
 Returns size of the current decoding stream. More...
 
void seek (int delta)
 change current position More...
 
void memcpy (unsigned char *dst, size_t count)
 read bytes from the decode buffer More...
 
const unsigned char * get_pos () const
 Return current buffer pointer. More...
 

Additional Inherited Members

- Protected Attributes inherited from bm::decoder_base
const unsigned char * buf_
 
const unsigned char * start_
 

Detailed Description

Class for decoding data from memory buffer.

Properly handles aligment issues with integer data types.

Definition at line 112 of file encoding.h.

Constructor & Destructor Documentation

◆ decoder()

bm::decoder::decoder ( const unsigned char *  buf)
inline

Construction.

Parameters
buf- pointer to the decoding memory.

Definition at line 585 of file encoding.h.

Member Function Documentation

◆ get_16() [1/2]

BMFORCEINLINE bm::short_t bm::decoder::get_16 ( )

◆ get_16() [2/2]

void bm::decoder::get_16 ( bm::short_t s,
unsigned  count 
)
inline

Reads block of 32-bit words from the decoding buffer.

Parameters
s- pointer on memory block to read into.
count- size of memory block in words.

Definition at line 765 of file encoding.h.

References bm::decoder_base::buf_, bm::decoder_base::memcpy(), and bm::decoder_base::seek().

◆ get_32() [1/2]

BMFORCEINLINE bm::word_t bm::decoder::get_32 ( )

◆ get_32() [2/2]

void bm::decoder::get_32 ( bm::word_t w,
unsigned  count 
)
inline

Reads block of 32-bit words from the decoding buffer.

Parameters
w- pointer on memory block to read into.
count- size of memory block in words.

Definition at line 654 of file encoding.h.

References bm::decoder_base::buf_, bm::decoder_base::memcpy(), and bm::decoder_base::seek().

◆ get_32_AND()

void bm::decoder::get_32_AND ( bm::word_t w,
unsigned  count 
)
inline

Reads block of 32-bit words from the decoding buffer and ANDs to the destination.

Parameters
w- pointer on memory block to read into
count- should match bm::set_block_size

Definition at line 727 of file encoding.h.

References bm::decoder_base::buf_, get_32(), bm::decoder_base::seek(), and bm::sse2_and_arr_unal().

◆ get_32_OR()

bool bm::decoder::get_32_OR ( bm::word_t w,
unsigned  count 
)
inline

Reads block of 32-bit words from the decoding buffer and ORs to the destination.

Parameters
w- pointer on memory block to read into
count- should match bm::set_block_size

Definition at line 686 of file encoding.h.

References bm::decoder_base::buf_, get_32(), bm::decoder_base::seek(), and bm::sse2_or_arr_unal().

◆ get_64()

bm::id64_t bm::decoder::get_64 ( )
inline

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