From 731371aecebf11a7ac33096ee86de1420b5ceba9 Mon Sep 17 00:00:00 2001 From: Dennis Date: Thu, 23 May 2024 12:31:18 +0200 Subject: [PATCH] Avoid copy of std::function-based callback in path unpacking --- include/engine/datafacade/algorithm_datafacade.hpp | 2 +- include/engine/datafacade/contiguous_internalmem_datafacade.hpp | 2 +- unit_tests/mocks/mock_datafacade.hpp | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/include/engine/datafacade/algorithm_datafacade.hpp b/include/engine/datafacade/algorithm_datafacade.hpp index 7965784bc..5b9c65a5d 100644 --- a/include/engine/datafacade/algorithm_datafacade.hpp +++ b/include/engine/datafacade/algorithm_datafacade.hpp @@ -55,7 +55,7 @@ template <> class AlgorithmDataFacade virtual EdgeID FindSmallestEdge(const NodeID edge_based_node_from, const NodeID edge_based_node_to, - const std::function filter) const = 0; + const std::function &filter) const = 0; }; template <> class AlgorithmDataFacade diff --git a/include/engine/datafacade/contiguous_internalmem_datafacade.hpp b/include/engine/datafacade/contiguous_internalmem_datafacade.hpp index ac9497eb0..260766447 100644 --- a/include/engine/datafacade/contiguous_internalmem_datafacade.hpp +++ b/include/engine/datafacade/contiguous_internalmem_datafacade.hpp @@ -132,7 +132,7 @@ class ContiguousInternalMemoryAlgorithmDataFacade : public datafacade::Algor EdgeID FindSmallestEdge(const NodeID edge_based_node_from, const NodeID edge_based_node_to, - std::function filter) const override final + const std::function &filter) const override final { return m_query_graph.FindSmallestEdge(edge_based_node_from, edge_based_node_to, filter); } diff --git a/unit_tests/mocks/mock_datafacade.hpp b/unit_tests/mocks/mock_datafacade.hpp index a0de5a245..a1b36226e 100644 --- a/unit_tests/mocks/mock_datafacade.hpp +++ b/unit_tests/mocks/mock_datafacade.hpp @@ -240,7 +240,7 @@ class MockAlgorithmDataFacade EdgeID FindSmallestEdge(const NodeID /* from */, const NodeID /* to */, - std::function /* filter */) const override + const std::function &/* filter */) const override { return SPECIAL_EDGEID; }