Ninja: use structured bindings for readability Signed-off-by: Matthias Maennich <[email protected]>
diff --git a/src/ninja.cc b/src/ninja.cc index ad60b74..76fd5dc 100644 --- a/src/ninja.cc +++ b/src/ninja.cc
@@ -218,8 +218,8 @@ private: void PopulateNinjaNodes(const std::vector<NamedDepNode>& nodes) { ScopedTimeReporter tr("ninja gen (eval)"); - for (auto const& node : nodes) { - PopulateNinjaNode(*node.second); + for (auto const& [symbol, depnode] : nodes) { + PopulateNinjaNode(*depnode); } } @@ -246,14 +246,14 @@ nn.commands = ce_.Eval(node); nn.rule_id = nn.commands.empty() ? -1 : rule_id_++; - for (auto const& d : node.deps) { - PopulateNinjaNode(*d.second); + for (auto const& [symbol, depnode] : node.deps) { + PopulateNinjaNode(*depnode); } - for (auto const& d : node.order_onlys) { - PopulateNinjaNode(*d.second); + for (auto const& [symbol, depnode] : node.order_onlys) { + PopulateNinjaNode(*depnode); } - for (auto const& d : node.validations) { - PopulateNinjaNode(*d.second); + for (auto const& [symbol, depnode] : node.validations) { + PopulateNinjaNode(*depnode); } } @@ -622,8 +622,8 @@ if (!used_envs_.empty()) { out << "# Environment variables used:\n"; - for (const auto& p : used_envs_) { - out << "# " << p.first << "=" << p.second << '\n'; + for (const auto& [key, value] : used_envs_) { + out << "# " << key << "=" << value << '\n'; } out << '\n'; } @@ -681,12 +681,12 @@ fprintf(fp, "# Generated by kati %s\n", kGitVersion); fprintf(fp, "\n"); - for (const auto& p : ev_->exports()) { - if (p.second) { - const std::string val = ev_->EvalVar(p.first); - fprintf(fp, "export '%s'='%s'\n", p.first.c_str(), val.c_str()); + for (const auto& [symbol, is_exported] : ev_->exports()) { + if (is_exported) { + const std::string val = ev_->EvalVar(symbol); + fprintf(fp, "export '%s'='%s'\n", symbol.c_str(), val.c_str()); } else { - fprintf(fp, "unset '%s'\n", p.first.c_str()); + fprintf(fp, "unset '%s'\n", symbol.c_str()); } } @@ -736,17 +736,17 @@ DumpString(fp, v.str()); } DumpInt(fp, used_envs_.size()); - for (const auto& p : used_envs_) { - DumpString(fp, p.first); - DumpString(fp, p.second); + for (const auto& [key, value] : used_envs_) { + DumpString(fp, key); + DumpString(fp, value); } const std::unordered_map<std::string, std::vector<std::string>*>& globs = GetAllGlobCache(); DumpInt(fp, globs.size()); - for (const auto& p : globs) { - DumpString(fp, p.first); - const std::vector<std::string>& files = *p.second; + for (const auto& [key, values] : globs) { + DumpString(fp, key); + const std::vector<std::string>& files = *values; #if 0 std::unordered_set<std::string> dirs; GetReadDirs(p.first, files, &dirs);