28 #ifndef BERSERK_MEMORY_HPP
29 #define BERSERK_MEMORY_HPP
47 static const size_t KiB = 1024;
48 static const size_t MiB = 1024 *
KiB;
58 static void Copy(
void *destination,
const void *source,
size_t sizeInBytes) {
60 std::memcpy(destination, source, sizeInBytes);
71 static void Set(
void *destination,
int value,
size_t sizeInBytes) {
73 std::memset(destination, value, sizeInBytes);
85 static int Compare(
const void *a,
const void *b,
size_t sizeInBytes) {
86 return std::memcmp(a, b, sizeInBytes);
96 return std::malloc(sizeInBytes);
107 return std::realloc(memory, sizeInBytes);
132 static size_t AlignSize(
size_t size,
size_t alignment) {
133 return size + (size % alignment == 0 ? 0 : alignment - (size % alignment));
#define BRK_NS_END
Definition: Config.hpp:48
System memory wrapper.
Definition: Memory.hpp:44
static size_t GetAllocateCalls()
Definition: Memory.hpp:119
static void Copy(void *destination, const void *source, size_t sizeInBytes)
Definition: Memory.hpp:58
static size_t AlignSize(size_t size, size_t alignment)
Definition: Memory.hpp:132
static const size_t MiB
Definition: Memory.hpp:48
static int Compare(const void *a, const void *b, size_t sizeInBytes)
Definition: Memory.hpp:85
static void Set(void *destination, int value, size_t sizeInBytes)
Definition: Memory.hpp:71
static size_t GetDeallocateCalls()
Definition: Memory.hpp:122
static void * Allocate(size_t sizeInBytes)
Definition: Memory.hpp:95
static const size_t KiB
Definition: Memory.hpp:47
static const size_t ALIGNMENT
Definition: Memory.hpp:46
static void * Reallocate(void *memory, size_t sizeInBytes)
Definition: Memory.hpp:106
static void Deallocate(void *memory)
Definition: Memory.hpp:114
Definition: GLDevice.cpp:46