blitz Version 1.0.2
Loading...
Searching...
No Matches
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.
 
sizeType blockLength () const
 Returns the allocated length of the memory block.
 

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

◆ T_type

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

Constructor & Destructor Documentation

◆ MemoryBlockReference() [1/4]

◆ MemoryBlockReference() [2/4]

template<typename P_type>
blitz::MemoryBlockReference< P_type >::MemoryBlockReference ( MemoryBlockReference< T_type > & ref,
sizeType offset = 0 )
inline

◆ MemoryBlockReference() [3/4]

template<typename P_type>
blitz::MemoryBlockReference< P_type >::MemoryBlockReference ( sizeType length,
T_type * data,
preexistingMemoryPolicy deletionPolicy )
inline

◆ MemoryBlockReference() [4/4]

template<typename P_type>
blitz::MemoryBlockReference< P_type >::MemoryBlockReference ( sizeType items)
inlineexplicit

◆ ~MemoryBlockReference()

template<typename P_type>
blitz::MemoryBlockReference< P_type >::~MemoryBlockReference ( )
inline

Member Function Documentation

◆ addReference()

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

◆ blockLength()

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

Returns the allocated length of the memory block.

◆ blockRemoveReference()

◆ changeBlock()

template<typename P_type>
void blitz::MemoryBlockReference< P_type >::changeBlock ( MemoryBlockReference< T_type > & ref,
sizeType offset = 0 )
inlineprotected

◆ changeToNullBlock()

template<typename P_type>
void blitz::MemoryBlockReference< P_type >::changeToNullBlock ( )
inlineprotected

◆ isVectorAligned()

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.

◆ lockReferenceCount()

template<typename P_type>
bool blitz::MemoryBlockReference< P_type >::lockReferenceCount ( bool lockingPolicy) const
inlineprotected

◆ newBlock()

template<typename P_type>
void blitz::MemoryBlockReference< P_type >::newBlock ( sizeType items)
inlineprotected

◆ numReferences()

template<typename P_type>
int blitz::MemoryBlockReference< P_type >::numReferences ( ) const
inlineprotected

◆ operator=()

template<typename P_type>
void blitz::MemoryBlockReference< P_type >::operator= ( const MemoryBlockReference< T_type > & )
inlineprivate

◆ removeReference()

template<typename P_type>
int blitz::MemoryBlockReference< P_type >::removeReference ( ) const
inlineprivate

Member Data Documentation

◆ block_

◆ data_


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