aboutsummaryrefslogtreecommitdiff
path: root/src/openvic-simulation/map
diff options
context:
space:
mode:
author Spartan322 <Megacake1234@gmail.com>2023-12-25 08:42:11 +0100
committer Spartan322 <Megacake1234@gmail.com>2023-12-31 20:46:26 +0100
commite1496a87178d925277aceed0ebcbab06920e15ee (patch)
treeba081f9f4d74865ab5851a2efd560745900ca81a /src/openvic-simulation/map
parent0a425fbe05d6138b753c0e4a7c06f06695bde8af (diff)
Add `https://github.com/Tessil/ordered-map`
Add is_specialization_of to Utility.hpp Add OpenVic::ordered_map and OpenVic::ordered_set Change `std::map` to `ordered_map` Change `std::set to use `ordered_set` Add `set_callback_pointer(tsl::ordered_set<T const*>& set)` Add mutable_iterator to enable mutable value iterator for `tsl::ordered_map` Add std::hash<OpenVic::Date> implementation Enable deps/SCsub to expose dependency includes neccessary for inclusion
Diffstat (limited to 'src/openvic-simulation/map')
-rw-r--r--src/openvic-simulation/map/Map.cpp4
-rw-r--r--src/openvic-simulation/map/Map.hpp3
-rw-r--r--src/openvic-simulation/map/Province.hpp5
-rw-r--r--src/openvic-simulation/map/TerrainType.hpp3
4 files changed, 9 insertions, 6 deletions
diff --git a/src/openvic-simulation/map/Map.cpp b/src/openvic-simulation/map/Map.cpp
index 39d4870..cce120e 100644
--- a/src/openvic-simulation/map/Map.cpp
+++ b/src/openvic-simulation/map/Map.cpp
@@ -2,7 +2,6 @@
#include <cassert>
#include <cstddef>
-#include <unordered_set>
#include <vector>
#include "openvic-simulation/economy/Good.hpp"
@@ -10,6 +9,7 @@
#include "openvic-simulation/types/Colour.hpp"
#include "openvic-simulation/utility/BMP.hpp"
#include "openvic-simulation/utility/Logger.hpp"
+#include "openvic-simulation/types/OrderedContainers.hpp"
using namespace OpenVic;
using namespace OpenVic::NodeTools;
@@ -460,7 +460,7 @@ bool Map::load_map_images(fs::path const& province_path, fs::path const& terrain
std::vector<fixed_point_map_t<TerrainType const*>> terrain_type_pixels_list(provinces.size());
bool ret = true;
- std::unordered_set<colour_t> unrecognised_province_colours;
+ ordered_set<colour_t> unrecognised_province_colours;
std::vector<fixed_point_t> pixels_per_province(provinces.size());
std::vector<fvec2_t> pixel_position_sum_per_province(provinces.size());
diff --git a/src/openvic-simulation/map/Map.hpp b/src/openvic-simulation/map/Map.hpp
index 0025cf4..3e7ff35 100644
--- a/src/openvic-simulation/map/Map.hpp
+++ b/src/openvic-simulation/map/Map.hpp
@@ -9,6 +9,7 @@
#include "openvic-simulation/map/State.hpp"
#include "openvic-simulation/map/TerrainType.hpp"
#include "openvic-simulation/types/Colour.hpp"
+#include "openvic-simulation/types/OrderedContainers.hpp"
namespace OpenVic {
namespace fs = std::filesystem;
@@ -57,7 +58,7 @@ namespace OpenVic {
};
#pragma pack(pop)
private:
- using colour_index_map_t = std::map<colour_t, Province::index_t>;
+ using colour_index_map_t = ordered_map<colour_t, Province::index_t>;
IdentifierRegistry<Province> IDENTIFIER_REGISTRY_CUSTOM_INDEX_OFFSET(province, 1);
IdentifierRegistry<Region> IDENTIFIER_REGISTRY(region);
diff --git a/src/openvic-simulation/map/Province.hpp b/src/openvic-simulation/map/Province.hpp
index 7a42666..bb10b29 100644
--- a/src/openvic-simulation/map/Province.hpp
+++ b/src/openvic-simulation/map/Province.hpp
@@ -2,10 +2,11 @@
#include <cassert>
+#include "openvic-simulation/country/Country.hpp"
#include "openvic-simulation/economy/BuildingInstance.hpp"
#include "openvic-simulation/politics/Ideology.hpp"
#include "openvic-simulation/pop/Pop.hpp"
-#include "openvic-simulation/country/Country.hpp"
+#include "openvic-simulation/types/OrderedContainers.hpp"
namespace OpenVic {
struct Map;
@@ -81,7 +82,7 @@ namespace OpenVic {
fvec2_t factory;
fvec2_t building_construction;
fvec2_t military_construction;
- std::map<BuildingType const*, fvec2_t> building_position;
+ ordered_map<BuildingType const*, fvec2_t> building_position;
fixed_point_map_t<BuildingType const*> building_rotation;
};
diff --git a/src/openvic-simulation/map/TerrainType.hpp b/src/openvic-simulation/map/TerrainType.hpp
index dc9bc56..b534ab5 100644
--- a/src/openvic-simulation/map/TerrainType.hpp
+++ b/src/openvic-simulation/map/TerrainType.hpp
@@ -1,6 +1,7 @@
#pragma once
#include "openvic-simulation/misc/Modifier.hpp"
+#include "openvic-simulation/types/OrderedContainers.hpp"
namespace OpenVic {
struct TerrainTypeManager;
@@ -40,7 +41,7 @@ namespace OpenVic {
struct TerrainTypeManager {
private:
- using terrain_type_mappings_map_t = std::map<TerrainTypeMapping::index_t, size_t>;
+ using terrain_type_mappings_map_t = ordered_map<TerrainTypeMapping::index_t, size_t>;
IdentifierRegistry<TerrainType> IDENTIFIER_REGISTRY(terrain_type);
IdentifierRegistry<TerrainTypeMapping> IDENTIFIER_REGISTRY(terrain_type_mapping);
terrain_type_mappings_map_t terrain_type_mappings_map;