PoDoFo  0.9.4
Public Member Functions | List of all members
PoDoFo::PdfRefCountedBuffer Class Reference

#include <PdfRefCountedBuffer.h>

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.