KarmaEngine
Game Engine for practical learning and research purposes
|
Base class for Platform based memory operations. More...
#include <GenericPlatformMemory.h>
Static Public Member Functions | |
static FORCEINLINE void * | Memmove (void *Dest, const void *Src, SIZE_T Count) |
Copies count bytes of characters from Src to Dest. If some regions of the source area and the destination overlap, memmove ensures that the original source bytes in the overlapping region are copied before being overwritten. | |
static FORCEINLINE int32_t | Memcmp (const void *Buf1, const void *Buf2, SIZE_T Count) |
Compares first Count bytes of memory of Buf1 and Buf2. | |
static FORCEINLINE void * | Memset (void *Dest, uint8_t Char, SIZE_T Count) |
Copy value Char in each of first Count characters of object pointed to by Dest. | |
static FORCEINLINE void * | Memzero (void *Dest, SIZE_T Count) |
Zeros the Count number of characters of object pointed by Dest. | |
static FORCEINLINE void * | Memcpy (void *Dest, const void *Src, SIZE_T Count) |
Copies Count bytes from the object pointed by Src to the object pointed by Dest. | |
static FORCEINLINE void * | BigBlockMemcpy (void *Dest, const void *Src, SIZE_T Count) |
Memcpy optimized for big blocks. | |
static FORCEINLINE void * | StreamingMemcpy (void *Dest, const void *Src, SIZE_T Count) |
On some platforms memcpy optimized for big blocks that avoid L2 cache pollution are available. | |
static FORCEINLINE void * | ParallelMemcpy (void *Dest, const void *Src, SIZE_T Count, EMemcpyCachePolicy Policy=EMemcpyCachePolicy::StoreCached) |
On some platforms memcpy can be distributed over multiple threads for throughput. | |
static void | Memswap (void *Ptr1, void *Ptr2, SIZE_T Size) |
Base class for Platform based memory operations.
|
inlinestatic |
Memcpy optimized for big blocks.
Dest | Object to copy to |
Src | Object to copy from |
Count | Number of bytes to be copied |
|
inlinestatic |
Compares first Count bytes of memory of Buf1 and Buf2.
Buf1 | A block of memory |
Buf2 | A block of memory |
Count | Number of bytes to be compared |
|
inlinestatic |
Copies Count bytes from the object pointed by Src to the object pointed by Dest.
Src | Object to copy from |
Dest | Object to copy to |
Count | Number of bytes to be copied |
|
inlinestatic |
Copies count bytes of characters from Src to Dest. If some regions of the source area and the destination overlap, memmove ensures that the original source bytes in the overlapping region are copied before being overwritten.
Dest | Where to copy bytes to |
Src | Where to copy bytes from |
Count | Size of bytes to be copied |
|
inlinestatic |
Copy value Char in each of first Count characters of object pointed to by Dest.
Dest | Copy the value to |
Char | Value to be copied |
Count | Number of characters in the object to be copied to |
|
inlinestatic |
Zeros the Count number of characters of object pointed by Dest.
Dest | Set zeros of the object |
Count | Number of characters |
|
inlinestatic |
On some platforms memcpy can be distributed over multiple threads for throughput.
Dest | Object to copy to |
Src | Object to copy from |
Policy | Is copy result immidiately or gaply accessed by CPU |
|
inlinestatic |
On some platforms memcpy optimized for big blocks that avoid L2 cache pollution are available.
Dest | Object to copy to |
Src | Object to copy from |
Count | Number of bytes to be copied |