diff options
author | Hop311 <Hop3114@gmail.com> | 2024-01-03 16:02:40 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-01-03 16:02:40 +0100 |
commit | b06b25bd2910818029ebbf1cd3014ef20a64e25b (patch) | |
tree | 21e54285c4f3927ecd3b1b621587d75b875ac3d3 /src/openvic-simulation/dataloader/Dataloader.cpp | |
parent | 461ec160448373f8d9492b9c586ff53a35edef18 (diff) | |
parent | f0dd758b6c7f35ffb1f6b237805bcb8d39c20cc5 (diff) |
Merge pull request #118 from OpenVicProject/case-insensitive-registry
Added case insensitive ordered set and map and IdentifierRegistry
Diffstat (limited to 'src/openvic-simulation/dataloader/Dataloader.cpp')
-rw-r--r-- | src/openvic-simulation/dataloader/Dataloader.cpp | 15 |
1 files changed, 4 insertions, 11 deletions
diff --git a/src/openvic-simulation/dataloader/Dataloader.cpp b/src/openvic-simulation/dataloader/Dataloader.cpp index 64d89e8..223b795 100644 --- a/src/openvic-simulation/dataloader/Dataloader.cpp +++ b/src/openvic-simulation/dataloader/Dataloader.cpp @@ -8,8 +8,8 @@ #include <lexy-vdf/Parser.hpp> #include "openvic-simulation/GameManager.hpp" -#include "openvic-simulation/utility/ConstexprIntToStr.hpp" #include "openvic-simulation/utility/Logger.hpp" +#include "openvic-simulation/utility/StringUtils.hpp" using namespace OpenVic; using namespace OpenVic::NodeTools; @@ -34,13 +34,6 @@ static fs::path ensure_forward_slash_path(std::string_view path) { #endif } -static constexpr bool path_equals_case_insensitive(std::string_view lhs, std::string_view rhs) { - constexpr auto ichar_equals = [](unsigned char l, unsigned char r) { - return std::tolower(l) == std::tolower(r); - }; - return std::equal(lhs.begin(), lhs.end(), rhs.begin(), rhs.end(), ichar_equals); -} - bool Dataloader::set_roots(path_vector_t const& new_roots) { if (!roots.empty()) { Logger::error("Overriding existing dataloader roots!"); @@ -91,7 +84,7 @@ fs::path Dataloader::lookup_file(std::string_view path, bool print_error) const for (fs::directory_entry const& entry : fs::directory_iterator { composed.parent_path(), ec }) { if (entry.is_regular_file()) { const fs::path file = entry; - if (path_equals_case_insensitive(file.filename().string(), filename)) { + if (StringUtils::strings_equal_case_insensitive(file.filename().string(), filename)) { return file; } } @@ -599,9 +592,9 @@ bool Dataloader::_load_events(GameManager& game_manager) { static constexpr std::string_view events_directory = "events"; const bool ret = apply_to_files( lookup_files_in_dir(events_directory, ".txt"), - [&game_manager](fs::path const& file) -> bool { + [this, &game_manager](fs::path const& file) -> bool { return game_manager.get_event_manager().load_event_file( - game_manager.get_politics_manager().get_issue_manager(), parse_defines(file).get_file_node() + game_manager.get_politics_manager().get_issue_manager(), parse_defines_cached(file).get_file_node() ); } ); |