3#include <boost/optional.hpp>
18 bool transient =
false);
28 std::unique_ptr<Variable>
clone()
const;
43 std::string
const&
getName()
const;
48 void setName(std::string
const& newName);
85 void substitute(std::map<storm::expressions::Variable, storm::expressions::Expression>
const& substitution,
bool const substituteTranscendentalNumbers);
91 boost::optional<storm::expressions::Expression>
const& initValue,
bool transient);
93 boost::optional<storm::expressions::Expression>
const& initValue,
bool transient);
95 boost::optional<storm::expressions::Expression>
const& initValue,
bool transient);
97 boost::optional<storm::expressions::Expression>
const& initValue,
bool transient);
99 boost::optional<storm::expressions::Expression>
const& initValue,
bool transient);
102 boost::optional<storm::expressions::Expression>
const& initValue,
bool transient,
103 boost::optional<storm::expressions::Expression>
const& lowerBound,
104 boost::optional<storm::expressions::Expression>
const& upperBound);
106 boost::optional<storm::expressions::Expression>
const& initValue,
bool transient,
107 boost::optional<storm::expressions::Expression>
const& lowerBound,
108 boost::optional<storm::expressions::Expression>
const& upperBound);
110 boost::optional<storm::expressions::Expression>
const& initValue,
bool transient,
111 boost::optional<storm::expressions::Expression>
const& lowerBound,
112 boost::optional<storm::expressions::Expression>
const& upperBound);
114 boost::optional<storm::expressions::Expression>
const& initValue,
bool transient);
116 boost::optional<storm::expressions::Expression>
const& initValue,
bool transient);
118 boost::optional<storm::expressions::Expression>
const& initValue,
bool transient);
124 std::unique_ptr<JaniType> type;
void setName(std::string const &newName)
Sets the name of the variable.
void setExpressionVariable(storm::expressions::Variable const &newVariable)
Sets the associated expression variable.
static std::shared_ptr< Variable > makeArrayVariable(std::string const &name, JaniType const &baseType, storm::expressions::Variable const &variable, boost::optional< storm::expressions::Expression > const &initValue, bool transient)
static std::shared_ptr< Variable > makeContinuousVariable(std::string const &name, storm::expressions::Variable const &variable, boost::optional< storm::expressions::Expression > const &initValue, bool transient)
static std::shared_ptr< Variable > makeIntegerVariable(std::string const &name, storm::expressions::Variable const &variable, boost::optional< storm::expressions::Expression > const &initValue, bool transient)
static std::shared_ptr< Variable > makeRealVariable(std::string const &name, storm::expressions::Variable const &variable, boost::optional< storm::expressions::Expression > const &initValue, bool transient)
static std::shared_ptr< Variable > makeBooleanVariable(std::string const &name, storm::expressions::Variable const &variable, boost::optional< storm::expressions::Expression > const &initValue, bool transient)
static std::shared_ptr< Variable > makeBoundedIntegerVariable(std::string const &name, storm::expressions::Variable const &variable, boost::optional< storm::expressions::Expression > const &initValue, bool transient, boost::optional< storm::expressions::Expression > const &lowerBound, boost::optional< storm::expressions::Expression > const &upperBound)
bool hasInitExpression() const
Retrieves whether an initial expression is set.
std::unique_ptr< Variable > clone() const
Clones the variable.
storm::expressions::Variable const & getExpressionVariable() const
Retrieves the associated expression variable.
static std::shared_ptr< Variable > makeBoundedRealVariable(std::string const &name, storm::expressions::Variable const &variable, boost::optional< storm::expressions::Expression > const &initValue, bool transient, boost::optional< storm::expressions::Expression > const &lowerBound, boost::optional< storm::expressions::Expression > const &upperBound)
storm::expressions::Expression getRangeExpression() const
Retrieves an expression characterizing the legal range of the variable.
static std::shared_ptr< Variable > makeVariable(std::string const &name, JaniType const &type, storm::expressions::Variable const &variable, boost::optional< storm::expressions::Expression > const &initValue, bool transient)
Convenience functions to call the appropriate constructor and return a shared pointer to the variable...
storm::expressions::Expression const & getInitExpression() const
Retrieves the initial expression Should only be called if an initial expression is set for this varia...
void setInitExpression(storm::expressions::Expression const &initialExpression)
Sets the initial expression for this variable.
static std::shared_ptr< Variable > makeBasicTypeVariable(std::string const &name, BasicType::Type const &type, storm::expressions::Variable const &variable, boost::optional< storm::expressions::Expression > const &initValue, bool transient)
static std::shared_ptr< Variable > makeBoundedVariable(std::string const &name, BoundedType::BaseType const &type, storm::expressions::Variable const &variable, boost::optional< storm::expressions::Expression > const &initValue, bool transient, boost::optional< storm::expressions::Expression > const &lowerBound, boost::optional< storm::expressions::Expression > const &upperBound)
std::string const & getName() const
Retrieves the name of the variable.
void substitute(std::map< storm::expressions::Variable, storm::expressions::Expression > const &substitution, bool const substituteTranscendentalNumbers)
Substitutes all variables in all expressions according to the given substitution.
static std::shared_ptr< Variable > makeClockVariable(std::string const &name, storm::expressions::Variable const &variable, boost::optional< storm::expressions::Expression > const &initValue, bool transient)
bool operator!=(SynchronizationVector const &vector1, SynchronizationVector const &vector2)
bool operator==(SynchronizationVector const &vector1, SynchronizationVector const &vector2)