Storm
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
IntegerVariable.h
Go to the documentation of this file.
1#ifndef STORM_STORAGE_PRISM_INTEGERVARIABLE_H_
2#define STORM_STORAGE_PRISM_INTEGERVARIABLE_H_
3
4#include <map>
5
8
9namespace storm {
10namespace prism {
11class IntegerVariable : public Variable {
12 public:
13 // Create default implementations of constructors/assignment.
14 IntegerVariable() = default;
15 IntegerVariable(IntegerVariable const& other) = default;
16 IntegerVariable& operator=(IntegerVariable const& other) = default;
17 IntegerVariable(IntegerVariable&& other) = default;
19
30 IntegerVariable(storm::expressions::Variable const& variable, storm::expressions::Expression const& lowerBoundExpression,
31 storm::expressions::Expression const& upperBoundExpression, storm::expressions::Expression const& initialValueExpression, bool observable,
32 std::string const& filename = "", uint_fast64_t lineNumber = 0);
33
37 bool hasLowerBoundExpression() const;
38
45
49 bool hasUpperBoundExpression() const;
50
57
66
73 IntegerVariable substitute(std::map<storm::expressions::Variable, storm::expressions::Expression> const& substitution) const;
74
76
77 virtual void createMissingInitialValue() override;
78
79 friend std::ostream& operator<<(std::ostream& stream, IntegerVariable const& variable);
80
81 private:
82 // A constant expression that specifies the lower bound of the domain of the variable.
83 storm::expressions::Expression lowerBoundExpression;
84
85 // A constant expression that specifies the upper bound of the domain of the variable.
86 storm::expressions::Expression upperBoundExpression;
87};
88
89} // namespace prism
90} // namespace storm
91
92#endif /* STORM_STORAGE_PRISM_INTEGERVARIABLE_H_ */
friend std::ostream & operator<<(std::ostream &stream, IntegerVariable const &variable)
IntegerVariable(IntegerVariable &&other)=default
storm::expressions::Expression getRangeExpression() const
Retrieves an expression characterizing the legal range of the variable.
storm::expressions::Expression const & getUpperBoundExpression() const
Retrieves an expression defining the upper bound for this integer variable.
storm::expressions::Expression const & getLowerBoundExpression() const
Retrieves an expression defining the lower bound for this integer variable.
IntegerVariable substituteNonStandardPredicates() const
IntegerVariable(IntegerVariable const &other)=default
IntegerVariable & operator=(IntegerVariable &&other)=default
virtual void createMissingInitialValue() override
Equips the variable with an initial value based on its type if not initial value is present.
IntegerVariable & operator=(IntegerVariable const &other)=default
IntegerVariable substitute(std::map< storm::expressions::Variable, storm::expressions::Expression > const &substitution) const
Substitutes all identifiers in the boolean variable according to the given map.
LabParser.cpp.
Definition cli.cpp:18