MemoryBlockReference< P_type > Class Template Reference

#include <memblock.h>

Inheritance diagram for MemoryBlockReference< P_type >:

Inheritance graph
[legend]
Collaboration diagram for MemoryBlockReference< P_type >:

Collaboration graph
[legend]

List of all members.

Public Types

typedef P_type T_type

Public Member Functions

 MemoryBlockReference ()
 MemoryBlockReference (MemoryBlockReference< T_type > &ref, size_t offset=0)
 MemoryBlockReference (size_t length, T_type *data, preexistingMemoryPolicy deletionPolicy)
 MemoryBlockReference (size_t items)
 ~MemoryBlockReference ()

Protected Member Functions

int numReferences () const
bool lockReferenceCount (bool lockingPolicy) const
void changeToNullBlock ()
void changeBlock (MemoryBlockReference< T_type > &ref, size_t offset=0)
void newBlock (size_t items)

Protected Attributes

T_type *restrict data_

Private Member Functions

void blockRemoveReference ()
void addReference () const
int removeReference () const
void operator= (const MemoryBlockReference< T_type > &)

Private Attributes

MemoryBlock< T_type > * block_

template<typename P_type>
class MemoryBlockReference< P_type >


Member Typedef Documentation

template<typename P_type>
typedef P_type MemoryBlockReference< P_type >::T_type


Constructor & Destructor Documentation

template<typename P_type>
MemoryBlockReference< P_type >::MemoryBlockReference (  )  [inline]

template<typename P_type>
MemoryBlockReference< P_type >::MemoryBlockReference ( MemoryBlockReference< T_type > &  ref,
size_t  offset = 0 
) [inline]

template<typename P_type>
MemoryBlockReference< P_type >::MemoryBlockReference ( size_t  length,
T_type data,
preexistingMemoryPolicy  deletionPolicy 
) [inline]

template<typename P_type>
MemoryBlockReference< P_type >::MemoryBlockReference ( size_t  items  )  [inline, explicit]

template<typename P_type>
MemoryBlockReference< P_type >::~MemoryBlockReference (  )  [inline]


Member Function Documentation

template<typename P_type>
void MemoryBlockReference< P_type >::addReference (  )  const [inline, private]

template<typename P_type>
void MemoryBlockReference< P_type >::blockRemoveReference (  )  [inline, private]

template<typename P_type>
void MemoryBlockReference< P_type >::changeBlock ( MemoryBlockReference< T_type > &  ref,
size_t  offset = 0 
) [inline, protected]

template<typename P_type>
void MemoryBlockReference< P_type >::changeToNullBlock (  )  [inline, protected]

template<typename P_type>
bool MemoryBlockReference< P_type >::lockReferenceCount ( bool  lockingPolicy  )  const [inline, protected]

template<typename P_type>
void MemoryBlockReference< P_type >::newBlock ( size_t  items  )  [inline, protected]

template<typename P_type>
int MemoryBlockReference< P_type >::numReferences (  )  const [inline, protected]

template<typename P_type>
void MemoryBlockReference< P_type >::operator= ( const MemoryBlockReference< T_type > &   )  [inline, private]

template<typename P_type>
int MemoryBlockReference< P_type >::removeReference (  )  const [inline, private]


Member Data Documentation

template<typename P_type>
MemoryBlock<T_type>* MemoryBlockReference< P_type >::block_ [private]

template<typename P_type>
T_type* restrict MemoryBlockReference< P_type >::data_ [protected]


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

Generated on Tue Jul 7 04:25:14 2009 for blitz by  doxygen 1.5.9