15 typedef size_t SIZE_T;
27 template<
typename T32BITS,
typename T64BITS,
int Po
interSize>
39 template<
typename T32BITS,
typename T64BITS>
43 typedef T64BITS TIntPointer;
52 template<
typename T32BITS,
typename T64BITS>
56 typedef T32BITS TIntPointer;
107 return memmove(Dest, Src, Count);
122 return memcmp(Buf1, Buf2, Count);
137 return memset(Dest, Char, Count);
150 return memset(Dest, 0, Count);
167 return memcpy(Dest, Src, Count);
184 return memcpy(Dest, Src, Count);
201 return memcpy(Dest, Src, Count);
217 return memcpy(Dest, Src, Count);
229 template <
typename T>
252 static void MemswapGreaterThan8(
void* Ptr1,
void* Ptr2, SIZE_T Size);
256 static inline void Memswap(
void* Ptr1,
void* Ptr2, SIZE_T Size)
264 Valswap(*(uint8_t*)Ptr1, *(uint8_t*)Ptr2);
268 Valswap(*(uint16_t*)Ptr1, *(uint16_t*)Ptr2);
272 Valswap(*((uint16_t*&)Ptr1)++, *((uint16_t*&)Ptr2)++);
273 Valswap(*(uint8_t*)Ptr1, *(uint8_t*)Ptr2);
277 Valswap(*(uint32_t*)Ptr1, *(uint32_t*)Ptr2);
281 Valswap(*((uint32_t*&)Ptr1)++, *((uint32_t*&)Ptr2)++);
282 Valswap(*(uint8_t*)Ptr1, *(uint8_t*)Ptr2);
286 Valswap(*((uint32_t*&)Ptr1)++, *((uint32_t*&)Ptr2)++);
287 Valswap(*(uint16_t*)Ptr1, *(uint16_t*)Ptr2);
291 Valswap(*((uint32_t*&)Ptr1)++, *((uint32_t*&)Ptr2)++);
292 Valswap(*((uint16_t*&)Ptr1)++, *((uint16_t*&)Ptr2)++);
293 Valswap(*(uint8_t*)Ptr1, *(uint8_t*)Ptr2);
297 Valswap(*(uint64_t*)Ptr1, *(uint64_t*)Ptr2);
301 Valswap(((uint64_t*)Ptr1)[0], ((uint64_t*)Ptr2)[0]);
302 Valswap(((uint64_t*)Ptr1)[1], ((uint64_t*)Ptr2)[1]);
306 MemswapGreaterThan8(Ptr1, Ptr2, Size);
#define KARMA_API
Defining Karma's API macro for storage class information.
Definition Core.h:41
#define FORCEINLINE
Typical inlining macro for clarity.
Definition Core.h:170
Defaulter for sized different from 4 and 8. Meaning not supporting 16 bit systems.
Definition GenericPlatformMemory.h:29