Storm
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
ValueArrayExpression.h
Go to the documentation of this file.
1#pragma once
2
4
5#include <memory>
6#include <string>
7#include <vector>
9
10namespace storm {
11namespace expressions {
16 public:
17 ValueArrayExpression(ExpressionManager const& manager, Type const& type, std::vector<std::shared_ptr<BaseExpression const>> const& elements);
18
19 // Instantiate constructors and assignments with their default implementations.
24
25 virtual ~ValueArrayExpression() = default;
26
27 virtual void gatherVariables(std::set<storm::expressions::Variable>& variables) const override;
28 virtual bool containsVariables() const override;
29 virtual std::shared_ptr<BaseExpression const> simplify() const override;
30 virtual boost::any accept(ExpressionVisitor& visitor, boost::any const& data) const override;
31
32 // Returns the size of the array
33 virtual std::shared_ptr<BaseExpression const> size() const override;
34
35 // Returns the element at position i
36 virtual std::shared_ptr<BaseExpression const> at(uint64_t i) const override;
37
38 protected:
39 virtual void printToStream(std::ostream& stream) const override;
40
41 private:
42 std::vector<std::shared_ptr<BaseExpression const>> elements;
43};
44} // namespace expressions
45} // namespace storm
The base class of all array expressions.
This class is responsible for managing a set of typed variables and all expressions using these varia...
Represents an array with a given list of elements.
virtual std::shared_ptr< BaseExpression const > size() const override
virtual std::shared_ptr< BaseExpression const > at(uint64_t i) const override
ValueArrayExpression(ValueArrayExpression &&)=default
virtual std::shared_ptr< BaseExpression const > simplify() const override
Simplifies the expression according to some simple rules.
virtual void gatherVariables(std::set< storm::expressions::Variable > &variables) const override
Retrieves the set of all variables that appear in the expression.
ValueArrayExpression & operator=(ValueArrayExpression &&)=delete
virtual bool containsVariables() const override
Retrieves whether the expression contains a variable.
virtual void printToStream(std::ostream &stream) const override
Prints the expression to the given stream.
ValueArrayExpression & operator=(ValueArrayExpression const &other)=delete
ValueArrayExpression(ValueArrayExpression const &other)=default
virtual boost::any accept(ExpressionVisitor &visitor, boost::any const &data) const override
Accepts the given visitor by calling its visit method.
LabParser.cpp.
Definition cli.cpp:18