78 static void SetLevels(
const std::array<float, 3> &levels);
89 static constexpr
UnitType KB = 1024UL,
MB = 1024UL * 1024UL,
GB = 1024UL * 1024UL * 1024UL;
98 const std::array<const std::string, 4>
memLevelNames{
"NORMAL",
"WARNING",
"CRITICAL",
"EXHAUSTED"};
101 return out << memLevelNames[static_cast<int>(status)];
A static class containing helper functions for interrogating the memory status.
Definition: Memory.h:20
static void SetMaxMemory(unsigned long long maxMemory)
Set the maximum allocable memory.
Definition: Memory.h:53
unsigned long int UnitType
Conversion factors for common memory usage units.
Definition: Memory.h:88
static Status GetStatus()
Returns a status code for the current memory occupancy.
Definition: Memory.cpp:55
static void SetLevels(const std::array< float, 3 > &levels)
Set the memory levels.
Definition: Memory.cpp:69
static unsigned long long GetMaxMemory()
Get the maximum allocable memory.
Definition: Memory.h:59
static constexpr UnitType MB
Definition: Memory.h:89
Exception(std::string msg="")
Definition: Exception.h:31
IncludeFileExc.h IncludeFileExc class declaration.
Definition: Algorithm.h:21
static unsigned long long GetOccupation()
Returns the current memory occupation in bytes.
Definition: Memory.cpp:27
static const int _pageSize
Definition: Memory.h:93
static unsigned long long _maxMemory
Definition: Memory.h:94
Exception class for badly-defined memory levels.
Definition: Memory.h:26
std::ostream & operator<<(std::ostream &out, InsertionResult ir)
Insertion operator for InsertionResult.
Definition: InsertionResult.h:36
static constexpr UnitType KB
Definition: Memory.h:89
static constexpr UnitType GB
Definition: Memory.h:89
const std::array< const std::string, 4 > memLevelNames
Printable names for the memory levels.
Definition: Memory.h:98
Status
Aliases for memory occupation levels.
Definition: Memory.h:23
Definition: Exception.h:24
static const std::array< float, 3 > & GetLevels()
Set the memory levels.
Definition: Memory.h:85
static std::array< float, 3 > _levels
Definition: Memory.h:92