From f0dd758b6c7f35ffb1f6b237805bcb8d39c20cc5 Mon Sep 17 00:00:00 2001 From: hop311 Date: Wed, 3 Jan 2024 14:30:23 +0000 Subject: Added case insensitive ordered set and map and IdentifierRegistry --- src/openvic-simulation/dataloader/Dataloader.cpp | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) (limited to 'src/openvic-simulation/dataloader/Dataloader.cpp') 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 #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() ); } ); -- cgit v1.2.3-56-ga3b1