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/research | |
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/research')
-rw-r--r-- | src/openvic-simulation/research/Invention.hpp | 7 | ||||
-rw-r--r-- | src/openvic-simulation/research/Technology.hpp | 12 |
2 files changed, 11 insertions, 8 deletions
diff --git a/src/openvic-simulation/research/Invention.hpp b/src/openvic-simulation/research/Invention.hpp index a8ce96d..5d31155 100644 --- a/src/openvic-simulation/research/Invention.hpp +++ b/src/openvic-simulation/research/Invention.hpp @@ -2,6 +2,7 @@ #include "openvic-simulation/misc/Modifier.hpp" #include "openvic-simulation/types/IdentifierRegistry.hpp" +#include "openvic-simulation/types/OrderedContainers.hpp" namespace OpenVic { struct Unit; @@ -15,9 +16,9 @@ namespace OpenVic { struct Invention : Modifier { friend struct InventionManager; //TODO implement limit and chance - using unit_set_t = std::set<Unit const*>; - using building_set_t = std::set<BuildingType const*>; - using crime_set_t = std::set<Crime const*>; + using unit_set_t = ordered_set<Unit const*>; + using building_set_t = ordered_set<BuildingType const*>; + using crime_set_t = ordered_set<Crime const*>; private: const bool PROPERTY_CUSTOM_PREFIX(news, is); diff --git a/src/openvic-simulation/research/Technology.hpp b/src/openvic-simulation/research/Technology.hpp index 1035a8e..3b0b1da 100644 --- a/src/openvic-simulation/research/Technology.hpp +++ b/src/openvic-simulation/research/Technology.hpp @@ -1,10 +1,12 @@ #pragma once +#include <cstdint> + +#include "openvic-simulation/economy/BuildingType.hpp" +#include "openvic-simulation/military/Unit.hpp" #include "openvic-simulation/misc/Modifier.hpp" #include "openvic-simulation/types/Date.hpp" -#include "openvic-simulation/military/Unit.hpp" -#include "openvic-simulation/economy/BuildingType.hpp" -#include <cstdint> +#include "openvic-simulation/types/OrderedContainers.hpp" namespace OpenVic { struct TechnologyFolder : HasIdentifier { @@ -32,8 +34,8 @@ namespace OpenVic { struct Technology : Modifier { friend struct TechnologyManager; - using unit_set_t = std::set<Unit const*>; - using building_set_t = std::set<BuildingType const*>; + using unit_set_t = ordered_set<Unit const*>; + using building_set_t = ordered_set<BuildingType const*>; private: TechnologyArea const& PROPERTY(area); |