Storm 1.14.0.1
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
UnaryExpression.h
Go to the documentation of this file.
1#pragma once
2
5
6namespace storm {
7namespace expressions {
9 public:
17 UnaryExpression(ExpressionManager const& manager, Type const& type, std::shared_ptr<BaseExpression const> const& operand);
18
19 // Instantiate constructors and assignments with their default implementations.
20 UnaryExpression(UnaryExpression const& other) = default;
21 UnaryExpression& operator=(UnaryExpression const& other) = delete;
24 virtual ~UnaryExpression() = default;
25
26 // Override base class methods.
27 virtual bool isFunctionApplication() const override;
28 virtual bool containsVariables() const override;
29 virtual uint_fast64_t getArity() const override;
30 virtual std::shared_ptr<BaseExpression const> getOperand(uint_fast64_t operandIndex) const override;
31 virtual void gatherVariables(std::set<storm::expressions::Variable>& variables) const override;
32
38 std::shared_ptr<BaseExpression const> const& getOperand() const;
39
40 private:
41 // The operand of the unary expression.
42 std::shared_ptr<BaseExpression const> operand;
43};
44} // namespace expressions
45} // namespace storm
BaseExpression(ExpressionManager const &manager, Type const &type)
Constructs a base expression with the given return type.
This class is responsible for managing a set of typed variables and all expressions using these varia...
UnaryExpression(ExpressionManager const &manager, Type const &type, std::shared_ptr< BaseExpression const > const &operand)
Creates a unary expression with the given return type and operand.
UnaryExpression & operator=(UnaryExpression const &other)=delete
virtual bool isFunctionApplication() const override
Checks if the expression is a function application (of any sort).
UnaryExpression & operator=(UnaryExpression &&)=delete
virtual void gatherVariables(std::set< storm::expressions::Variable > &variables) const override
Retrieves the set of all variables that appear in the expression.
std::shared_ptr< BaseExpression const > const & getOperand() const
Retrieves the operand of the unary expression.
virtual bool containsVariables() const override
Retrieves whether the expression contains a variable.
virtual uint_fast64_t getArity() const override
Returns the arity of the expression.
UnaryExpression(UnaryExpression &&)=default
UnaryExpression(UnaryExpression const &other)=default