Karma Engine
Loading...
Searching...
No Matches
Karma::FGenericPlatformMemory Struct Reference
Inheritance diagram for Karma::FGenericPlatformMemory:

Static Public Member Functions

static FORCEINLINE void * Memmove (void *Dest, const void *Src, SIZE_T Count)
 
static FORCEINLINE int32_t Memcmp (const void *Buf1, const void *Buf2, SIZE_T Count)
 
static FORCEINLINE void * Memset (void *Dest, uint8_t Char, SIZE_T Count)
 
static FORCEINLINE void * Memzero (void *Dest, SIZE_T Count)
 
static FORCEINLINE void * Memcpy (void *Dest, const void *Src, SIZE_T Count)
 
static FORCEINLINE void * BigBlockMemcpy (void *Dest, const void *Src, SIZE_T Count)
 
static FORCEINLINE void * StreamingMemcpy (void *Dest, const void *Src, SIZE_T Count)
 
static FORCEINLINE void * ParallelMemcpy (void *Dest, const void *Src, SIZE_T Count, EMemcpyCachePolicy Policy=EMemcpyCachePolicy::StoreCached)
 
static void Memswap (void *Ptr1, void *Ptr2, SIZE_T Size)
 

Member Function Documentation

◆ BigBlockMemcpy()

static FORCEINLINE void * Karma::FGenericPlatformMemory::BigBlockMemcpy ( void * Dest,
const void * Src,
SIZE_T Count )
inlinestatic

Memcpy optimized for big blocks.

◆ Memmove()

static FORCEINLINE void * Karma::FGenericPlatformMemory::Memmove ( void * Dest,
const void * Src,
SIZE_T Count )
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. NOTE: make sure that the destination buffer is the same size or larger than the source buffer!

◆ ParallelMemcpy()

static FORCEINLINE void * Karma::FGenericPlatformMemory::ParallelMemcpy ( void * Dest,
const void * Src,
SIZE_T Count,
EMemcpyCachePolicy Policy = EMemcpyCachePolicy::StoreCached )
inlinestatic

On some platforms memcpy can be distributed over multiple threads for throughput.

◆ StreamingMemcpy()

static FORCEINLINE void * Karma::FGenericPlatformMemory::StreamingMemcpy ( void * Dest,
const void * Src,
SIZE_T Count )
inlinestatic

On some platforms memcpy optimized for big blocks that avoid L2 cache pollution are available


The documentation for this struct was generated from the following files: