Storm
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
FunctionCallExpression.h
Go to the documentation of this file.
1#pragma once
2
3#include <memory>
4#include <string>
5#include <vector>
7
8namespace storm {
9namespace expressions {
14 public:
15 FunctionCallExpression(ExpressionManager const& manager, Type const& type, std::string const& functionIdentifier,
16 std::vector<std::shared_ptr<BaseExpression const>> const& arguments);
17
18 // Instantiate constructors and assignments with their default implementations.
23
24 virtual ~FunctionCallExpression() = default;
25
26 virtual void gatherVariables(std::set<storm::expressions::Variable>& variables) const override;
27 virtual bool containsVariables() const override;
28 virtual std::shared_ptr<BaseExpression const> simplify() const override;
29 virtual boost::any accept(ExpressionVisitor& visitor, boost::any const& data) const override;
30
31 std::string const& getFunctionIdentifier() const;
32 uint64_t getNumberOfArguments() const;
33 std::shared_ptr<BaseExpression const> getArgument(uint64_t i) const;
34 std::vector<std::shared_ptr<BaseExpression const>> const& getArguments() const;
35
36 protected:
37 virtual void printToStream(std::ostream& stream) const override;
38
39 private:
40 std::string identifier;
41 std::vector<std::shared_ptr<BaseExpression const>> arguments;
42};
43} // namespace expressions
44} // namespace storm
The base class of all expression classes.
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 void gatherVariables(std::set< storm::expressions::Variable > &variables) const override
Retrieves the set of all variables that appear in the expression.
virtual bool containsVariables() const override
Retrieves whether the expression contains a variable.
std::vector< std::shared_ptr< BaseExpression const > > const & getArguments() const
virtual boost::any accept(ExpressionVisitor &visitor, boost::any const &data) const override
Accepts the given visitor by calling its visit method.
std::shared_ptr< BaseExpression const > getArgument(uint64_t i) const
FunctionCallExpression & operator=(FunctionCallExpression const &other)=delete
FunctionCallExpression(FunctionCallExpression const &other)=default
virtual void printToStream(std::ostream &stream) const override
Prints the expression to the given stream.
virtual std::shared_ptr< BaseExpression const > simplify() const override
Simplifies the expression according to some simple rules.
FunctionCallExpression & operator=(FunctionCallExpression &&)=delete
FunctionCallExpression(FunctionCallExpression &&)=default
LabParser.cpp.
Definition cli.cpp:18