aboutsummaryrefslogtreecommitdiff
path: root/src/openvic-simulation/pop/Culture.cpp
diff options
context:
space:
mode:
author Hop311 <Hop3114@gmail.com>2023-10-13 10:16:44 +0200
committer GitHub <noreply@github.com>2023-10-13 10:16:44 +0200
commit32fdf7c38b2e56339a2fffa71a7a61a854759e2c (patch)
tree4ad745778dea488ad10509cf17d349c3ef0cc229 /src/openvic-simulation/pop/Culture.cpp
parentbb22324da1225a0ac458c1d69893bb3bd28bd6b7 (diff)
parentd95c3c9da75018e3e959e5493ebd9c520e00bf7a (diff)
Merge pull request #50 from OpenVicProject/changes
Lots of accumulated changes
Diffstat (limited to 'src/openvic-simulation/pop/Culture.cpp')
-rw-r--r--src/openvic-simulation/pop/Culture.cpp18
1 files changed, 7 insertions, 11 deletions
diff --git a/src/openvic-simulation/pop/Culture.cpp b/src/openvic-simulation/pop/Culture.cpp
index 6285305..e3ba5dd 100644
--- a/src/openvic-simulation/pop/Culture.cpp
+++ b/src/openvic-simulation/pop/Culture.cpp
@@ -15,7 +15,7 @@ CultureGroup::CultureGroup(std::string_view new_identifier, std::string_view new
unit_graphical_culture_type { new_unit_graphical_culture_type },
is_overseas { new_is_overseas } {}
-std::string const& CultureGroup::get_leader() const {
+std::string_view CultureGroup::get_leader() const {
return leader;
}
@@ -118,16 +118,12 @@ bool CultureManager::_load_culture_group(size_t& total_expected_cultures,
GraphicalCultureType const* unit_graphical_culture_type = default_unit_graphical_culture_type;
bool is_overseas = true;
- bool ret = expect_dictionary_keys_and_length(
- [&total_expected_cultures](size_t size) -> size_t {
- total_expected_cultures += size;
- return size;
- },
- ALLOW_OTHER_KEYS,
- "leader", ONE_EXACTLY, decrement_callback(total_expected_cultures, expect_identifier(assign_variable_callback(leader))),
- "unit", ZERO_OR_ONE, decrement_callback(total_expected_cultures, expect_graphical_culture_type_identifier(assign_variable_callback_pointer(unit_graphical_culture_type))),
- "union", ZERO_OR_ONE, decrement_callback(total_expected_cultures, success_callback),
- "is_overseas", ZERO_OR_ONE, decrement_callback(total_expected_cultures, expect_bool(assign_variable_callback(is_overseas)))
+ bool ret = expect_dictionary_keys_and_default(
+ increment_callback(total_expected_cultures),
+ "leader", ONE_EXACTLY, expect_identifier(assign_variable_callback(leader)),
+ "unit", ZERO_OR_ONE, expect_identifier(expect_graphical_culture_type_identifier(assign_variable_callback_pointer(unit_graphical_culture_type))),
+ "union", ZERO_OR_ONE, success_callback,
+ "is_overseas", ZERO_OR_ONE, expect_bool(assign_variable_callback(is_overseas))
)(culture_group_node);
ret &= add_culture_group(culture_group_key, leader, unit_graphical_culture_type, is_overseas);
return ret;