aboutsummaryrefslogtreecommitdiff
path: root/src/openvic-simulation/research
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/research
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/research')
-rw-r--r--src/openvic-simulation/research/Invention.hpp7
-rw-r--r--src/openvic-simulation/research/Technology.hpp12
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);