Storm
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
BinaryRelationExpression.h
Go to the documentation of this file.
1#ifndef STORM_STORAGE_EXPRESSIONS_BINARYRELATIONEXPRESSION_H_
2#define STORM_STORAGE_EXPRESSIONS_BINARYRELATIONEXPRESSION_H_
3
7
8namespace storm {
9namespace expressions {
11 public:
21 BinaryRelationExpression(ExpressionManager const& manager, Type const& type, std::shared_ptr<BaseExpression const> const& firstOperand,
22 std::shared_ptr<BaseExpression const> const& secondOperand, RelationType relationType);
23
24 // Instantiate constructors and assignments with their default implementations.
29
30 virtual ~BinaryRelationExpression() = default;
31
32 // Override base class methods.
33 virtual storm::expressions::OperatorType getOperator() const override;
34 virtual bool evaluateAsBool(Valuation const* valuation = nullptr) const override;
35 virtual std::shared_ptr<BaseExpression const> simplify() const override;
36 virtual boost::any accept(ExpressionVisitor& visitor, boost::any const& data) const override;
37 virtual bool isBinaryRelationExpression() const override;
38
45
46 protected:
47 // Override base class method.
48 virtual void printToStream(std::ostream& stream) const override;
49
50 private:
51 // The relation type of the expression.
52 RelationType relationType;
53};
54} // namespace expressions
55} // namespace storm
56
57#endif /* STORM_STORAGE_EXPRESSIONS_BINARYRELATIONEXPRESSION_H_ */
The base class of all binary expressions.
RelationType getRelationType() const
Retrieves the relation associated with the expression.
BinaryRelationExpression & operator=(BinaryRelationExpression &&)=delete
virtual boost::any accept(ExpressionVisitor &visitor, boost::any const &data) const override
Accepts the given visitor by calling its visit method.
virtual void printToStream(std::ostream &stream) const override
Prints the expression to the given stream.
BinaryRelationExpression(BinaryRelationExpression const &other)=default
virtual storm::expressions::OperatorType getOperator() const override
Retrieves the operator of a function application.
virtual std::shared_ptr< BaseExpression const > simplify() const override
Simplifies the expression according to some simple rules.
BinaryRelationExpression & operator=(BinaryRelationExpression const &other)=delete
BinaryRelationExpression(BinaryRelationExpression &&)=default
virtual bool evaluateAsBool(Valuation const *valuation=nullptr) const override
Evaluates the expression under the valuation of unknowns (variables and constants) given by the valua...
This class is responsible for managing a set of typed variables and all expressions using these varia...
The base class of all valuations of variables.
Definition Valuation.h:16
RelationType
An enum type specifying the different relations applicable.
LabParser.cpp.
Definition cli.cpp:18