[C++-sig] pybindgen: Why do wrapped C++ containers not look more like python containers?

J. Michael Owen mikeowen at llnl.gov
Fri Jun 5 22:28:46 CEST 2009


Hi Gustavo,

Hmm.  OK, if I read that page correctly what I would need in order to  
emulate a python sequence, mapping, or number is the ability to  
register PySequenceMethods, PyMappingMethods, or PyNumberMethods  
then?  Maybe I'll dig around in the code and see if this is difficult  
to add.  It would certainly be useful for what I'm trying to do!

Mike.

On Jun 5, 2009, at 10:00 AM, Gustavo Carneiro wrote:
>
> Two curious things I noted about wrapping "std::vector" myself:
>
> 1.  I can't seem to get indexing access to work, even though I wrap  
> an indexing operation with the python name "__getitem__"
>
> 2.  I also can't get python's len function to work, even if I  
> provide "__len__" as follows:
> veci.add_method("size", "int", [], custom_name="__len__")
>
> Have you been able to make either of those methods work?
>
> It won't work because those are special methods in C/C++ side;  
> Python extension types use a "slots" mechanism for this kind of  
> thing, see http:// www. python.org/doc/2.6/c-api/typeobj.html
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/cplusplus-sig/attachments/20090605/e6d97242/attachment.htm>


More information about the Cplusplus-sig mailing list