Hi, the discussion on allowing for automatic user provided ways to coerce between Python types and C++ types got me thinking that this might hide a rather interesting general feature: methods for low-level types. I faintly remember that this idea has come up in our discussions before, but here's a draft CEP for it:
http://wiki.cython.org/enhancements/ctypemethods Basically, it would allow writing this in .pxd files: """ cdef extern from "...": cdef cppclass MyClass: cdef int cython_method_here(self): return 1 ctypedef double mydouble: cdef double cython_method_here(self): return self ** 2 cdef struct mystruct: int x, y cdef int cython_method_here(self): return self.x + self.y cdef union myunion: int a double b cdef int cython_method_here(self): return self.a if ImSureImAnInt else <int>self.b """ The C code for these methods would then be generated into the modules that use these types, similar to what we allow with "__getbuffer__()". Calls would be direct function calls as with "final" methods. I think it fits into what's there in a very natural way. Stefan _______________________________________________ cython-devel mailing list cython-devel@python.org http://mail.python.org/mailman/listinfo/cython-devel