// (C) Copyright 2006 Douglas Gregor // Use, modification and distribution is subject to the Boost Software // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt) // Authors: Douglas Gregor #include #include #include using namespace boost::python; template boost::python::list list_to_python(const std::list& value) { boost::python::list result; for (typename std::list::const_iterator i = value.begin(); i != value.end(); ++i) result.append(*i); return result; } BOOST_PYTHON_MODULE(skeleton_content) { using boost::python::arg; class_ >("list_int") .def("push_back", &std::list::push_back, arg("value")) .def("pop_back", &std::list::pop_back) .def("reverse", &std::list::reverse) .def(boost::python::self == boost::python::self) .def(boost::python::self != boost::python::self) .add_property("size", &std::list::size) .def("to_python", &list_to_python); boost::parallel::mpi::python::register_skeleton_and_content >(); }