From 0b08b742fffa63188c89d760a5aecd55d585403b Mon Sep 17 00:00:00 2001 From: Loek Le Blansch Date: Wed, 23 Oct 2024 22:28:49 +0200 Subject: move template function definition to hpp --- src/crepe/api/AssetManager.h | 20 ++++---------------- src/crepe/api/AssetManager.hpp | 23 +++++++++++++++++++++++ src/crepe/api/CMakeLists.txt | 1 + 3 files changed, 28 insertions(+), 16 deletions(-) create mode 100644 src/crepe/api/AssetManager.hpp (limited to 'src') diff --git a/src/crepe/api/AssetManager.h b/src/crepe/api/AssetManager.h index d9d9b44..a53ace5 100644 --- a/src/crepe/api/AssetManager.h +++ b/src/crepe/api/AssetManager.h @@ -4,7 +4,6 @@ #include #include #include -#include namespace crepe::api { @@ -27,21 +26,10 @@ public: public: template - std::shared_ptr cache(const std::string & file_path, - bool reload = false) { - auto it = asset_cache.find(file_path); - - if (!reload && it != asset_cache.end()) { - return std::any_cast>(it->second); - } - - std::shared_ptr new_asset - = std::make_shared(file_path.c_str()); - - asset_cache[file_path] = new_asset; - - return new_asset; - } + std::shared_ptr cache(const std::string & file_path, bool reload = false); }; } // namespace crepe::api + +#include "AssetManager.hpp" + diff --git a/src/crepe/api/AssetManager.hpp b/src/crepe/api/AssetManager.hpp new file mode 100644 index 0000000..083fd9d --- /dev/null +++ b/src/crepe/api/AssetManager.hpp @@ -0,0 +1,23 @@ +#pragma once + +#include "AssetManager.h" + +namespace crepe::api { + +template +std::shared_ptr AssetManager::cache(const std::string & file_path, bool reload) { + auto it = asset_cache.find(file_path); + + if (!reload && it != asset_cache.end()) { + return std::any_cast>(it->second); + } + + std::shared_ptr new_asset + = std::make_shared(file_path.c_str()); + + asset_cache[file_path] = new_asset; + + return new_asset; +} + +} // namespace crepe::api diff --git a/src/crepe/api/CMakeLists.txt b/src/crepe/api/CMakeLists.txt index cca4994..e74bb41 100644 --- a/src/crepe/api/CMakeLists.txt +++ b/src/crepe/api/CMakeLists.txt @@ -25,4 +25,5 @@ target_sources(crepe PUBLIC FILE_SET HEADERS FILES Color.h Texture.h AssetManager.h + AssetManager.hpp ) -- cgit v1.2.3