// 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 using namespace boost::python; object new_long() { return long_(); } long_ longify(object x) { return long_(x); } object longify_string(char const* s) { return long_(s); } char const* is_long1(long_& x) { long_ y = x; x += 50; assert(x == y + 50); return "yes"; } int is_long2(char const*) { return 0; } BOOST_PYTHON_MODULE_INIT(long_ext) { module("long_ext") .def("new_long", new_long) .def("longify", longify) .def("longify_string", longify_string) .def("is_long", is_long1) .def("is_long", is_long2) ; }