blitz Version 1.0.2
|
#include <memblock.h>
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_ |
typedef P_type blitz::MemoryBlockReference< P_type >::T_type |
|
inline |
|
inline |
|
inline |
|
inlineexplicit |
|
inline |
|
inlineprivate |
|
inline |
Returns the allocated length of the memory block.
References blitz::MemoryBlockReference< P_type >::block_, and blitz::MemoryBlock< P_type >::length().
|
inlineprivate |
References blitz::MemoryBlockReference< P_type >::block_, and blitz::MemoryBlockReference< P_type >::removeReference().
Referenced by blitz::MemoryBlockReference< P_type >::changeBlock(), blitz::MemoryBlockReference< P_type >::changeToNullBlock(), blitz::MemoryBlockReference< P_type >::newBlock(), and blitz::MemoryBlockReference< P_type >::~MemoryBlockReference().
|
inlineprotected |
|
inlineprotected |
|
inline |
Returns true if the offset from data_ is vector aligned.
References blitz::MemoryBlockReference< P_type >::data_, and blitz::simdTypes< T >::isVectorAligned().
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprivate |
|
inlineprivate |
|
private |
Referenced by blitz::MemoryBlockReference< P_type >::addReference(), blitz::MemoryBlockReference< P_type >::blockLength(), blitz::MemoryBlockReference< P_type >::blockRemoveReference(), blitz::MemoryBlockReference< P_type >::changeBlock(), blitz::MemoryBlockReference< P_type >::changeToNullBlock(), blitz::MemoryBlockReference< P_type >::lockReferenceCount(), blitz::MemoryBlockReference< P_type >::MemoryBlockReference(), blitz::MemoryBlockReference< P_type >::newBlock(), blitz::MemoryBlockReference< P_type >::numReferences(), and blitz::MemoryBlockReference< P_type >::removeReference().
|
protected |
Referenced by blitz::MemoryBlockReference< P_type >::addReference(), blitz::MemoryBlockReference< P_type >::changeBlock(), blitz::MemoryBlockReference< P_type >::changeToNullBlock(), blitz::MemoryBlockReference< P_type >::isVectorAligned(), blitz::MemoryBlockReference< P_type >::lockReferenceCount(), blitz::MemoryBlockReference< P_type >::MemoryBlockReference(), blitz::MemoryBlockReference< P_type >::newBlock(), blitz::MemoryBlockReference< P_type >::numReferences(), and blitz::MemoryBlockReference< P_type >::removeReference().