1#ifndef STORM_STORAGE_EXPRESSIONS_VARIABLE_H_
2#define STORM_STORAGE_EXPRESSIONS_VARIABLE_H_
12namespace expressions {
13class ExpressionManager;
29 Variable(std::shared_ptr<ExpressionManager const>
const& manager, uint_fast64_t index);
66 std::string
const&
getName()
const;
151struct hash<
storm::expressions::Variable> {
153 return std::hash<uint_fast64_t>()(variable.
getIndex());
This class is responsible for managing a set of typed variables and all expressions using these varia...
bool hasBooleanType() const
Checks whether the variable is of boolean type.
Variable(Variable &&other)=default
Variable & operator=(Variable &&other)=default
ExpressionManager const & getManager() const
Retrieves the manager responsible for this variable.
Type const & getType() const
Retrieves the type of the variable.
uint_fast64_t getIndex() const
Retrieves the index of the variable.
Variable(Variable const &other)=default
storm::expressions::Expression getExpression() const
Retrieves an expression that represents the variable.
bool hasBitVectorType() const
Checks whether the variable is of a bit vector type.
uint_fast64_t getOffset() const
Retrieves the offset of the variable in the group of all equally typed variables.
bool operator==(Variable const &other) const
Checks the two variables for equality.
Variable & operator=(Variable const &other)=default
bool operator<(Variable const &other) const
Checks whether the variable appears earlier in the total ordering of variables.
bool hasNumericalType() const
Checks whether the variable is of numerical type.
bool operator!=(Variable const &other) const
Checks the two variables for inequality.
bool hasIntegerType() const
Checks whether the variable is of integral type.
bool hasRationalType() const
Checks whether the variable is of rational type.
std::string const & getName() const
Retrieves the name of the variable.