[C++-sig] Getting a Python type object for a c++ type in wrapper code...
Alex Mohr
amohr at pixar.com
Tue Oct 4 21:21:57 CEST 2005
Of course! That makes perfect sense. Thanks Nick and Mike.
The only remaining question is if there's an easy way to do this with
types like python's 'float' type instead of my own. Would I have to
create something like boost::python::long_ for floats, or is there a
better way?
Thanks again,
Alex
Nick Rasmussen wrote:
> Perhaps something like:
>
> #include <Python.h>
> #include <boost/python.hpp>
>
> using namespace boost::python;
>
> struct Foo {
>
> };
>
> struct Bar {
> static object fooType;
> };
>
> object Bar::fooType;
>
> BOOST_PYTHON_MODULE(test)
> {
> class_<Foo> fooType("Foo");
> Bar::fooType = fooType;
> class_<Bar> barType("Bar");
> barType
> .def_readonly("fooType",&Bar::fooType);
> }
>
> -nick
>
>
> On Tue, 04 Oct 2005, Alex Mohr wrote:
>
>
>>Hi folks,
>>
>>I'm a relative boost.python newbie but I've been doing a ton with it and
>>I'm having a blast. Thanks for such an awesome package.
>>
>>Here's my first newbie question.
>>
>>Suppose I have two C++ classes that I'm wrapping -- Foo and Bar. In the
>>wrapper for Bar, I want there to be an attribute which holds the type
>>Foo. That is, from python I wan to be able to say:
>>
>> >>> Module.Bar.fooType == Module.Foo
>>True
>>
>>Something like def_readonly("fooType", <var-which-holds-type-for-Foo>)
>>would be ideal. I'd also like to be able to do this for python types,
>>like python's float. Is there a simple way to do this in my
>>Boost.Python code?
>>
>>Thanks,
>>
>>Alex
>>
>>_______________________________________________
>>C++-sig mailing list
>>C++-sig at python.org
>>http://mail.python.org/mailman/listinfo/c++-sig
>
> _______________________________________________
> C++-sig mailing list
> C++-sig at python.org
> http://mail.python.org/mailman/listinfo/c++-sig
More information about the Cplusplus-sig
mailing list