From 0dfdfe7db80e499c74d4373b7b084bbd9be21b20 Mon Sep 17 00:00:00 2001
From: dehnert <dehnert@cs.rwth-aachen.de>
Date: Sat, 27 Feb 2016 16:25:19 +0100
Subject: [PATCH] using flat_map in model building instead of unordered_map

Former-commit-id: ff895d2bcc95582afafdaae0760df92ea801693d
---
 src/generator/PrismNextStateGenerator.cpp | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/generator/PrismNextStateGenerator.cpp b/src/generator/PrismNextStateGenerator.cpp
index ad3ce3080..fac3be0f5 100644
--- a/src/generator/PrismNextStateGenerator.cpp
+++ b/src/generator/PrismNextStateGenerator.cpp
@@ -1,5 +1,7 @@
 #include "src/generator/PrismNextStateGenerator.h"
 
+#include <boost/container/flat_map.hpp>
+
 #include "src/utility/constants.h"
 #include "src/utility/macros.h"
 #include "src/exceptions/WrongFormatException.h"
@@ -306,8 +308,9 @@ namespace storm {
                     // As long as there is one feasible combination of commands, keep on expanding it.
                     bool done = false;
                     while (!done) {
-                        std::unordered_map<CompressedState, ValueType>* currentTargetStates = new std::unordered_map<CompressedState, ValueType>();
-                        std::unordered_map<CompressedState, ValueType>* newTargetStates = new std::unordered_map<CompressedState, ValueType>();
+                        boost::container::flat_map<CompressedState, ValueType>* currentTargetStates = new boost::container::flat_map<CompressedState, ValueType>();
+                        boost::container::flat_map<CompressedState, ValueType>* newTargetStates = new boost::container::flat_map<CompressedState, ValueType>();
+                        
                         currentTargetStates->emplace(state, storm::utility::one<ValueType>());
                         
                         for (uint_fast64_t i = 0; i < iteratorList.size(); ++i) {
@@ -327,7 +330,7 @@ namespace storm {
                             if (i < iteratorList.size() - 1) {
                                 delete currentTargetStates;
                                 currentTargetStates = newTargetStates;
-                                newTargetStates = new std::unordered_map<CompressedState, ValueType>();
+                                newTargetStates = new boost::container::flat_map<CompressedState, ValueType>();
                             }
                         }