11#ifndef INCGUARD_MGL_MEMORY_ALLOCATOR_H_1651231310
12#define INCGUARD_MGL_MEMORY_ALLOCATOR_H_1651231310
23enum class AllocatorType : uint32_t;
34 return static_cast<AllocatorType
>(Hash::FNV1a(key));
53 [[nodiscard]]
virtual AllocatorType
GetType() const noexcept = 0;
80 [[nodiscard]] virtual
void *
Allocate(
size_t size) noexcept = 0;
100 virtual
bool GetSizeInfo(
size_t &dest, uint32_t key, uint32_t arg) noexcept = 0;
メモリアロケータインターフェース
Definition mgl_memory_allocator.h:42
virtual void * Allocate(size_t size) noexcept=0
アロケート
virtual void Deallocate(void *buffer) noexcept=0
デアロケート
virtual bool GetSizeInfo(size_t &dest, uint32_t key, uint32_t arg) noexcept=0
サイズ情報を取得
virtual bool Initialize() noexcept=0
初期化処理
virtual bool IsInitialized() const noexcept=0
初期化状態を取得
virtual AllocatorType GetType() const noexcept=0
このアロケータを表す値を取得
constexpr AllocatorType kInvalidAllocatorType
無効なアロケータを表す値
Definition mgl_memory_allocator.h:38
constexpr AllocatorType MakeAllocatorType(const char *key) noexcept
AllocatorTypeを生成するための定数式
Definition mgl_memory_allocator.h:32