Storm 1.10.0.1
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
7
8namespace storm {
9namespace prism {
10class IntegerVariable : public Variable {
11 public:
12 // Create default implementations of constructors/assignment.
13 IntegerVariable() = default;
14 IntegerVariable(IntegerVariable const& other) = default;
15 IntegerVariable& operator=(IntegerVariable const& other) = default;
16 IntegerVariable(IntegerVariable&& other) = default;
18
29 IntegerVariable(storm::expressions::Variable const& variable, storm::expressions::Expression const& lowerBoundExpression,
30 storm::expressions::Expression const& upperBoundExpression, storm::expressions::Expression const& initialValueExpression, bool observable,
31 std::string const& filename = "", uint_fast64_t lineNumber = 0);
32
36 bool hasLowerBoundExpression() const;
37
44
48 bool hasUpperBoundExpression() const;
49
56
65
72 IntegerVariable substitute(std::map<storm::expressions::Variable, storm::expressions::Expression> const& substitution) const;
73
75
76 virtual void createMissingInitialValue() override;
77
78 friend std::ostream& operator<<(std::ostream& stream, IntegerVariable const& variable);
79
80 private:
81 // A constant expression that specifies the lower bound of the domain of the variable.
82 storm::expressions::Expression lowerBoundExpression;
83
84 // A constant expression that specifies the upper bound of the domain of the variable.
85 storm::expressions::Expression upperBoundExpression;
86};
87
88} // namespace prism
89} // namespace storm
90
91#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.