#include <memblock.h>
Public Types | |
typedef P_type | T_type |
Protected Member Functions | |
MemoryBlock () | |
MemoryBlock (size_t items) | |
MemoryBlock (size_t length, T_type *data) | |
virtual | ~MemoryBlock () |
bool | doLock (bool lockingPolicy) |
void | addReference () |
T_type *restrict | data () |
const T_type *restrict | data () const |
T_type *& | dataBlockAddress () |
size_t | length () const |
int | removeReference () |
int | references () const |
void | allocate (size_t length) |
void | deallocate () |
Private Member Functions | |
MemoryBlock (const MemoryBlock< T_type > &) | |
void | operator= (const MemoryBlock< T_type > &) |
Private Attributes | |
T_type *restrict | data_ |
T_type * | dataBlockAddress_ |
volatile int | references_ |
bool | mutexLocking_ |
size_t | length_ |
Friends | |
class | MemoryBlockReference< P_type > |
typedef P_type MemoryBlock< P_type >::T_type |
MemoryBlock< P_type >::MemoryBlock | ( | ) | [inline, protected] |
MemoryBlock< P_type >::MemoryBlock | ( | size_t | items | ) | [inline, explicit, protected] |
MemoryBlock< P_type >::MemoryBlock | ( | size_t | length, | |
T_type * | data | |||
) | [inline, protected] |
virtual MemoryBlock< P_type >::~MemoryBlock | ( | ) | [inline, protected, virtual] |
MemoryBlock< P_type >::MemoryBlock | ( | const MemoryBlock< T_type > & | ) | [inline, private] |
void MemoryBlock< P_type >::addReference | ( | ) | [inline, protected] |
void MemoryBlock< P_type >::allocate | ( | size_t | length | ) | [inline, protected] |
Referenced by MemoryBlock< T_type >::MemoryBlock().
const T_type* restrict MemoryBlock< P_type >::data | ( | ) | const [inline, protected] |
T_type* restrict MemoryBlock< P_type >::data | ( | ) | [inline, protected] |
T_type*& MemoryBlock< P_type >::dataBlockAddress | ( | ) | [inline, protected] |
void MemoryBlock< P_type >::deallocate | ( | ) | [protected] |
Referenced by MemoryBlock< T_type >::~MemoryBlock().
bool MemoryBlock< P_type >::doLock | ( | bool | lockingPolicy | ) | [inline, protected] |
Referenced by MemoryBlockReference< int >::lockReferenceCount().
size_t MemoryBlock< P_type >::length | ( | ) | const [inline, protected] |
void MemoryBlock< P_type >::operator= | ( | const MemoryBlock< T_type > & | ) | [inline, private] |
int MemoryBlock< P_type >::references | ( | ) | const [inline, protected] |
Referenced by MemoryBlockReference< int >::numReferences().
int MemoryBlock< P_type >::removeReference | ( | ) | [inline, protected] |
friend class MemoryBlockReference< P_type > [friend] |
T_type* restrict MemoryBlock< P_type >::data_ [private] |
Referenced by MemoryBlock< T_type >::data(), and MemoryBlock< T_type >::MemoryBlock().
T_type* MemoryBlock< P_type >::dataBlockAddress_ [private] |
size_t MemoryBlock< P_type >::length_ [private] |
bool MemoryBlock< P_type >::mutexLocking_ [private] |
volatile int MemoryBlock< P_type >::references_ [private] |