|  |  | @ -8,6 +8,17 @@ | 
			
		
	
		
			
				
					|  |  |  | namespace storm { | 
			
		
	
		
			
				
					|  |  |  |     namespace analysis { | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |          | 
			
		
	
		
			
				
					|  |  |  |         template <typename ValueType, typename Enable=void> | 
			
		
	
		
			
				
					|  |  |  |         struct ConstraintType { | 
			
		
	
		
			
				
					|  |  |  |             typedef void* val; | 
			
		
	
		
			
				
					|  |  |  |         }; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |         template<typename ValueType> | 
			
		
	
		
			
				
					|  |  |  |         struct ConstraintType<ValueType, typename std::enable_if<std::is_same<storm::RationalFunction, ValueType>::value>::type> { | 
			
		
	
		
			
				
					|  |  |  |             typedef storm::RationalFunctionConstraint val; | 
			
		
	
		
			
				
					|  |  |  |         }; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |         /** | 
			
		
	
		
			
				
					|  |  |  |          * Class to collect constraints on parametric Markov chains. | 
			
		
	
		
			
				
					|  |  |  |          */ | 
			
		
	
	
		
			
				
					|  |  | @ -15,11 +26,11 @@ namespace storm { | 
			
		
	
		
			
				
					|  |  |  |         class ConstraintCollector { | 
			
		
	
		
			
				
					|  |  |  |         private: | 
			
		
	
		
			
				
					|  |  |  |             // A set of constraints that says that the DTMC actually has valid probability distributions in all states. | 
			
		
	
		
			
				
					|  |  |  |             std::unordered_set<typename storm::ConstraintType<ValueType>::val> wellformedConstraintSet; | 
			
		
	
		
			
				
					|  |  |  |             std::unordered_set<typename ConstraintType<ValueType>::val> wellformedConstraintSet; | 
			
		
	
		
			
				
					|  |  |  |              | 
			
		
	
		
			
				
					|  |  |  |             // A set of constraints that makes sure that the underlying graph of the model does not change depending | 
			
		
	
		
			
				
					|  |  |  |             // on the parameter values. | 
			
		
	
		
			
				
					|  |  |  |             std::unordered_set<typename storm::ConstraintType<ValueType>::val> graphPreservingConstraintSet; | 
			
		
	
		
			
				
					|  |  |  |             std::unordered_set<typename ConstraintType<ValueType>::val> graphPreservingConstraintSet; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |             // A set of variables | 
			
		
	
		
			
				
					|  |  |  |             std::set<storm::RationalFunctionVariable> variableSet; | 
			
		
	
	
		
			
				
					|  |  | 
 |