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