Preallocated memory sequence
External pre-allocated memory, is a class that preallocate memory and than it answer to a particular allocation pattern
Base | memory allocation class [Example] HeapMemory or CudaMemory |
Definition at line 27 of file ExtPreAlloc.hpp.
#include <ExtPreAlloc.hpp>
Public Member Functions | |
ExtPreAlloc () | |
Default constructor. | |
ExtPreAlloc (size_t size, Mem &mem) | |
Preallocated memory sequence. More... | |
virtual void | incRef () |
Increment the reference counter. | |
virtual void | decRef () |
Decrement the reference counter. | |
virtual long int | ref () |
Return the reference counter. | |
virtual bool | flush () |
flush the memory | |
virtual bool | allocate (size_t sz) |
Allocate a chunk of memory. More... | |
void * | getPointerEnd () |
Return the end pointer of the previous allocated memory. More... | |
void * | getPointerBase () |
The the base pointer of the preallocate memory. More... | |
virtual void * | getDevicePointer () |
Return the pointer of the last allocation. More... | |
virtual void | deviceToHost () |
Do nothing. | |
virtual void * | getPointer () |
Return the pointer of the last allocation. More... | |
virtual const void * | getPointer () const |
Return the pointer of the last allocation. More... | |
void * | getPointerOffset (size_t offset) |
Get the base memory pointer increased with an offset. More... | |
virtual bool | resize (size_t sz) |
Allocate or resize the allocated memory. More... | |
virtual size_t | size () const |
Get the size of the LAST allocated memory. More... | |
void | destroy () |
Destroy memory. More... | |
virtual bool | copy (const memory &m) |
Copy memory. More... | |
bool | isInitialized () |
Allocated Memory is never initialized. More... | |
void | shift_backward (size_t sz) |
shift the pointer backward More... | |
void | shift_forward (size_t sz) |
shift the pointer forward More... | |
![]() | |
virtual | ~memory () |
destructor More... | |
Static Public Member Functions | |
static size_t | calculateMem (std::vector< size_t > &mm) |
Calculate the total memory required to pack the message. More... | |
Private Attributes | |
size_t | a_seq |
Actual allocation pointer. | |
size_t | l_size |
Last allocation size. | |
Mem * | mem |
Main class for memory allocation. | |
long int | ref_cnt |
Reference counter. | |
|
inline |
Preallocated memory sequence.
size | number of bytes |
mem | external memory, used if you want to keep the memory |
Definition at line 61 of file ExtPreAlloc.hpp.
|
inlinevirtual |
Allocate a chunk of memory.
Allocate a chunk of memory
sz | size of the chunk of memory to allocate in byte |
Implements memory.
Definition at line 92 of file ExtPreAlloc.hpp.
|
inlinestatic |
Calculate the total memory required to pack the message.
Definition at line 236 of file ExtPreAlloc.hpp.
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
Return the pointer of the last allocation.
Implements memory.
Definition at line 137 of file ExtPreAlloc.hpp.
|
inlinevirtual |
Return the pointer of the last allocation.
Implements memory.
Definition at line 150 of file ExtPreAlloc.hpp.
|
inlinevirtual |
Return the pointer of the last allocation.
Implements memory.
Definition at line 160 of file ExtPreAlloc.hpp.
|
inline |
The the base pointer of the preallocate memory.
Definition at line 127 of file ExtPreAlloc.hpp.
|
inline |
Return the end pointer of the previous allocated memory.
Definition at line 117 of file ExtPreAlloc.hpp.
|
inline |
Get the base memory pointer increased with an offset.
offset | memory offset |
Definition at line 170 of file ExtPreAlloc.hpp.
|
inlinevirtual |
Allocated Memory is never initialized.
Implements memory.
Definition at line 226 of file ExtPreAlloc.hpp.
|
inlinevirtual |
Allocate or resize the allocated memory.
Resize the allocated memory, if request is smaller than the allocated, memory is not resized
sz | size |
Implements memory.
Definition at line 185 of file ExtPreAlloc.hpp.
|
inline |
shift the pointer backward
This function is useful to go ahead in memory and fill the memory later on
how | many byte to shift |
Definition at line 280 of file ExtPreAlloc.hpp.
|
inline |
shift the pointer forward
The same as shift backward, but in this case it move the pointer forward
In general you use this function after the you went back with shift_backward and you have to move forward again
Definition at line 297 of file ExtPreAlloc.hpp.
|
inlinevirtual |
Get the size of the LAST allocated memory.
Get the size of the allocated memory
Implements memory.
Definition at line 198 of file ExtPreAlloc.hpp.