diff --git a/src/storm/modelchecker/AbstractModelChecker.cpp b/src/storm/modelchecker/AbstractModelChecker.cpp index e6c4f282f..1408b8987 100644 --- a/src/storm/modelchecker/AbstractModelChecker.cpp +++ b/src/storm/modelchecker/AbstractModelChecker.cpp @@ -24,9 +24,16 @@ #include "storm/storage/dd/Add.h" #include "storm/storage/dd/Bdd.h" +#include + namespace storm { namespace modelchecker { + template + std::string AbstractModelChecker::getClassName() const { + return std::string(boost::core::demangled_name(BOOST_CORE_TYPEID(*this))); + } + template std::unique_ptr AbstractModelChecker::check(CheckTask const& checkTask) { Environment env; diff --git a/src/storm/modelchecker/AbstractModelChecker.h b/src/storm/modelchecker/AbstractModelChecker.h index 3251ea1fa..44373de03 100644 --- a/src/storm/modelchecker/AbstractModelChecker.h +++ b/src/storm/modelchecker/AbstractModelChecker.h @@ -1,6 +1,7 @@ #ifndef STORM_MODELCHECKER_ABSTRACTMODELCHECKER_H_ #define STORM_MODELCHECKER_ABSTRACTMODELCHECKER_H_ +#include #include #include "storm/modelchecker/CheckTask.h" @@ -24,7 +25,12 @@ namespace storm { } typedef typename ModelType::ValueType ValueType; - + + /*! + * Returns the name of the model checker class (e.g., for display in error messages). + */ + virtual std::string getClassName() const; + /*! * Determines whether the model checker can handle the given verification task. If this method returns * false, the task must not be checked using this model checker.