LibBeamApi  1.3.0
Public Member Functions | Private Attributes | List of all members
BRefData Class Reference

#include <BRefData.h>

Public Member Functions

 BRefData ()
 
 BRefData (int len)
 
 BRefData (const BRefData &refData)
 
 ~BRefData ()
 
BRefDatacopy ()
 Create a copy of this reference for writing, if necessary. More...
 
BRefDataaddRef ()
 Increment the reference counter. More...
 
int deleteRef ()
 Decrement the reference counter. More...
 
char * data ()
 Return the raw data pointer. More...
 
int len ()
 Return the length in bytes. More...
 
BRefDataoperator= (const BRefData &refData)
 
void setLen (int len)
 Set the length in bytes. Note should only be used if orefCount = 1. More...
 

Private Attributes

BAtomicCount orefCount
 The reference count, how many users. More...
 
int olen
 The actual length of data in oData. More...
 
void * odata
 Pointer to the data. More...
 

Detailed Description

Referenced data storage. This is Thread safe to a degree. The reference counting is protected. However, setLen() is not and should be protected at a higher level.

Constructor & Destructor Documentation

BRefData::BRefData ( )
BRefData::BRefData ( int  len)
BRefData::BRefData ( const BRefData refData)
BRefData::~BRefData ( )

Member Function Documentation

BRefData * BRefData::addRef ( )

Increment the reference counter.

BRefData * BRefData::copy ( )

Create a copy of this reference for writing, if necessary.

char* BRefData::data ( )
inline

Return the raw data pointer.

int BRefData::deleteRef ( )

Decrement the reference counter.

int BRefData::len ( )
inline

Return the length in bytes.

BRefData & BRefData::operator= ( const BRefData refData)
void BRefData::setLen ( int  len)

Set the length in bytes. Note should only be used if orefCount = 1.

Member Data Documentation

void* BRefData::odata
private

Pointer to the data.

int BRefData::olen
private

The actual length of data in oData.

BAtomicCount BRefData::orefCount
private

The reference count, how many users.


The documentation for this class was generated from the following files: