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

AutoEnlargeBuffer Class Reference

#include <AutoEnlargeBuffer.h>

List of all members.

Public Member Functions

 AutoEnlargeBuffer (int size=128 *1024)
 AutoEnlargeBuffer (int size=128 *1024)
void copy (void *src, int size)
void copy (void *src, int size)
void * data ()
void * data ()
int size ()
int size ()
 ~AutoEnlargeBuffer ()
 ~AutoEnlargeBuffer ()

Private Attributes

void * m_buffer
void * m_buffer
int m_size
int m_SIZE


Constructor & Destructor Documentation

AutoEnlargeBuffer::AutoEnlargeBuffer int  size = 128 *1024  )  [inline]
 

00029    : m_SIZE( size ),
00030      m_size( 0 )
00031 {
00032    m_buffer = malloc(size);
00033 }

AutoEnlargeBuffer::~AutoEnlargeBuffer  )  [inline]
 

00036 {
00037    free( m_buffer );
00038 }

AutoEnlargeBuffer::AutoEnlargeBuffer int  size = 128 *1024  )  [inline]
 

AutoEnlargeBuffer::~AutoEnlargeBuffer  )  [inline]
 


Member Function Documentation

void AutoEnlargeBuffer::copy void *  src,
int  size
[inline]
 

void AutoEnlargeBuffer::copy void *  src,
int  size
[inline]
 

00041 {
00042    if ( size > m_SIZE ) {
00043       do {
00044          m_SIZE *= 2;
00045       }
00046       while ( size > m_SIZE );
00047 
00048       free( m_buffer );
00049       m_buffer = malloc(m_SIZE);
00050    }
00051 
00052    m_size = size;
00053    memcpy(m_buffer, src, size);
00054 }

void* AutoEnlargeBuffer::data  )  [inline]
 

00018 { return m_buffer; }

void* AutoEnlargeBuffer::data  )  [inline]
 

00018 { return m_buffer; }

int AutoEnlargeBuffer::size void   )  [inline]
 

00017 { return m_size; }

int AutoEnlargeBuffer::size  )  [inline]
 

00017 { return m_size; }


Member Data Documentation

void* AutoEnlargeBuffer::m_buffer [private]
 

void* AutoEnlargeBuffer::m_buffer [private]
 

int AutoEnlargeBuffer::m_size [private]
 

int AutoEnlargeBuffer::m_SIZE [private]
 


The documentation for this class was generated from the following files:
Generated on Wed Feb 2 15:51:48 2011 for BOSS6.5.5 by  doxygen 1.3.9.1