[C++-sig] to python conversion for derived facade
Roman Yakovenko
roman.yakovenko at gmail.com
Fri Apr 11 19:51:03 CEST 2008
On Thu, Apr 10, 2008 at 7:12 PM, Moe Goldberg <goldberg at coredp.com> wrote:
> Hi,
> I don't have a lot of experience with boost, expecially not with
> to_python_converters, and I've been getting some unexpected results. I
> have spent a while looking around to see what I can find, but I can't
> seem to solve my problem, hopefully someone here can give me a hand.
>
> Here's the situation. I have a facade class, and a class derived from
> it. The facade class is exposed to python but the derived class isn't
> (there are reasons for this, so exposing the derived class to python
> isn't an option). The derived class wraps a type (let's call it cpp_type
> - and it is also a type that I do not want exposed to python) that the
> base class does not.
> I several functions that return a cpp_type_sptr (a smart pointer to
> cpp_type). I would like to create a to python converter so that I don't
> have to manually wrap each function that returns a cpp_type_sptr.
I am not sure whether I understand what you are trying to do, but if
you want to return something different from the function you can
define custom call policy.
Take a look on custom call policies I defined
docs: http://language-binding.net/pyplusplus/documentation/functions/call_policies.html#py-defined-call-policies
source code: http://pygccxml.svn.sourceforge.net/viewvc/pygccxml/pyplusplus_dev/pyplusplus/code_repository/
This solution also allows you not to expose cpp_type_sptr class.
--
Roman Yakovenko
C++ Python language binding
http://www.language-binding.net/
More information about the Cplusplus-sig
mailing list