This category contains functions for allocating/manipulating memory.
More...
|
typedef struct fplMemoryBlock | fplMemoryBlock |
|
typedef struct fplMemoryInfos | fplMemoryInfos |
|
This category contains functions for allocating/manipulating memory.
◆ fplMemoryAlignedAllocate()
fpl_common_api void * fplMemoryAlignedAllocate |
( |
const size_t | size, |
|
|
const size_t | alignment ) |
Allocates aligned memory from the operating system by the given alignment.
- Parameters
-
[in] | size | The size amount in bytes. |
[in] | alignment | The alignment in bytes (must be a power-of-two). |
- Returns
- Reference to the new allocated aligned memory.
- Note
- The memory is guaranteed to be initialized to zero.
-
This function can be called without the platform to be initialized.
- See also
- Allocate custom aligned (n)-bytes of memory
◆ fplMemoryAlignedFree()
Releases the aligned memory allocated from the operating system.
- Parameters
-
[in] | ptr | Reference to the aligned allocated memory. |
- Warning
- This should never be called with a not-aligned memory reference! For freeing not-aligned memory, use fplMemoryFree() instead.
- Note
- This function can be called without the platform to be initialized.
- See also
- Free aligned memory
◆ fplMemoryAllocate()
Allocates memory from the operating system by the given size, that is aligned to the operating systems page-size (most common is 64 KB).
- Parameters
-
[in] | size | The size to be allocated in bytes. |
- Returns
- Reference to the newly allocated memory.
- Warning
- Alignment is not ensured here, the OS decides how to handle this. If you want to force a specific alignment use fplMemoryAlignedAllocate() instead.
- Note
- The memory is guaranteed to be initialized to zero.
-
This function can be called without the platform to be initialized.
- See also
- Allocate (n)-bytes of memory
◆ fplMemoryClear()
Clears the given memory by the given size to zero.
- Parameters
-
[in] | mem | Reference to the target memory. |
[in] | size | The number of bytes to be cleared to zero (size_t). |
- See also
- Clear (n)-bytes of memory
◆ fplMemoryCopy()
fpl_common_api void fplMemoryCopy |
( |
const void * | sourceMem, |
|
|
const size_t | sourceSize, |
|
|
void * | targetMem ) |
Copies the given source memory with its length to the target memory.
- Parameters
-
[in] | sourceMem | Reference to the source memory to copy from. |
[in] | sourceSize | The size in bytes to be copied. |
[out] | targetMem | Reference to the target memory to copy into. |
- See also
- Copy (n)-bytes of memory to another memory location
◆ fplMemoryFree()
Releases the memory allocated from the operating system.
- Parameters
-
[in] | ptr | Reference to the allocated memory. |
- Warning
- This should never be called with an aligned memory reference! For freeing aligned memory, use fplMemoryAlignedFree() instead.
- Note
- This function can be called without the platform to be initialized.
- See also
- Free memory
◆ fplMemoryGetInfos()
Retrieves the current system memory usage.
- Parameters
-
- Returns
- Returns true when the memory info was retrieved, false otherwise.
- See also
- Query memory state
◆ fplMemorySet()
fpl_common_api void fplMemorySet |
( |
void * | mem, |
|
|
const uint8_t | value, |
|
|
const size_t | size ) |