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? More... | |
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. More... | |
Private Attributes | |
bool | allocatedByUs_ |
Keeps track of whether the block was preallocated or not. More... | |
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 |
|
inlineprotected |
Constructor for a preallocated block that should be deleted when we are done?
|
inlineprotectedvirtual |
|
inlineprivate |
|
inlineprivate |
The default constructor is needed for serialization.
|
inlineprotected |
|
inlineprotected |
Referenced by blitz::MemoryBlock< T_type >::MemoryBlock().
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
protected |
Referenced by blitz::MemoryBlock< T_type >::~MemoryBlock().
|
inlineprotected |
|
inlineprotected |
|
inlineprivate |
|
inlineprotected |
|
inlineprotected |
|
friend |
union { ... } |
union { ... } |
|
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 blitz::MemoryBlock< T_type >::MemoryBlock().
T_type* restrict blitz::MemoryBlock< P_type >::data_ |
Referenced by blitz::MemoryBlock< T_type >::data(), and blitz::MemoryBlock< T_type >::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_ |
char* blitz::MemoryBlock< P_type >::dBA_char_ |
simdTypes<T_type>::vecType* restrict blitz::MemoryBlock< P_type >::dBA_tv_ |
|
private |