Haoyu Bai wrote: > On Thu, Jul 1, 2010 at 6:09 PM, toki doki <[email protected]> wrote: > >> Hi, >> >> I have been trying to use cython-devel with c++ and ran into the >> following bugs (that seem to be unreported as far as I can say from a >> quick glance at Trac). >> >> First, and most annoying: in spite of what is written in the docs >> (http://wiki.cython.org/WrappingCPlusPlus), nested c++ class >> declarations seem to be unsupported. Thus, the following snippet >> (taken from the doc) for wrapping std::vector does not work and raise >> a syntax error: >> >> cdef extern from "<vector>" namespace "std": >> cdef cppclass vector[T]: >> cdef cppclass iterator: >> T operator*() >> iterator operator++() >> vector() >> void push_back(T&) >> T& operator[](int) >> iterator begin() >> iterator end() >> >> > > Refer to Cython/Includes/libcpp/vector.pxd for a example of nested class: > > cdef extern from "<vector>" namespace "std": > cdef cppclass vector[T]: > cppclass iterator: > T& operator*() > iterator operator++() > iterator operator--() > bint operator==(iterator) > bint operator!=(iterator) > ... > > >> Second: ctypedef'ing templated types raises a syntax Error (for >> example: "ctypedef vector[int] VectOfInt" ). >> >> It would be nice if these two problems were solved for the cython0.13 >> release (or even before that, for those of us that dare to use >> cython-devel :-) >> >> Anyway, congratulations on a great and useful project. It (and before >> that, good old pyrex too) has been very useful for me during the years >> of my PhD. Can't wait for full c++ and generators support :-) >> >> Toki >> > > For your second issue, I have a patch that let you do "cdef cppclass > VectOfInt(vector[int]): pass" (which is also not supported by > cython-devel yet), which would get the same effect as ctypedef. See > the attached file. The patch is not thoroughly tested yet. Feel free > to take it and improve it if you are interested. > I thought we only supported "cppclass" only in extern blocks, i.e. we don't ever emit code from Cython to create C++ classes?
Dag Sverre _______________________________________________ Cython-dev mailing list [email protected] http://codespeak.net/mailman/listinfo/cython-dev
