aboutsummaryrefslogtreecommitdiff
path: root/src/openvic-simulation/dataloader/Dataloader.cpp
diff options
context:
space:
mode:
author Hop311 <Hop3114@gmail.com>2024-01-03 16:02:40 +0100
committer GitHub <noreply@github.com>2024-01-03 16:02:40 +0100
commitb06b25bd2910818029ebbf1cd3014ef20a64e25b (patch)
tree21e54285c4f3927ecd3b1b621587d75b875ac3d3 /src/openvic-simulation/dataloader/Dataloader.cpp
parent461ec160448373f8d9492b9c586ff53a35edef18 (diff)
parentf0dd758b6c7f35ffb1f6b237805bcb8d39c20cc5 (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.cpp15
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()
);
}
);