10Variable::Variable(std::shared_ptr<ExpressionManager const>
const& manager, uint_fast64_t index) : manager(manager.get()), index(index) {
22 return index == other.index;
27 return !(*
this == other);
55 STORM_LOG_ASSERT(manager !=
nullptr,
"The variable does not have a manager.");
This class is responsible for managing a set of typed variables and all expressions using these varia...
Type const & getVariableType(uint_fast64_t index) const
Retrieves the type of the variable with the given index.
uint_fast64_t getOffset(uint_fast64_t index) const
Retrieves the offset of the variable with the given index within the group of equally typed variables...
std::string const & getVariableName(uint_fast64_t index) const
Retrieves the name of the variable with the given index.
bool isBooleanType() const
Checks whether this type is a boolean type.
bool isIntegerType() const
Checks whether this type is an integral type.
bool isNumericalType() const
Checks whether this type is a numerical type.
bool isRationalType() const
Checks whether this type is a rational type.
bool isBitVectorType() const
Checks whether this type is a bitvector type.
bool hasBooleanType() const
Checks whether the variable is of boolean type.
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.
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.
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.
#define STORM_LOG_ASSERT(cond, message)