|  | @ -4,9 +4,9 @@ | 
		
	
		
			
				|  |  | #include "../logic/Formulas.h"
 |  |  | #include "../logic/Formulas.h"
 | 
		
	
		
			
				|  |  | 
 |  |  | 
 | 
		
	
		
			
				|  |  | 
 |  |  | 
 | 
		
	
		
			
				|  |  | //namespace boost {
 |  |  |  | 
		
	
		
			
				|  |  | //    template<class T> T* get_pointer(std::shared_ptr<T> p) { return p.get(); }
 |  |  |  | 
		
	
		
			
				|  |  | //}
 |  |  |  | 
		
	
		
			
				|  |  |  |  |  | namespace boost { | 
		
	
		
			
				|  |  |  |  |  |     template<class T> T* get_pointer(std::shared_ptr<T> p) { return p.get(); } | 
		
	
		
			
				|  |  |  |  |  | } | 
		
	
		
			
				|  |  | 
 |  |  | 
 | 
		
	
		
			
				|  |  | namespace boost { namespace python { namespace converter { |  |  | namespace boost { namespace python { namespace converter { | 
		
	
		
			
				|  |  | 
 |  |  | 
 | 
		
	
	
		
			
				|  | @ -49,6 +49,10 @@ namespace boost { namespace python { namespace converter { | 
		
	
		
			
				|  |  | 
 |  |  | 
 | 
		
	
		
			
				|  |  |         }}} // namespace boost::python::converter
 |  |  |         }}} // namespace boost::python::converter
 | 
		
	
		
			
				|  |  | 
 |  |  | 
 | 
		
	
		
			
				|  |  |  |  |  | template<typename Source, typename Target> | 
		
	
		
			
				|  |  |  |  |  | void shared_ptr_implicitely_convertible() { | 
		
	
		
			
				|  |  |  |  |  |     boost::python::implicitly_convertible<std::shared_ptr<Source>, std::shared_ptr<Target>>(); | 
		
	
		
			
				|  |  |  |  |  | }; | 
		
	
		
			
				|  |  | 
 |  |  | 
 | 
		
	
		
			
				|  |  | 
 |  |  | 
 | 
		
	
		
			
				|  |  | std::shared_ptr<storm::models::ModelBase> buildModel(storm::prism::Program const& program, std::shared_ptr<storm::logic::Formula> const& formula) { |  |  | std::shared_ptr<storm::models::ModelBase> buildModel(storm::prism::Program const& program, std::shared_ptr<storm::logic::Formula> const& formula) { | 
		
	
	
		
			
				|  | @ -114,15 +118,18 @@ BOOST_PYTHON_MODULE(_core) | 
		
	
		
			
				|  |  |             .add_property("model_type", &storm::models::ModelBase::getType) |  |  |             .add_property("model_type", &storm::models::ModelBase::getType) | 
		
	
		
			
				|  |  |             .def("asPdtmc", &storm::models::ModelBase::as<storm::models::sparse::Dtmc<storm::RationalFunction>>) |  |  |             .def("asPdtmc", &storm::models::ModelBase::as<storm::models::sparse::Dtmc<storm::RationalFunction>>) | 
		
	
		
			
				|  |  |     ; |  |  |     ; | 
		
	
		
			
				|  |  |  |  |  |     register_ptr_to_python<std::shared_ptr<storm::models::ModelBase>>(); | 
		
	
		
			
				|  |  |     class_<storm::models::sparse::Model<storm::RationalFunction>, std::shared_ptr<storm::models::sparse::Model<storm::RationalFunction> >, boost::noncopyable, bases<storm::models::ModelBase>>("SparseParametricModel", no_init); |  |  |     class_<storm::models::sparse::Model<storm::RationalFunction>, std::shared_ptr<storm::models::sparse::Model<storm::RationalFunction> >, boost::noncopyable, bases<storm::models::ModelBase>>("SparseParametricModel", no_init); | 
		
	
		
			
				|  |  |  |  |  |     register_ptr_to_python<std::shared_ptr<storm::models::sparse::Model<storm::RationalFunction>>>(); | 
		
	
		
			
				|  |  |     class_<storm::models::sparse::Model<double>, std::shared_ptr<storm::models::sparse::Model<double>>, boost::noncopyable, bases<storm::models::ModelBase>>("SparseModel", no_init); |  |  |     class_<storm::models::sparse::Model<double>, std::shared_ptr<storm::models::sparse::Model<double>>, boost::noncopyable, bases<storm::models::ModelBase>>("SparseModel", no_init); | 
		
	
		
			
				|  |  |  |  |  |     register_ptr_to_python<std::shared_ptr<storm::models::sparse::Model<double>>>(); | 
		
	
		
			
				|  |  |     class_<storm::models::sparse::Dtmc<storm::RationalFunction>, std::shared_ptr<storm::models::sparse::Dtmc<storm::RationalFunction>>, boost::noncopyable, bases<storm::models::sparse::Model<storm::RationalFunction>>>("SparseParametricMc", no_init); |  |  |     class_<storm::models::sparse::Dtmc<storm::RationalFunction>, std::shared_ptr<storm::models::sparse::Dtmc<storm::RationalFunction>>, boost::noncopyable, bases<storm::models::sparse::Model<storm::RationalFunction>>>("SparseParametricMc", no_init); | 
		
	
		
			
				|  |  | 
 |  |  |  | 
		
	
		
			
				|  |  |     register_ptr_to_python<std::shared_ptr<storm::models::ModelBase>>(); |  |  |  | 
		
	
		
			
				|  |  |     register_ptr_to_python<std::shared_ptr<storm::models::sparse::Model<storm::RationalFunction>>>(); |  |  |  | 
		
	
		
			
				|  |  |     implicitly_convertible<std::shared_ptr<storm::models::sparse::Dtmc<storm::RationalFunction>>, std::shared_ptr<storm::models::sparse::Model<storm::RationalFunction>>>(); |  |  |  | 
		
	
		
			
				|  |  |     register_ptr_to_python<std::shared_ptr<storm::models::sparse::Dtmc<storm::RationalFunction>>>(); |  |  |     register_ptr_to_python<std::shared_ptr<storm::models::sparse::Dtmc<storm::RationalFunction>>>(); | 
		
	
		
			
				|  |  | 
 |  |  | 
 | 
		
	
		
			
				|  |  |  |  |  | //  implicitly_convertible<std::shared_ptr<storm::models::sparse::Dtmc<storm::RationalFunction>>, std::shared_ptr<storm::models::sparse::Model<storm::RationalFunction>>>();
 | 
		
	
		
			
				|  |  |  |  |  |     shared_ptr_implicitely_convertible<storm::models::sparse::Dtmc<storm::RationalFunction>, storm::models::sparse::Model<storm::RationalFunction>>(); | 
		
	
		
			
				|  |  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  |  | 
 | 
		
	
		
			
				|  |  |     def("parseFormulae", storm::parseFormulasForProgram); |  |  |     def("parseFormulae", storm::parseFormulasForProgram); | 
		
	
		
			
				|  |  |     def("parseProgram", storm::parseProgram); |  |  |     def("parseProgram", storm::parseProgram); | 
		
	
		
			
				|  |  | 
 |  |  | 
 | 
		
	
	
		
			
				|  | 
 |