aboutsummaryrefslogtreecommitdiff
path: root/src/crepe
diff options
context:
space:
mode:
authorLoek Le Blansch <loek@pipeframe.xyz>2024-10-23 22:28:49 +0200
committerLoek Le Blansch <loek@pipeframe.xyz>2024-10-23 22:28:49 +0200
commit0b08b742fffa63188c89d760a5aecd55d585403b (patch)
treef023a76c0f0e1099728fc163f7529b45ec9b6521 /src/crepe
parent95171100beba7bc36ae4421652f6c4fbb34774a8 (diff)
move template function definition to hpp
Diffstat (limited to 'src/crepe')
-rw-r--r--src/crepe/api/AssetManager.h20
-rw-r--r--src/crepe/api/AssetManager.hpp23
-rw-r--r--src/crepe/api/CMakeLists.txt1
3 files changed, 28 insertions, 16 deletions
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 <memory>
#include <string>
#include <unordered_map>
-#include <utility>
namespace crepe::api {
@@ -27,21 +26,10 @@ public:
public:
template <typename asset>
- std::shared_ptr<asset> 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<std::shared_ptr<asset>>(it->second);
- }
-
- std::shared_ptr<asset> new_asset
- = std::make_shared<asset>(file_path.c_str());
-
- asset_cache[file_path] = new_asset;
-
- return new_asset;
- }
+ std::shared_ptr<asset> 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 <typename asset>
+std::shared_ptr<asset> 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<std::shared_ptr<asset>>(it->second);
+ }
+
+ std::shared_ptr<asset> new_asset
+ = std::make_shared<asset>(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
)