blitz Version 0.9
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 >

template<typename P_type>
class MemoryBlock< 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>
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>
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:
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines