aboutsummaryrefslogtreecommitdiff
path: root/src/openvic-simulation/politics/PoliticalReform.hpp
diff options
context:
space:
mode:
author zaaarf <zaaarf@proton.me>2023-09-20 14:03:25 +0200
committer zaaarf <zaaarf@proton.me>2023-09-20 14:03:25 +0200
commitad17b83930d83c3bbe5d58cf30c54fe88ac5d927 (patch)
tree1f1f1d395f7d120ab7a23c42827f6c20253d48ba /src/openvic-simulation/politics/PoliticalReform.hpp
parent63e5866381234d6627174869b7a27770daef20fd (diff)
feat: merged PartyIssue and PoliticalReform into single Issue structure
Diffstat (limited to 'src/openvic-simulation/politics/PoliticalReform.hpp')
-rw-r--r--src/openvic-simulation/politics/PoliticalReform.hpp53
1 files changed, 0 insertions, 53 deletions
diff --git a/src/openvic-simulation/politics/PoliticalReform.hpp b/src/openvic-simulation/politics/PoliticalReform.hpp
deleted file mode 100644
index 7c778d1..0000000
--- a/src/openvic-simulation/politics/PoliticalReform.hpp
+++ /dev/null
@@ -1,53 +0,0 @@
-#pragma once
-
-#include <cstddef>
-#include "types/IdentifierRegistry.hpp"
-
-namespace OpenVic {
- struct PoliticalReformManager;
-
- struct PoliticalReformGroup : HasIdentifier {
- friend struct PoliticalReformManager;
-
- private:
- PoliticalReformGroup(const std::string_view new_identifier, bool ordered);
- const bool ordered; //next_step_only, TODO default to false
-
- public:
- PoliticalReformGroup(PoliticalReformGroup&&) = default;
- bool is_ordered() const;
- };
-
- struct PoliticalReform : HasIdentifier {
- friend struct PoliticalReformManager;
-
- private:
- PoliticalReformGroup const& group;
- const size_t ordinal; //assigned by the parser to allow policy sorting
-
- //TODO - conditions to allow, policy modifiers, policy rule changes
-
- PoliticalReform(const std::string_view new_identifier, PoliticalReformGroup const& new_group, size_t ordinal);
-
- public:
- PoliticalReform(PoliticalReform&&) = default;
- size_t get_ordinal() const;
- };
-
- struct PoliticalReformManager {
- private:
- IdentifierRegistry<PoliticalReformGroup> political_reform_groups;
- IdentifierRegistry<PoliticalReform> political_reforms;
-
- public:
- PoliticalReformManager();
-
- bool add_political_reform_group(const std::string_view identifier, bool ordered);
- IDENTIFIER_REGISTRY_ACCESSORS(PoliticalReformGroup, political_reform_group)
-
- bool add_political_reform(const std::string_view identifier, PoliticalReformGroup const* group, size_t ordinal);
- IDENTIFIER_REGISTRY_ACCESSORS(PoliticalReform, political_reform)
-
- //TODO - loaders
- };
-} \ No newline at end of file