blitz  Version 0.9
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Types | Protected Member Functions | Private Member Functions | Private Attributes | Friends
MemoryBlock< P_type > Class Template Reference

#include <memblock.h>

Inheritance diagram for MemoryBlock< P_type >:
NullMemoryBlock< P_type > UnownedMemoryBlock< P_type >

List of all members.

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 ( )
inlineprotected
template<typename P_type>
MemoryBlock< P_type >::MemoryBlock ( size_t  items)
inlineexplicitprotected
template<typename P_type>
MemoryBlock< P_type >::MemoryBlock ( size_t  length,
T_type data 
)
inlineprotected
template<typename P_type>
virtual MemoryBlock< P_type >::~MemoryBlock ( )
inlineprotectedvirtual
template<typename P_type>
MemoryBlock< P_type >::MemoryBlock ( const MemoryBlock< T_type > &  )
inlineprivate

Member Function Documentation

template<typename P_type>
void MemoryBlock< P_type >::addReference ( )
inlineprotected
template<typename P_type>
void MemoryBlock< P_type >::allocate ( size_t  length)
inlineprotected
template<typename P_type>
T_type* restrict MemoryBlock< P_type >::data ( )
inlineprotected
template<typename P_type>
const T_type* restrict MemoryBlock< P_type >::data ( ) const
inlineprotected
template<typename P_type>
T_type*& MemoryBlock< P_type >::dataBlockAddress ( )
inlineprotected
template<typename P_type>
void MemoryBlock< P_type >::deallocate ( )
protected
template<typename P_type>
size_t MemoryBlock< P_type >::length ( ) const
inlineprotected
template<typename P_type>
void MemoryBlock< P_type >::operator= ( const MemoryBlock< T_type > &  )
inlineprivate
template<typename P_type>
int MemoryBlock< P_type >::references ( ) const
inlineprotected
template<typename P_type>
int MemoryBlock< P_type >::removeReference ( )
inlineprotected

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: