Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
src: use ranges library (C++20) to simplify code
  • Loading branch information
lemire authored and Daniel Lemire committed Apr 22, 2025
commit 9c5e4ab0380e2ce4573c2bab8b17aa7216d351a1
16 changes: 8 additions & 8 deletions src/node_options-inl.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
#if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS

#include <cstdlib>
#include <ranges>
#include "node_options.h"
#include "util.h"

Expand Down Expand Up @@ -394,14 +395,13 @@ void OptionsParser<Options>::Parse(
implied_name.insert(2, "no-");
}
auto implications = implications_.equal_range(implied_name);
for (auto imp = implications.first; imp != implications.second; ++imp) {
if (imp->second.type == kV8Option) {
v8_args->push_back(imp->second.name);
} else {
*imp->second.target_field->template Lookup<bool>(options) =
imp->second.target_value;
}
}
std::ranges::for_each(implications | std::views::values, [&](const auto& value) {
if (value.type == kV8Option) {
v8_args->push_back(value.name);
} else {
*value.target_field->template Lookup<bool>(options) = value.target_value;
}
});
}

if (it == options_.end()) {
Expand Down