|
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 > |
|
inlineexplicitprotected |
|
inlineprotected |
Constructor for a preallocated block that should be deleted when we are done?
References blitz::MemoryBlock< P_type >::allocatedByUs_, BZ_MUTEX_INIT, blitz::MemoryBlock< P_type >::data(), blitz::MemoryBlock< P_type >::data_, blitz::MemoryBlock< P_type >::dataBlockAddress_, blitz::MemoryBlock< P_type >::length(), and blitz::MemoryBlock< P_type >::length_.
|
inlineprotectedvirtual |
|
inlineprivate |
|
inlineprivate |
The default constructor is needed for serialization.
|
inlineprotected |
|
inlineprotected |
Referenced by blitz::MemoryBlock< P_type >::MemoryBlock().
|
inlineprotected |
References blitz::MemoryBlock< P_type >::data_.
|
inlineprotected |
References blitz::MemoryBlock< P_type >::dataBlockAddress_.
|
protected |
Referenced by blitz::MemoryBlock< P_type >::~MemoryBlock().
|
inlineprotected |
Referenced by blitz::MemoryBlockReference< P_type >::lockReferenceCount().
|
inlineprotected |
References blitz::MemoryBlock< P_type >::length_.
Referenced by blitz::MemoryBlockReference< P_type >::blockLength(), and blitz::MemoryBlock< P_type >::MemoryBlock().
|
inlineprivate |
|
inlineprotected |
References BZ_MUTEX_LOCK, and BZ_MUTEX_UNLOCK.
Referenced by blitz::MemoryBlockReference< P_type >::numReferences().
|
inlineprotected |
| 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 blitz::MemoryBlock< P_type >::MemoryBlock().
| 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 |