Storm
A Modern Probabilistic Model Checker
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
storm::expressions::SubstitutionVisitor< MapType > Class Template Reference

#include <SubstitutionVisitor.h>

Inheritance diagram for storm::expressions::SubstitutionVisitor< MapType >:
Collaboration diagram for storm::expressions::SubstitutionVisitor< MapType >:

Public Member Functions

 SubstitutionVisitor (MapType const &variableToExpressionMapping)
 Creates a new substitution visitor that uses the given map to replace variables.
 
Expression substitute (Expression const &expression)
 Substitutes the identifiers in the given expression according to the previously given map and returns the resulting expression.
 
virtual boost::any visit (IfThenElseExpression const &expression, boost::any const &data) override
 
virtual boost::any visit (BinaryBooleanFunctionExpression const &expression, boost::any const &data) override
 
virtual boost::any visit (BinaryNumericalFunctionExpression const &expression, boost::any const &data) override
 
virtual boost::any visit (BinaryRelationExpression const &expression, boost::any const &data) override
 
virtual boost::any visit (VariableExpression const &expression, boost::any const &data) override
 
virtual boost::any visit (UnaryBooleanFunctionExpression const &expression, boost::any const &data) override
 
virtual boost::any visit (UnaryNumericalFunctionExpression const &expression, boost::any const &data) override
 
virtual boost::any visit (BooleanLiteralExpression const &expression, boost::any const &data) override
 
virtual boost::any visit (IntegerLiteralExpression const &expression, boost::any const &data) override
 
virtual boost::any visit (RationalLiteralExpression const &expression, boost::any const &data) override
 
virtual boost::any visit (PredicateExpression const &expression, boost::any const &data) override
 
- Public Member Functions inherited from storm::expressions::ExpressionVisitor
virtual ~ExpressionVisitor ()=default
 

Protected Attributes

MapType const & variableToExpressionMapping
 

Detailed Description

template<typename MapType>
class storm::expressions::SubstitutionVisitor< MapType >

Definition at line 12 of file SubstitutionVisitor.h.

Constructor & Destructor Documentation

◆ SubstitutionVisitor()

template<typename MapType >
storm::expressions::SubstitutionVisitor< MapType >::SubstitutionVisitor ( MapType const &  variableToExpressionMapping)

Creates a new substitution visitor that uses the given map to replace variables.

Parameters
variableToExpressionMappingA mapping from variables to expressions.

Definition at line 11 of file SubstitutionVisitor.cpp.

Member Function Documentation

◆ substitute()

template<typename MapType >
Expression storm::expressions::SubstitutionVisitor< MapType >::substitute ( Expression const &  expression)

Substitutes the identifiers in the given expression according to the previously given map and returns the resulting expression.

Parameters
expressionThe expression in which to substitute the identifiers.
Returns
The expression in which all identifiers in the key set of the previously given mapping are substituted with the mapped-to expressions.

Definition at line 16 of file SubstitutionVisitor.cpp.

◆ visit() [1/11]

template<typename MapType >
boost::any storm::expressions::SubstitutionVisitor< MapType >::visit ( BinaryBooleanFunctionExpression const &  expression,
boost::any const &  data 
)
overridevirtual

Implements storm::expressions::ExpressionVisitor.

Definition at line 40 of file SubstitutionVisitor.cpp.

◆ visit() [2/11]

template<typename MapType >
boost::any storm::expressions::SubstitutionVisitor< MapType >::visit ( BinaryNumericalFunctionExpression const &  expression,
boost::any const &  data 
)
overridevirtual

Implements storm::expressions::ExpressionVisitor.

Definition at line 56 of file SubstitutionVisitor.cpp.

◆ visit() [3/11]

template<typename MapType >
boost::any storm::expressions::SubstitutionVisitor< MapType >::visit ( BinaryRelationExpression const &  expression,
boost::any const &  data 
)
overridevirtual

Implements storm::expressions::ExpressionVisitor.

Definition at line 72 of file SubstitutionVisitor.cpp.

◆ visit() [4/11]

template<typename MapType >
boost::any storm::expressions::SubstitutionVisitor< MapType >::visit ( BooleanLiteralExpression const &  expression,
boost::any const &  data 
)
overridevirtual

Implements storm::expressions::ExpressionVisitor.

Definition at line 147 of file SubstitutionVisitor.cpp.

◆ visit() [5/11]

template<typename MapType >
boost::any storm::expressions::SubstitutionVisitor< MapType >::visit ( IfThenElseExpression const &  expression,
boost::any const &  data 
)
overridevirtual

Implements storm::expressions::ExpressionVisitor.

Definition at line 21 of file SubstitutionVisitor.cpp.

◆ visit() [6/11]

template<typename MapType >
boost::any storm::expressions::SubstitutionVisitor< MapType >::visit ( IntegerLiteralExpression const &  expression,
boost::any const &  data 
)
overridevirtual

Implements storm::expressions::ExpressionVisitor.

Definition at line 152 of file SubstitutionVisitor.cpp.

◆ visit() [7/11]

template<typename MapType >
boost::any storm::expressions::SubstitutionVisitor< MapType >::visit ( PredicateExpression const &  expression,
boost::any const &  data 
)
overridevirtual

Reimplemented from storm::expressions::ExpressionVisitor.

Definition at line 127 of file SubstitutionVisitor.cpp.

◆ visit() [8/11]

template<typename MapType >
boost::any storm::expressions::SubstitutionVisitor< MapType >::visit ( RationalLiteralExpression const &  expression,
boost::any const &  data 
)
overridevirtual

Implements storm::expressions::ExpressionVisitor.

Definition at line 157 of file SubstitutionVisitor.cpp.

◆ visit() [9/11]

template<typename MapType >
boost::any storm::expressions::SubstitutionVisitor< MapType >::visit ( UnaryBooleanFunctionExpression const &  expression,
boost::any const &  data 
)
overridevirtual

Implements storm::expressions::ExpressionVisitor.

Definition at line 99 of file SubstitutionVisitor.cpp.

◆ visit() [10/11]

template<typename MapType >
boost::any storm::expressions::SubstitutionVisitor< MapType >::visit ( UnaryNumericalFunctionExpression const &  expression,
boost::any const &  data 
)
overridevirtual

Implements storm::expressions::ExpressionVisitor.

Definition at line 113 of file SubstitutionVisitor.cpp.

◆ visit() [11/11]

template<typename MapType >
boost::any storm::expressions::SubstitutionVisitor< MapType >::visit ( VariableExpression const &  expression,
boost::any const &  data 
)
overridevirtual

Implements storm::expressions::ExpressionVisitor.

Definition at line 88 of file SubstitutionVisitor.cpp.

Member Data Documentation

◆ variableToExpressionMapping

template<typename MapType >
MapType const& storm::expressions::SubstitutionVisitor< MapType >::variableToExpressionMapping
protected

Definition at line 45 of file SubstitutionVisitor.h.


The documentation for this class was generated from the following files: