diff options
| author | fschildt <florian.schildt@protonmail.com> | 2025-11-25 06:21:26 +0100 |
|---|---|---|
| committer | fschildt <florian.schildt@protonmail.com> | 2025-11-25 06:21:26 +0100 |
| commit | 3f95bc6b463f629c620ba5811ca3ce53ed9c03a2 (patch) | |
| tree | 8e2637270472b3ff787f95b24c9567d0c4d3df2b /src/common | |
| parent | 746819470de51c4f7331b64980f3da9bfb750a12 (diff) | |
add MemoryManager, enhance cmake,compile.sh
Diffstat (limited to 'src/common')
| -rw-r--r-- | src/common/MemoryManager.cpp | 24 | ||||
| -rw-r--r-- | src/common/MemoryManager.hpp | 23 |
2 files changed, 47 insertions, 0 deletions
diff --git a/src/common/MemoryManager.cpp b/src/common/MemoryManager.cpp new file mode 100644 index 0000000..d4fd068 --- /dev/null +++ b/src/common/MemoryManager.cpp @@ -0,0 +1,24 @@ +#include <common/MemoryManager.hpp> + +std::vector<std::u32string> MemoryManager::s_frame_string32s; + +std::u32string& +MemoryManager::GetString32(String32Id id) +{ + return s_frame_string32s[id]; +} + +String32Id +MemoryManager::EmplaceString32_Frame(std::u32string&& str) +{ + String32Id id = static_cast<String32Id>(s_frame_string32s.size()); + s_frame_string32s.emplace_back(str); + return id; +} + +void +MemoryManager::Clear_Frame() +{ + s_frame_string32s.clear(); +} + diff --git a/src/common/MemoryManager.hpp b/src/common/MemoryManager.hpp new file mode 100644 index 0000000..59c31d7 --- /dev/null +++ b/src/common/MemoryManager.hpp @@ -0,0 +1,23 @@ +#pragma once + +#include <common/defs.hpp> + +#include <string> +#include <vector> + + +using String32Id = uint32_t; + + +class MemoryManager { +public: + static std::u32string& GetString32(String32Id id); + + static String32Id EmplaceString32_Frame(std::u32string&& str); + static void Clear_Frame(); + + +private: + static std::vector<std::u32string> s_frame_string32s; +}; + |
