6 uint_fast64_t lineNumber)
7 :
LocatedInformation(filename, lineNumber), variable(variable), expression(expression) {
12 return variable.getName();
20 return this->expression;
32 if (this->expression.isVariable()) {
33 STORM_LOG_ASSERT(this->expression.getVariables().size() == 1,
"Invalid number of variables.");
34 return variable == *(this->expression.getVariables().begin());
storm::expressions::Variable const & getVariable() const
Retrieves the variable that is written to by this assignment.
std::string const & getVariableName() const
Retrieves the name of the variable that this assignment targets.
storm::expressions::Expression const & getExpression() const
Retrieves the expression that is assigned to the variable.
bool isIdentity() const
Checks whether the assignment is an identity (lhs equals rhs).
Assignment substitute(std::map< storm::expressions::Variable, storm::expressions::Expression > const &substitution) const
Substitutes all variables in the assignment according to the given map.
Assignment substituteNonStandardPredicates() const
Assignment(storm::expressions::Variable const &variable, storm::expressions::Expression const &expression, std::string const &filename="", uint_fast64_t lineNumber=0)
Constructs an assignment using the given variable name and expression.
#define STORM_LOG_ASSERT(cond, message)
std::ostream & operator<<(std::ostream &stream, Assignment const &assignment)