diff options
Diffstat (limited to 'src/buildtool/execution_engine')
-rw-r--r-- | src/buildtool/execution_engine/dag/dag.cpp | 20 | ||||
-rw-r--r-- | src/buildtool/execution_engine/dag/dag.hpp | 15 | ||||
-rw-r--r-- | src/buildtool/execution_engine/executor/executor.hpp | 10 |
3 files changed, 20 insertions, 25 deletions
diff --git a/src/buildtool/execution_engine/dag/dag.cpp b/src/buildtool/execution_engine/dag/dag.cpp index 5d60dd01..6eb492a8 100644 --- a/src/buildtool/execution_engine/dag/dag.cpp +++ b/src/buildtool/execution_engine/dag/dag.cpp @@ -96,22 +96,18 @@ auto DependencyGraph::LinkNodePointers( auto DependencyGraph::Add(std::vector<ActionDescription> const& actions) -> bool { - for (auto const& action : actions) { - if (not AddAction(action)) { - return false; - } - } - return true; + return std::all_of( + actions.begin(), actions.end(), [this](auto const& action) { + return AddAction(action); + }); } auto DependencyGraph::Add(std::vector<ActionDescription::Ptr> const& actions) -> bool { - for (auto const& action : actions) { - if (not AddAction(*action)) { - return false; - } - } - return true; + return std::all_of( + actions.begin(), actions.end(), [this](auto const& action) { + return AddAction(*action); + }); } auto DependencyGraph::AddArtifact(ArtifactDescription const& description) diff --git a/src/buildtool/execution_engine/dag/dag.hpp b/src/buildtool/execution_engine/dag/dag.hpp index 500ff0fc..bcc0cd48 100644 --- a/src/buildtool/execution_engine/dag/dag.hpp +++ b/src/buildtool/execution_engine/dag/dag.hpp @@ -163,6 +163,7 @@ class DirectedAcyclicGraph { protected: template <typename T_Node> + // NOLINTNEXTLINE(misc-no-recursion) [[nodiscard]] static auto check_validity( gsl::not_null<T_Node*> node) noexcept -> bool { // Check node-specified validity (e.g. bipartiteness requirements) @@ -560,13 +561,13 @@ class DependencyGraph : DirectedAcyclicGraph { -> std::optional<ActionIdentifier>; [[nodiscard]] auto IsValid() const noexcept -> bool { - for (auto const& node : artifact_nodes_) { - if (!DirectedAcyclicGraph::check_validity< - std::remove_reference_t<decltype(*node)>>(&(*node))) { - return false; - } - } - return true; + return std::all_of( + artifact_nodes_.begin(), + artifact_nodes_.end(), + [](auto const& node) { + return DirectedAcyclicGraph::check_validity< + std::remove_reference_t<decltype(*node)>>(&(*node)); + }); } private: diff --git a/src/buildtool/execution_engine/executor/executor.hpp b/src/buildtool/execution_engine/executor/executor.hpp index d46c290b..94c32b1f 100644 --- a/src/buildtool/execution_engine/executor/executor.hpp +++ b/src/buildtool/execution_engine/executor/executor.hpp @@ -237,12 +237,10 @@ class ExecutorImpl { [[nodiscard]] static auto CheckOutputsExist( IExecutionResponse::ArtifactInfos const& artifacts, std::vector<Action::LocalPath> const& outputs) noexcept -> bool { - for (auto const& output : outputs) { - if (not artifacts.contains(output)) { - return false; - } - } - return true; + return std::all_of( + outputs.begin(), outputs.end(), [&artifacts](auto const& output) { + return artifacts.contains(output); + }); } /// \brief Parse response and write object info to DAG's artifact nodes. |