blitz  Version 1.0.2
blitz::MemoryBlockReference< P_type > Class Template Reference

#include <memblock.h>

Inheritance diagram for blitz::MemoryBlockReference< P_type >:
Inheritance graph
Collaboration diagram for blitz::MemoryBlockReference< P_type >:
Collaboration graph

Public Types

typedef P_type T_type
 

Public Member Functions

 MemoryBlockReference ()
 
 MemoryBlockReference (MemoryBlockReference< T_type > &ref, sizeType offset=0)
 
 MemoryBlockReference (sizeType length, T_type *data, preexistingMemoryPolicy deletionPolicy)
 
 MemoryBlockReference (sizeType items)
 
 ~MemoryBlockReference ()
 
bool isVectorAligned (size_t offset) const
 Returns true if the offset from data_ is vector aligned. More...
 
sizeType blockLength () const
 Returns the allocated length of the memory block. More...
 

Protected Member Functions

int numReferences () const
 
bool lockReferenceCount (bool lockingPolicy) const
 
void changeToNullBlock ()
 
void changeBlock (MemoryBlockReference< T_type > &ref, sizeType offset=0)
 
void newBlock (sizeType 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_
 

Member Typedef Documentation

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

Constructor & Destructor Documentation

template<typename P_type>
blitz::MemoryBlockReference< P_type >::MemoryBlockReference ( )
inline
template<typename P_type>
blitz::MemoryBlockReference< P_type >::MemoryBlockReference ( MemoryBlockReference< T_type > &  ref,
sizeType  offset = 0 
)
inline
template<typename P_type>
blitz::MemoryBlockReference< P_type >::MemoryBlockReference ( sizeType  length,
T_type data,
preexistingMemoryPolicy  deletionPolicy 
)
inline
template<typename P_type>
blitz::MemoryBlockReference< P_type >::MemoryBlockReference ( sizeType  items)
inlineexplicit
template<typename P_type>
blitz::MemoryBlockReference< P_type >::~MemoryBlockReference ( )
inline

Member Function Documentation

template<typename P_type>
void blitz::MemoryBlockReference< P_type >::addReference ( ) const
inlineprivate
template<typename P_type>
sizeType blitz::MemoryBlockReference< P_type >::blockLength ( ) const
inline

Returns the allocated length of the memory block.

template<typename P_type>
void blitz::MemoryBlockReference< P_type >::blockRemoveReference ( )
inlineprivate
template<typename P_type>
void blitz::MemoryBlockReference< P_type >::changeBlock ( MemoryBlockReference< T_type > &  ref,
sizeType  offset = 0 
)
inlineprotected
template<typename P_type>
void blitz::MemoryBlockReference< P_type >::changeToNullBlock ( )
inlineprotected
template<typename P_type>
bool blitz::MemoryBlockReference< P_type >::isVectorAligned ( size_t  offset) const
inline

Returns true if the offset from data_ is vector aligned.

template<typename P_type>
bool blitz::MemoryBlockReference< P_type >::lockReferenceCount ( bool  lockingPolicy) const
inlineprotected
template<typename P_type>
void blitz::MemoryBlockReference< P_type >::newBlock ( sizeType  items)
inlineprotected
template<typename P_type>
int blitz::MemoryBlockReference< P_type >::numReferences ( ) const
inlineprotected
template<typename P_type>
void blitz::MemoryBlockReference< P_type >::operator= ( const MemoryBlockReference< T_type > &  )
inlineprivate
template<typename P_type>
int blitz::MemoryBlockReference< P_type >::removeReference ( ) const
inlineprivate

Member Data Documentation


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