|
Boost : |
From: David Abrahams (abrahams_at_[hidden])
Date: 2001-03-31 19:32:07
This has come up several times. There is a limitation in Boost.Python which
makes trying to do what you want dangerous at best. I posted a proposed
solution at http://groups.yahoo.com/group/boost/message/10144, but given the
deafening silence I got as a response, I just keep directing people at the
section titled "If you can't (afford to) copy the referent, or the pointer
is non-const" on this page:
http://www.boost.org/libs/python/doc/pointers.html.
I would happily make the proposed change to Boost.Python, but would like to
hear /something/ from users before undertaking any redesign.
-Dave
P.S. we don't say "BPL" anymore... we at boost are afraid of running out of
acronyms ;-).
----- Original Message -----
From: <tom-list_at_[hidden]>
To: <boost_at_[hidden]>
Sent: Saturday, March 31, 2001 5:20 PM
Subject: [boost] creating a BPL instance from an existing C++ object.
> I'm using VC6 SP4 on Win2K SP1, with Boost 1.21.1 & Python 2.0.
>
> I want to create a 'BPL extension instance' object from an existing
> C++ object.
>
> Let me start with a conventional use of the BPL that leads to my
> problem...
>
> My extension module creates a BPL extension class based on a C++
> class (call it CB).
>
> The user instantiates it ...
> >>> B = CB();
>
> Now BPL code instantiates the associated C++ class and ties it to the
> new BPL extension instance object. Correct?
>
> To get to my problem, let's say that the C++ class CB contains
> another class CBa. Then CBa will automatically get instantiated when
> the BPL code instantiates CB.
>
> The CBa class, by the way, is wrapped, so there is an associated
> Python (BPL extension instance) type, but since CBa got instantiated
> from C++, there is no associated Python object.
>
> I want to provide Python access to the existing C++ instance of CBa,
> and I don't know how. I'm going to start looking around in the BPL
> source code in the hopes of figuring out how to do this, but if
> anyone knows offhand that it is or isn't possible, please let me know.
>
> Thanks,
> Tom.
>
>
> To unsubscribe, send email to: <mailto:boost-unsubscribe_at_[hidden]>
>
>
> Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
>
>
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk