#ifndef STORM_LOGIC_LABELSUBSTITUTIONVISITOR_H_ #define STORM_LOGIC_LABELSUBSTITUTIONVISITOR_H_ #include #include "src/logic/CloneVisitor.h" #include "src/storage/expressions/Expression.h" namespace storm { namespace logic { class LabelSubstitutionVisitor : public CloneVisitor { public: LabelSubstitutionVisitor(std::map const& labelToExpressionMapping); std::shared_ptr substitute(Formula const& f) const; virtual boost::any visit(AtomicLabelFormula const& f, boost::any const& data) const override; private: std::map const& labelToExpressionMapping; }; } } #endif /* STORM_LOGIC_FORMULAINFORMATIONVISITOR_H_ */