summaryrefslogtreecommitdiffhomepage
path: root/loader/atlas-loader-storage.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'loader/atlas-loader-storage.hpp')
-rw-r--r--loader/atlas-loader-storage.hpp23
1 files changed, 23 insertions, 0 deletions
diff --git a/loader/atlas-loader-storage.hpp b/loader/atlas-loader-storage.hpp
new file mode 100644
index 00000000..f428be0a
--- /dev/null
+++ b/loader/atlas-loader-storage.hpp
@@ -0,0 +1,23 @@
+#pragma once
+#include "compat/int-hash.hpp"
+#include "atlas-loader-fwd.hpp"
+#include <vector>
+#include <tsl/robin_map.h>
+
+namespace floormat::loader_detail {
+
+template<typename ATLAS, typename TRAITS>
+struct atlas_storage
+{
+ using Traits = TRAITS;
+ using Cell = typename TRAITS::Cell;
+
+ tsl::robin_map<StringView, Cell*, hash_string_view> name_map;
+ std::vector<Cell> cell_array;
+ std::vector<String> missing_atlas_names;
+ Pointer<Cell> invalid_atlas;
+
+ bool is_empty() const { return cell_array.empty(); }
+};
+
+} // namespace floormat::loader_detail