diff options
author | zaaarf <zaaarf@proton.me> | 2023-09-20 14:03:25 +0200 |
---|---|---|
committer | zaaarf <zaaarf@proton.me> | 2023-09-20 14:03:25 +0200 |
commit | ad17b83930d83c3bbe5d58cf30c54fe88ac5d927 (patch) | |
tree | 1f1f1d395f7d120ab7a23c42827f6c20253d48ba /src/openvic-simulation/politics/PoliticalReform.hpp | |
parent | 63e5866381234d6627174869b7a27770daef20fd (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.hpp | 53 |
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 |