// Copyright David Abrahams 2002. Permission to copy, use, // modify, sell and distribute this software is granted provided this // copyright notice appears in all copies. This software is provided // "as is" without express or implied warranty, and with no claim as // to its suitability for any purpose. #include #include #include #include struct Type1 {}; struct Term {Term(Type1 const&) {} }; struct Expression {void add(Term const&) {} }; BOOST_PYTHON_MODULE_INIT(bienstman4_ext) { using namespace boost::python; using boost::mpl::type_list; implicitly_convertible(); module("bienstman4_ext") .add(class_("Expression") .def_init() .def("add", &Expression::add)) .add(class_("T1") .def_init()) .add(class_("Term") .def_init(type_list())) ; Type1 t1; Expression e; e.add(t1); }