blitz Version 1.0.2
|
#include <memblock.h>
Public Types | |
typedef P_type | T_type |
Protected Member Functions | |
MemoryBlock (sizeType items) | |
MemoryBlock (sizeType length, T_type *data) | |
Constructor for a preallocated block that should be deleted when we are done? | |
virtual | ~MemoryBlock () |
bool | doLock (bool lockingPolicy) |
void | addReference () |
T_type *restrict | data () |
const T_type *restrict | data () const |
T_type *& | dataBlockAddress () |
sizeType | length () const |
int | removeReference () |
int | references () const |
void | allocate (sizeType length) |
void | deallocate () |
Private Member Functions | |
MemoryBlock (const MemoryBlock< T_type > &) | |
void | operator= (const MemoryBlock< T_type > &) |
MemoryBlock () | |
The default constructor is needed for serialization. | |
Private Attributes | ||
bool | allocatedByUs_ | |
Keeps track of whether the block was preallocated or not. | ||
union { | ||
T_type *restrict data_ | ||
simdTypes< T_type >::vecType *restrict data_tv_ | ||
char *restrict data_char_ | ||
}; | ||
union { | ||
T_type * dataBlockAddress_ | ||
simdTypes< T_type >::vecType *restrict dBA_tv_ | ||
char * dBA_char_ | ||
}; | ||
sizeType | length_ | |
Friends | |
class | MemoryBlockReference< P_type > |
typedef P_type blitz::MemoryBlock< P_type >::T_type |
|
inlineexplicitprotected |
References allocate(), BZ_MUTEX_INIT, dataBlockAddress_, length_, and blitz::simdTypes< T >::vecWidth.
Referenced by MemoryBlock(), and operator=().
|
inlineprotected |
Constructor for a preallocated block that should be deleted when we are done?
References allocatedByUs_, BZ_MUTEX_INIT, data(), data_, dataBlockAddress_, length(), and length_.
|
inlineprotectedvirtual |
|
inlineprivate |
References MemoryBlock().
|
inlineprivate |
The default constructor is needed for serialization.
|
inlineprotected |
References BZ_MUTEX_LOCK, BZ_MUTEX_UNLOCK, dataBlockAddress_, and length_.
|
inlineprotected |
References length().
Referenced by MemoryBlock().
|
inlineprotected |
References data_, and restrict.
Referenced by MemoryBlock().
|
inlineprotected |
|
inlineprotected |
References dataBlockAddress_.
|
protected |
|
inlineprotected |
|
inlineprotected |
References length_.
Referenced by allocate(), and MemoryBlock().
|
inlineprivate |
References MemoryBlock().
|
inlineprotected |
References BZ_MUTEX_LOCK, and BZ_MUTEX_UNLOCK.
|
inlineprotected |
References BZ_MUTEX_LOCK, BZ_MUTEX_UNLOCK, dataBlockAddress_, and length_.
|
friend |
union { ... } blitz::MemoryBlock< P_type > |
union { ... } blitz::MemoryBlock< P_type > |
|
private |
Keeps track of whether the block was preallocated or not.
This affects potential alignment so must be taken into account when we delete.
Referenced by MemoryBlock().
T_type* restrict blitz::MemoryBlock< P_type >::data_ |
Referenced by data(), data(), and MemoryBlock().
char* restrict blitz::MemoryBlock< P_type >::data_char_ |
simdTypes<T_type>::vecType* restrict blitz::MemoryBlock< P_type >::data_tv_ |
T_type* blitz::MemoryBlock< P_type >::dataBlockAddress_ |
Referenced by addReference(), dataBlockAddress(), MemoryBlock(), MemoryBlock(), and removeReference().
char* blitz::MemoryBlock< P_type >::dBA_char_ |
simdTypes<T_type>::vecType* restrict blitz::MemoryBlock< P_type >::dBA_tv_ |
|
private |
Referenced by addReference(), length(), MemoryBlock(), MemoryBlock(), and removeReference().