Boost logo

Boost Users :

Subject: Re: [Boost-users] [python] Passing pointers as arguments without copying.
From: Germán Diago (germandiago_at_[hidden])
Date: 2009-09-26 04:38:51


>I don't know about the whole boost::noncopyable, but if you dont want
>to pass a copy of the class, doesn't a reference/pointer do th trick?

I don't know how to do it.

I mean, I try to expose the class

class_ <MyClass2, boost::noncopyable>...;

class_<MyClass, boost::noncopyable>("MyClass", ...).
def(&MyClass::f, "f");

The problem is that "f", exposed to python, takes an argument of type
MyClass2 *.

But MyClass2 * is noncopyable. So I cannot expose f that way because
python will try to copy *myclass2 and it's noncopyable.

How can I avoid that copying? I don't know how. I saw something with ptr(),
but it was to take a function with parameters from python to c++, not
the other way, which
is what I'm trying.


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net