PoDoFo::PdfRefCountedBuffer Class Reference

#include <PdfRefCountedBuffer.h>

List of all members.

Public Member Functions

 PdfRefCountedBuffer ()
 PdfRefCountedBuffer (char *pBuffer, long lSize)
 PdfRefCountedBuffer (long lSize)
 PdfRefCountedBuffer (const PdfRefCountedBuffer &rhs)
 ~PdfRefCountedBuffer ()
char * GetBuffer () const
long GetSize () const
void Resize (size_t lSize)
const PdfRefCountedBufferoperator= (const PdfRefCountedBuffer &rhs)
void SetTakePossesion (bool bTakePossession)
bool TakePossesion () const
bool operator== (const PdfRefCountedBuffer &rhs) const
bool operator< (const PdfRefCountedBuffer &rhs) const
bool operator> (const PdfRefCountedBuffer &rhs) const


Detailed Description

A reference counted buffer object which is deleted as soon as the last object having access to it is delteted.

The attached memory object can be resized.


Constructor & Destructor Documentation

PoDoFo::PdfRefCountedBuffer::PdfRefCountedBuffer (  )  [inline]

Created an empty reference counted buffer The buffer will be initialize to NULL

PoDoFo::PdfRefCountedBuffer::PdfRefCountedBuffer ( char *  pBuffer,
long  lSize 
)

Created an reference counted buffer and use an exiting buffer The buffer will be owned by this object.

Parameters:
pBuffer a pointer to an allocated buffer
lSize size of the allocated buffer
See also:
SetTakePossesion

PoDoFo::PdfRefCountedBuffer::PdfRefCountedBuffer ( long  lSize  )  [inline]

Create a new PdfRefCountedBuffer.

Parameters:
lSize buffer size

PoDoFo::PdfRefCountedBuffer::PdfRefCountedBuffer ( const PdfRefCountedBuffer rhs  )  [inline]

Copy an existing PdfRefCountedBuffer and increase the reference count

Parameters:
rhs the PdfRefCountedBuffer to copy

PoDoFo::PdfRefCountedBuffer::~PdfRefCountedBuffer (  )  [inline]

Decrease the reference count and delete the buffer if this is the last owner


Member Function Documentation

char * PoDoFo::PdfRefCountedBuffer::GetBuffer (  )  const [inline]

Append to the current buffers contents. If the buffer is referenced by another PdfRefCountedBuffer this object detaches from this buffer and allocates an own buffer. Otherwise the internal buffer is used and resized if necessary.

Parameters:
pszString a buffer
lLen length of the buffer Get access to the buffer
Returns:
the buffer

long PoDoFo::PdfRefCountedBuffer::GetSize (  )  const [inline]

Return the buffer size.

Returns:
the buffer size

bool PoDoFo::PdfRefCountedBuffer::operator< ( const PdfRefCountedBuffer rhs  )  const

Compare to buffers.

Parameters:
rhs compare to this buffer
Returns:
true if this buffer is lexically littler than rhs

const PdfRefCountedBuffer & PoDoFo::PdfRefCountedBuffer::operator= ( const PdfRefCountedBuffer rhs  ) 

Copy an existing PdfRefCountedBuffer and increase the reference count

Parameters:
rhs the PdfRefCountedBuffer to copy
Returns:
the copied object

bool PoDoFo::PdfRefCountedBuffer::operator== ( const PdfRefCountedBuffer rhs  )  const

Compare to buffers.

Parameters:
rhs compare to this buffer
Returns:
true if both buffers contain the same contents

bool PoDoFo::PdfRefCountedBuffer::operator> ( const PdfRefCountedBuffer rhs  )  const

Compare to buffers.

Parameters:
rhs compare to this buffer
Returns:
true if this buffer is lexically greater than rhs

void PoDoFo::PdfRefCountedBuffer::Resize ( size_t  lSize  )  [inline]

Resize the buffer to hold at least lSize bytes.

Parameters:
lSize the size of bytes the buffer can at least hold
If the buffer is larger no operation is performed.

void PoDoFo::PdfRefCountedBuffer::SetTakePossesion ( bool  bTakePossession  )  [inline]

If the PdfRefCountedBuffer has no possesion on its buffer, it won't delete the buffer. By default the buffer is owned and deleted by the PdfRefCountedBuffer object.

Parameters:
bTakePossession if false the buffer will not be deleted.

bool PoDoFo::PdfRefCountedBuffer::TakePossesion (  )  const [inline]

Returns:
true if the buffer is owned by the PdfRefCountedBuffer and is deleted along with it.


Generated on Mon Aug 17 13:47:26 2009 for PoDoFo by  doxygen 1.5.9