2#include <boost/any.hpp>
14 : timeBoundType(timeBoundType), bound(bound) {
27 return visitor.
visit(*
this, data);
43 return bound.hasIntegerType();
52 checkNoVariablesInBound(bound);
53 double value = bound.evaluateAsDouble();
54 STORM_LOG_THROW(value >= 0, storm::exceptions::InvalidPropertyException,
"Time-bound must not evaluate to negative number.");
60 checkNoVariablesInBound(bound);
61 int64_t value = bound.evaluateAsInt();
62 STORM_LOG_THROW(value >= 0, storm::exceptions::InvalidPropertyException,
"Time-bound must not evaluate to negative number.");
72 "Cannot evaluate time-instant '" << bound <<
"' as it contains undefined constants.");
bool containsVariables() const
Retrieves whether the expression contains a variable.
void gatherVariables(std::set< storm::expressions::Variable > &variables) const
Retrieves the set of all variables that appear in the expression.
#define STORM_LOG_THROW(cond, exception, message)