PoDoFo 0.9.1
Public Member Functions
PoDoFo::PdfRefCountedBuffer Class Reference

#include <PdfRefCountedBuffer.h>

List of all members.

Public Member Functions

 PdfRefCountedBuffer ()
 PdfRefCountedBuffer (char *pBuffer, size_t lSize)
 PdfRefCountedBuffer (size_t lSize)
 PdfRefCountedBuffer (const PdfRefCountedBuffer &rhs)
 ~PdfRefCountedBuffer ()
char * GetBuffer () const
size_t 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,
size_t  lSize 
)

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

Parameters:
pBuffera pointer to an allocated buffer
lSizesize of the allocated buffer
See also:
SetTakePossesion
PoDoFo::PdfRefCountedBuffer::PdfRefCountedBuffer ( size_t  lSize) [inline]

Create a new PdfRefCountedBuffer.

Parameters:
lSizebuffer size
PoDoFo::PdfRefCountedBuffer::PdfRefCountedBuffer ( const PdfRefCountedBuffer rhs) [inline]

Copy an existing PdfRefCountedBuffer and increase the reference count

Parameters:
rhsthe 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]

Get access to the buffer

Returns:
the buffer
size_t 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:
rhscompare 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:
rhsthe PdfRefCountedBuffer to copy
Returns:
the copied object
bool PoDoFo::PdfRefCountedBuffer::operator== ( const PdfRefCountedBuffer rhs) const

Compare to buffers.

Parameters:
rhscompare to this buffer
Returns:
true if both buffers contain the same contents
bool PoDoFo::PdfRefCountedBuffer::operator> ( const PdfRefCountedBuffer rhs) const

Compare to buffers.

Parameters:
rhscompare 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:
lSizethe 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:
bTakePossessionif 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.