aja::OutputBuffer Class Reference

Output class used when is builded AJA document. Class allocate new memory blok, when is block full, then reallocate automaticly to This class have overriden operator << for better usage. More...

#include <OutputBuffer.h>

List of all members.

Public Member Functions

 OutputBuffer ()
 Construct Output Buffer. Construcotr allocate first unused buffer block. Buffer block have size defined in BUFBLOCK_SIZE.
virtual ~OutputBuffer ()
 Destruct output buffer.Before you destroy buffer and dont use getBuffer() pointer, is neccessary call erase() function.
void * getBuffer ()
 Function return pointer to buffer.
unsigned int getBufferSize ()
 Function return buffer size.
void erase ()
 Erase buffer's actual content.
bool pushBack (const void *data, unsigned int size)
 Function add into buffer data at end.

Protected Member Functions

bool resize (unsigned int new_size)
 Function resize buffer.

Protected Attributes

unsigned int mRealSize
 real allocated size of mBuffer
unsigned int mDataSize
 size of data in mBuffer
byte_tmBuffer
 pointer to buffer in memory

Friends

OutputBufferoperator<< (OutputBuffer &o, const basicHelper &data)
OutputBufferoperator<< (OutputBuffer &o, const byte_t data)
OutputBufferoperator<< (OutputBuffer &o, const char *data)
OutputBufferoperator<< (OutputBuffer &o, const dbyte_t data)
OutputBufferoperator<< (OutputBuffer &o, const number_t data)
OutputBufferoperator<< (OutputBuffer &o, const std::string data)
OutputBufferoperator<< (OutputBuffer &o, const OutputBuffer &i)


Detailed Description

Output class used when is builded AJA document. Class allocate new memory blok, when is block full, then reallocate automaticly to This class have overriden operator << for better usage.


Constructor & Destructor Documentation

aja::OutputBuffer::OutputBuffer  ) 
 

Construct Output Buffer. Construcotr allocate first unused buffer block. Buffer block have size defined in BUFBLOCK_SIZE.

aja::OutputBuffer::~OutputBuffer  )  [virtual]
 

Destruct output buffer.Before you destroy buffer and dont use getBuffer() pointer, is neccessary call erase() function.


Member Function Documentation

void aja::OutputBuffer::erase  ) 
 

Erase buffer's actual content.

void * aja::OutputBuffer::getBuffer  ) 
 

Function return pointer to buffer.

Returns:
pointer to buffer

unsigned int aja::OutputBuffer::getBufferSize  ) 
 

Function return buffer size.

Returns:
size of buffer in bytes

bool aja::OutputBuffer::pushBack const void *  data,
unsigned int  size
 

Function add into buffer data at end.

This function is for better usage called in overridden '<<' operators.

Parameters:
data pointer to data who are inserted
size size of inserted data
Returns:
true when insert is OK, false when error was occured

bool aja::OutputBuffer::resize unsigned int  new_size  )  [protected]
 

Function resize buffer.

This function is protected and is used by buffer when data is too big and need more space.Function reallocate biggest buffer.

Parameters:
new_size about this size is buffer biggest.
Returns:
true when resize is OK, false when error was occured


Friends And Related Function Documentation

OutputBuffer& operator<< OutputBuffer o,
const OutputBuffer i
[friend]
 

OutputBuffer& operator<< OutputBuffer o,
const std::string  data
[friend]
 

OutputBuffer& operator<< OutputBuffer o,
const number_t  data
[friend]
 

OutputBuffer& operator<< OutputBuffer o,
const dbyte_t  data
[friend]
 

OutputBuffer& operator<< OutputBuffer o,
const char *  data
[friend]
 

OutputBuffer& operator<< OutputBuffer o,
const byte_t  data
[friend]
 

OutputBuffer& operator<< OutputBuffer o,
const basicHelper data
[friend]
 


Member Data Documentation

byte_t* aja::OutputBuffer::mBuffer [protected]
 

pointer to buffer in memory

unsigned int aja::OutputBuffer::mDataSize [protected]
 

size of data in mBuffer

unsigned int aja::OutputBuffer::mRealSize [protected]
 

real allocated size of mBuffer


The documentation for this class was generated from the following files:
Generated on Sun Mar 4 00:30:37 2007 for LIBAJA by  doxygen 1.4.6