From 1ef03a1c7043d617885d319b0803d69907c3c9cc Mon Sep 17 00:00:00 2001 From: Klaus Aehlig Date: Mon, 28 Feb 2022 13:24:26 +0100 Subject: Pass actions and trees in analysis result as shared pointer ... to avoid unnecessary copying and moving of larger objects. --- src/buildtool/main/main.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'src/buildtool/main/main.cpp') diff --git a/src/buildtool/main/main.cpp b/src/buildtool/main/main.cpp index d1343ad5..eb555a8c 100644 --- a/src/buildtool/main/main.cpp +++ b/src/buildtool/main/main.cpp @@ -694,10 +694,11 @@ struct AnalysisResult { [[nodiscard]] auto TargetActionsToJson(AnalysedTargetPtr const& target) -> nlohmann::json { auto actions = nlohmann::json::array(); - std::for_each( - target->Actions().begin(), - target->Actions().end(), - [&actions](auto const& action) { actions.push_back(action.ToJson()); }); + std::for_each(target->Actions().begin(), + target->Actions().end(), + [&actions](auto const& action) { + actions.push_back(action->ToJson()); + }); return actions; } @@ -707,7 +708,7 @@ struct AnalysisResult { std::for_each( target->Trees().begin(), target->Trees().end(), - [&trees](auto const& tree) { trees[tree.Id()] = tree.ToJson(); }); + [&trees](auto const& tree) { trees[tree->Id()] = tree->ToJson(); }); return trees; } -- cgit v1.2.3