diff options
author | Hop311 <Hop3114@gmail.com> | 2023-10-15 16:26:39 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-10-15 16:26:39 +0200 |
commit | 3249e21104bab6002676abe00450e7bd3f682303 (patch) | |
tree | c2a13a44d4c8553f6e87193f5f437052cf1d7067 /src/openvic-simulation/pop | |
parent | 17847e16e14ec52eb48a6fd0d9dc36ee93e457db (diff) | |
parent | d26f9c2fb5a9666822a0f702d76b764600a390d7 (diff) |
Merge pull request #52 from OpenVicProject/tgc-compat
TGC compatibility fixes + other cleanup
Diffstat (limited to 'src/openvic-simulation/pop')
-rw-r--r-- | src/openvic-simulation/pop/Culture.cpp | 16 | ||||
-rw-r--r-- | src/openvic-simulation/pop/Culture.hpp | 4 |
2 files changed, 10 insertions, 10 deletions
diff --git a/src/openvic-simulation/pop/Culture.cpp b/src/openvic-simulation/pop/Culture.cpp index e3ba5dd..bbfa35a 100644 --- a/src/openvic-simulation/pop/Culture.cpp +++ b/src/openvic-simulation/pop/Culture.cpp @@ -28,11 +28,11 @@ bool CultureGroup::get_is_overseas() const { } Culture::Culture(std::string_view new_identifier, colour_t new_colour, CultureGroup const& new_group, - std::vector<std::string> const& new_first_names, std::vector<std::string> const& new_last_names) + std::vector<std::string>&& new_first_names, std::vector<std::string>&& new_last_names) : HasIdentifierAndColour { new_identifier, new_colour, true, false }, group { new_group }, - first_names { new_first_names }, - last_names { new_last_names } {} + first_names { std::move(new_first_names) }, + last_names { std::move(new_last_names) } {} CultureGroup const& Culture::get_group() const { return group; @@ -79,7 +79,7 @@ bool CultureManager::add_culture_group(std::string_view identifier, std::string_ return culture_groups.add_item({ identifier, leader, *graphical_culture_type, is_overseas }); } -bool CultureManager::add_culture(std::string_view identifier, colour_t colour, CultureGroup const* group, std::vector<std::string> const& first_names, std::vector<std::string> const& last_names) { +bool CultureManager::add_culture(std::string_view identifier, colour_t colour, CultureGroup const* group, std::vector<std::string>&& first_names, std::vector<std::string>&& last_names) { if (!culture_groups.is_locked()) { Logger::error("Cannot register cultures until culture groups are locked!"); return false; @@ -96,7 +96,7 @@ bool CultureManager::add_culture(std::string_view identifier, colour_t colour, C Logger::error("Invalid culture colour for ", identifier, ": ", colour_to_hex_string(colour)); return false; } - return cultures.add_item({ identifier, colour, *group, first_names, last_names }); + return cultures.add_item({ identifier, colour, *group, std::move(first_names), std::move(last_names) }); } bool CultureManager::load_graphical_culture_type_file(ast::NodeCPtr root) { @@ -137,12 +137,12 @@ bool CultureManager::_load_culture(CultureGroup const* culture_group, bool ret = expect_dictionary_keys( "color", ONE_EXACTLY, expect_colour(assign_variable_callback(colour)), - "first_names", ONE_EXACTLY, name_list_callback(first_names), - "last_names", ONE_EXACTLY, name_list_callback(last_names), + "first_names", ONE_EXACTLY, name_list_callback(move_variable_callback(first_names)), + "last_names", ONE_EXACTLY, name_list_callback(move_variable_callback(last_names)), "radicalism", ZERO_OR_ONE, success_callback, "primary", ZERO_OR_ONE, success_callback )(culture_node); - ret &= add_culture(culture_key, colour, culture_group, first_names, last_names); + ret &= add_culture(culture_key, colour, culture_group, std::move(first_names), std::move(last_names)); return ret; } diff --git a/src/openvic-simulation/pop/Culture.hpp b/src/openvic-simulation/pop/Culture.hpp index d36a90b..688733e 100644 --- a/src/openvic-simulation/pop/Culture.hpp +++ b/src/openvic-simulation/pop/Culture.hpp @@ -45,7 +45,7 @@ namespace OpenVic { // TODO - radicalism, primary tag - Culture(std::string_view new_identifier, colour_t new_colour, CultureGroup const& new_group, std::vector<std::string> const& new_first_names, std::vector<std::string> const& new_last_names); + Culture(std::string_view new_identifier, colour_t new_colour, CultureGroup const& new_group, std::vector<std::string>&& new_first_names, std::vector<std::string>&& new_last_names); public: Culture(Culture&&) = default; @@ -74,7 +74,7 @@ namespace OpenVic { bool add_culture_group(std::string_view identifier, std::string_view leader, GraphicalCultureType const* new_graphical_culture_type, bool is_overseas); IDENTIFIER_REGISTRY_ACCESSORS(culture_group) - bool add_culture(std::string_view identifier, colour_t colour, CultureGroup const* group, std::vector<std::string> const& first_names, std::vector<std::string> const& last_names); + bool add_culture(std::string_view identifier, colour_t colour, CultureGroup const* group, std::vector<std::string>&& first_names, std::vector<std::string>&& last_names); IDENTIFIER_REGISTRY_ACCESSORS(culture) bool load_graphical_culture_type_file(ast::NodeCPtr root); |