4#include <unordered_set>
6#pragma clang diagnostic push
7#pragma clang diagnostic ignored "-Wmacro-redefined"
8#pragma clang diagnostic ignored "-Wthread-safety-negative"
9#pragma clang diagnostic ignored "-Wundefined-reinterpret-cast"
10#pragma clang diagnostic ignored "-Wunused-template"
11#include <carl/formula/Formula.h>
12#pragma clang diagnostic pop
20template<
typename ValueType,
typename Enable =
void>
25template<
typename ValueType>
26struct ConstraintType<ValueType, typename
std::enable_if<std::is_same<storm::RationalFunction, ValueType>::value>::type> {
27 typedef carl::Formula<typename storm::RationalFunction::PolyType::PolyType>
val;
33template<
typename ValueType>
37 std::unordered_set<typename ConstraintType<ValueType>::val> wellformedConstraintSet;
41 std::unordered_set<typename ConstraintType<ValueType>::val> graphPreservingConstraintSet;
44 std::set<storm::RationalFunctionVariable> variableSet;
46 void wellformedRequiresNonNegativeEntries(std::vector<ValueType>
const&);
75 std::set<storm::RationalFunctionVariable>
const&
getVariables()
const;
std::unordered_set< typename ConstraintType< ValueType >::val > const & getWellformedConstraints() const
Returns the set of wellformed-ness constraints.
std::unordered_set< typename ConstraintType< ValueType >::val > const & getGraphPreservingConstraints() const
Returns the set of graph-preserving constraints.
ConstraintCollector(storm::models::sparse::Model< ValueType > const &model)
Constructs a constraint collector for the given Model.
std::set< storm::RationalFunctionVariable > const & getVariables() const
Returns the set of variables in the model.
void operator()(storm::models::sparse::Model< ValueType > const &model)
Constructs the constraints for the given Model by calling the process method.
Base class for all sparse models.
carl::Formula< typename storm::RationalFunction::PolyType::PolyType > val