diff --git a/include/boost/parameter/python.hpp b/include/boost/parameter/python.hpp index 5fc9fbf..252ec03 100755 --- a/include/boost/parameter/python.hpp +++ b/include/boost/parameter/python.hpp @@ -22,6 +22,7 @@ # include # include # include +# include # include # include # include @@ -355,7 +356,7 @@ namespace aux {} template - void def(F f, int const*) const + void def(F f, not_specified const*) const { cl.def(name, f); } @@ -593,7 +594,13 @@ struct init } template - void visit(Class& cl) const + void visit_aux(Class& cl, mpl::true_) const + { + cl.def(boost::python::init<>()[call_policies]); + } + + template + void visit_aux(Class& cl, mpl::false_) const { typedef typename mpl::transform< ParameterSpecs @@ -617,6 +624,12 @@ struct init ); } + template + void visit(Class& cl) const + { + visit_aux(cl, mpl::empty()); + } + CallPolicies call_policies; };