xo-arena/include/xo/arena/MemorySizeInfo.hpp

37 lines
979 B
C++

/** @file MemorySizeInfo.hpp
*
* @author Roland Conybeare, Feb 2026
**/
#pragma once
#include <cstdint>
namespace xo {
namespace mm {
struct MemorySizeInfo {
using size_type = std::size_t;
MemorySizeInfo(std::string_view name, std::size_t a, std::size_t c, std::size_t r)
: resource_name_{name}, allocated_{a}, committed_{c}, reserved_{r}
{}
static MemorySizeInfo sentinel() { return MemorySizeInfo("", 0, 0, 0); }
/** resource name **/
std::string_view resource_name_;
/** memory in-use **/
std::size_t allocated_ = 0;
/** memory committed (backed by physical memory) **/
std::size_t committed_ = 0;
/** memory reserved:
* virtual memory addresses range obtained, whether or not committed
**/
std::size_t reserved_ = 0;
};
}
}
/* end MemorySizeInfo.hpp */