Boost logo

Boost Users :

From: cavok_at_[hidden]
Date: 2003-08-11 22:15:21


i have a c++ function that returns a reference to a c++ object. i want
to expose this function to Python making it return the Python version
of the object. i'm using Boost.Python.

i understood that i have to use to_python_converter but the body of the
A_to_Python::convert function is mystery for me. Boost documentation's
example solves the problem in a manner i'm not able to apply to my case.
my A object is complex and i'd like to somewhat (re)use the class_ object.

---------------- CUT HERE ----------------
#include <boost/python.hpp>

using namespace boost::python;

struct A
        void f() {}

A a;

struct A_to_Python
        static PyObject* convert(const A& a)
                // documentation says:
                // return PyObject_New(noddy_NoddyObject, &noddy_NoddyType);

A& get_A() { return a; }

                .def("f", &A::f)

        to_python_converter<A, A_to_Python>();

        def("get_A", get_A, return_value_policy<reference_existing_object>());
---------------- CUT HERE ----------------

please, somebody enlighten me.

many thanks

-----[ Domenico Andreoli, aka cavok
   ---[ 3A0F 2F80 F79C 678A 8936 4FEE 0677 9033 A20E BC50

Boost-users list run by williamkempf at, kalb at, bjorn.karlsson at, gregod at, wekempf at