diff options
author | Spartan322 <Megacake1234@gmail.com> | 2023-12-25 08:42:11 +0100 |
---|---|---|
committer | Spartan322 <Megacake1234@gmail.com> | 2023-12-31 20:46:26 +0100 |
commit | e1496a87178d925277aceed0ebcbab06920e15ee (patch) | |
tree | ba081f9f4d74865ab5851a2efd560745900ca81a /src/openvic-simulation/map | |
parent | 0a425fbe05d6138b753c0e4a7c06f06695bde8af (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.cpp | 4 | ||||
-rw-r--r-- | src/openvic-simulation/map/Map.hpp | 3 | ||||
-rw-r--r-- | src/openvic-simulation/map/Province.hpp | 5 | ||||
-rw-r--r-- | src/openvic-simulation/map/TerrainType.hpp | 3 |
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; |