diff options
Diffstat (limited to 'loader/atlas-loader-storage.hpp')
-rw-r--r-- | loader/atlas-loader-storage.hpp | 23 |
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 |