2#include <boost/any.hpp>
14 : boundVariables(boundVariables), subformula(subformula) {
15 STORM_LOG_THROW(!boundVariables.empty(), storm::exceptions::InvalidArgumentException,
"Quantile formula without bound variables are invalid.");
43 return boundVariables.size();
51 STORM_LOG_THROW(boundVariables.size() == 1, storm::exceptions::InvalidArgumentException,
52 "Requested unique bound variables. However, there are multiple bound variables defined.");
53 return boundVariables.front();
57 STORM_LOG_THROW(index < boundVariables.size(), storm::exceptions::InvalidArgumentException,
58 "Requested bound variable with index" << index <<
". However, there are only " << boundVariables.size() <<
" bound variables.");
59 return boundVariables[index];
63 return boundVariables;
67 return visitor.
visit(*
this, data);
71 subformula->gatherAtomicExpressionFormulas(atomicExpressionFormulas);
75 subformula->gatherAtomicLabelFormulas(atomicLabelFormulas);
79 subformula->gatherReferencedRewardModels(referencedRewardModels);
85 for (
auto const& bv : boundVariables) {
86 out << bv.getName() <<
", ";
88 subformula->writeToStream(out);
#define STORM_LOG_THROW(cond, exception, message)