From ecb214bc10fbab7194a9fb03043c88c1b138ffd6 Mon Sep 17 00:00:00 2001
From: sjunges <sebastian.junges@rwth-aachen.de>
Date: Thu, 8 Oct 2015 14:37:26 +0200
Subject: [PATCH] StateInfo is a StateAnnotation now

Former-commit-id: d65584b97da1ffe63c36ef699efe41cc0efd9919
---
 src/builder/ExplicitPrismModelBuilder.h | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/src/builder/ExplicitPrismModelBuilder.h b/src/builder/ExplicitPrismModelBuilder.h
index 61d2e18fa..8680c0d7b 100644
--- a/src/builder/ExplicitPrismModelBuilder.h
+++ b/src/builder/ExplicitPrismModelBuilder.h
@@ -16,6 +16,7 @@
 #include "src/storage/expressions/ExpressionEvaluator.h"
 #include "src/storage/BitVectorHashMap.h"
 #include "src/logic/Formulas.h"
+#include "src/models/sparse/StateAnnotation.h"
 #include "src/models/sparse/Model.h"
 #include "src/models/sparse/StateLabeling.h"
 #include "src/storage/SparseMatrix.h"
@@ -59,7 +60,7 @@ namespace storm {
             };
             
             // A structure holding information about the reachable state space that can be retrieved from the outside.
-            struct StateInformation {
+            struct StateInformation : public storm::models::sparse::StateAnnotation {
                 /*!
                  * Constructs a state information object for the given number of states.
                  */
@@ -67,6 +68,12 @@ namespace storm {
                 
                 // A mapping from state indices to their variable valuations.
                 std::vector<storm::expressions::SimpleValuation> valuations;
+
+                std::string stateInfo(uint_fast64_t state) const override {
+                    return valuations[state].toString();
+                }
+
+
             };
             
             // A structure storing information about the used variables of the program.
@@ -195,7 +202,7 @@ namespace storm {
                 bool buildAllRewardModels;
                 
                 // A flag that indicates whether or not to store the state information after successfully building the
-                // model. If it is to be preserved, it can be retrieved via the appropriate methods after a successfull
+                // model. If it is to be preserved, it can be retrieved via the appropriate methods after a successful
                 // call to <code>translateProgram</code>.
                 bool buildStateInformation;