Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | Related Pages

BitParser Class Reference

#include <bitparser.h>

List of all members.


Detailed Description

Read bits from a stream A bitstream parser, capable of reading up to 0 to 32 bits from a stream in one method call.

Author:
Mattias Jansson (mattias@realityrift.com)

David Holm (david@realityrift.com)


Public Member Functions

 BitParser (uint8_t *pucBitstream=0)
virtual ~BitParser ()
virtual uint32_t ReadBits (int32_t iBits)
virtual void Align ()
virtual void Seek (int32_t iBits, int32_t iMode)
virtual void SetPointer (uint8_t *pucBitstream)
uint64_t GetByteOffset ()
uint64_t GetBitOffset ()

Protected Attributes

uint8_t * m_pucBase
uint8_t * m_pucBits
uint8_t m_ucBitOffset
uint64_t m_ulByteOffset


Constructor & Destructor Documentation

BitParser uint8_t *  pucBitstream = 0  )  [inline]
 

Initialize bitstream parser

Parameters:
pucBitstream Bit stream pointer

virtual ~BitParser  )  [virtual]
 


Member Function Documentation

virtual uint32_t ReadBits int32_t  iBits  )  [virtual]
 

Read bits from stream

Parameters:
iBits Number of bits to read
Returns:
Value read

virtual void Align  )  [virtual]
 

Align bits in stream to next even byte

virtual void Seek int32_t  iBits,
int32_t  iMode
[virtual]
 

Seek in stream

Parameters:
iBits Number of bits to seek from offset
iMode Seek mode, like normal fseek modes (SEEK_CUR, SEEK_END, SEEK_SET)

virtual void SetPointer uint8_t *  pucBitstream  )  [virtual]
 

Set new read pointer. Also resets offset to zero (start of stream)

Parameters:
pucBitstream Bitstream pointer

uint64_t GetByteOffset  )  [inline]
 

Returns:
Byte offset from start of stream

uint64_t GetBitOffset  )  [inline]
 

Returns:
Bit offset from start of stream


Member Data Documentation

uint8_t* m_pucBase [protected]
 

Base stream pointer

uint8_t* m_pucBits [protected]
 

Current stream pointer

uint8_t m_ucBitOffset [protected]
 

Bit offset

uint64_t m_ulByteOffset [protected]
 

Byte offset


The documentation for this class was generated from the following file:
Generated on Wed Jan 21 14:21:10 2004 for NeoEngine by doxygen 1.3.5