MemoryBlock< P_type > Class Template Reference

#include <memblock.h>

Inheritance diagram for MemoryBlock< P_type >:

Inheritance graph
[legend]
List of all members.

template<typename P_type>
class MemoryBlock< P_type >


Public Types

typedef P_type T_type

Protected Member Functions

 MemoryBlock ()
 MemoryBlock (size_t items)
 MemoryBlock (size_t length, T_type *data)
virtual ~MemoryBlock ()
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_typedataBlockAddress_
volatile int references_
size_t length_

Friends

class MemoryBlockReference< P_type >

Member Typedef Documentation

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


Constructor & Destructor Documentation

template<typename P_type>
MemoryBlock< P_type >::MemoryBlock (  )  [inline, protected]

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

template<typename P_type>
MemoryBlock< P_type >::MemoryBlock ( size_t  length,
T_type data 
) [inline, protected]

template<typename P_type>
virtual MemoryBlock< P_type >::~MemoryBlock (  )  [inline, protected, virtual]

template<typename P_type>
MemoryBlock< P_type >::MemoryBlock ( const MemoryBlock< T_type > &   )  [inline, private]


Member Function Documentation

template<typename P_type>
void MemoryBlock< P_type >::addReference (  )  [inline, protected]

template<typename P_type>
T_type* restrict MemoryBlock< P_type >::data (  )  [inline, protected]

template<typename P_type>
const T_type* restrict MemoryBlock< P_type >::data (  )  const [inline, protected]

template<typename P_type>
T_type*& MemoryBlock< P_type >::dataBlockAddress (  )  [inline, protected]

template<typename P_type>
size_t MemoryBlock< P_type >::length (  )  const [inline, protected]

template<typename P_type>
int MemoryBlock< P_type >::removeReference (  )  [inline, protected]

template<typename P_type>
int MemoryBlock< P_type >::references (  )  const [inline, protected]

template<typename P_type>
void MemoryBlock< P_type >::allocate ( size_t  length  )  [inline, protected]

template<typename P_type>
void MemoryBlock< P_type >::deallocate (  )  [protected]

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


Friends And Related Function Documentation

template<typename P_type>
friend class MemoryBlockReference< P_type > [friend]


Member Data Documentation

template<typename P_type>
T_type* restrict MemoryBlock< P_type >::data_ [private]

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

template<typename P_type>
volatile int MemoryBlock< P_type >::references_ [private]

template<typename P_type>
size_t MemoryBlock< P_type >::length_ [private]


The documentation for this class was generated from the following file:
Generated on Wed Oct 17 16:28:05 2007 for blitz by  doxygen 1.5.2