From 5471b99ae550a39ab9e8ca23a062b500be77d3cc Mon Sep 17 00:00:00 2001 From: Romain BERNARD <romain.bernard@uca.fr> Date: Mon, 11 Mar 2024 17:26:50 +0100 Subject: [PATCH] resize and initialize solution container on creation if a size is specified --- .../Transit/TransitStateContainer.h | 21 ++++++++++--------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/src/ShortestPath/Transit/TransitStateContainer.h b/src/ShortestPath/Transit/TransitStateContainer.h index 194f155..a1ed77f 100644 --- a/src/ShortestPath/Transit/TransitStateContainer.h +++ b/src/ShortestPath/Transit/TransitStateContainer.h @@ -23,19 +23,20 @@ private: public: explicit TransitStateContainer(int size) { - solutionVector.reserve(size); -// TransitAlgorithmState emptyState{}; FIXME -// for(size_t i = 0; i < size; ++i) { -// solutionVector.at(i).assign(2, TransitAlgorithmState(emptyState)); -// } + solutionVector.resize(size); + for(size_t i = 0; i < size; ++i) { + solutionVector.at(i).emplace_back(); + solutionVector.at(i).emplace_back(); + } } explicit TransitStateContainer(size_t size) { - solutionVector.reserve(size); -// TransitAlgorithmState emptyState{}; FIXME -// for(size_t i = 0; i < size; ++i) { -// solutionVector.at(i).assign(2, TransitAlgorithmState(emptyState)); -// } + //Reserve space for all nodes and add empty solutions to reserve memory + solutionVector.resize(size); + for(size_t i = 0; i < size; ++i) { + solutionVector.at(i).emplace_back(); + solutionVector.at(i).emplace_back(); + } } /** * Returns the current best solution for the given node index -- GitLab