MemoryBlock< P_type > Class Template Reference

#include <memblock.h>

Inheritance diagram for MemoryBlock< P_type >:

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

Collaboration 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>
void MemoryBlock< P_type >::allocate size_t  length  )  [inline, protected]
 

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

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

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

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

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

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

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

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


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>
size_t MemoryBlock< P_type >::length_ [private]
 

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


The documentation for this class was generated from the following file:
Generated on Mon Oct 22 10:05:14 2007 for blitz by  doxygen 1.3.9.1