2 #ifndef ENIGMA_RAM_INFO_H
3 #define ENIGMA_RAM_INFO_H
8 #if defined(ENIGMA_PLATFORM_WINDOWS)
12 typedef MEMORYSTATUSEX memory_status_t;
13 #elif defined(ENIGMA_PLATFORM_LINUX)
16 #include <sys/syscall.h>
17 #include <sys/sysinfo.h>
19 typedef struct sysinfo memory_status_t;
20 #elif defined(ENIGMA_PLATFORM_MACOS)
22 #include <mach/mach.h>
23 #include <mach/mach_host.h>
24 #include <mach/vm_statistics.h>
25 typedef struct vm_statistics_data_t memory_status_t;
27 #error "Unsupported Platform"
80 memory_status_t m_memory_status{};
#define NS_ENIGMA_BEGIN
Enable/Disable Assertions.
std::size_t GetAvailableRAM() const noexcept
ENIGMA_NON_COPYABLE(RAMInfo)
float GetRAMUsage() noexcept
float GetProcessRAMUsage() noexcept
std::size_t GetFreeRAM() const noexcept
ENIGMA_NON_MOVEABLE(RAMInfo)
std::size_t GetProcessUsedRAM() const noexcept
std::size_t GetUsedRAM() const noexcept