Stefan Behnel wrote:
> Dag Sverre Seljebotn, 27.05.2010 10:08:
>   
>> cdef persist_struct_to_xml(void* data, object typeinfo, object
>> filename): ...
>>
>> cdef StructA a
>> a.b = 2
>> a.c = 4
>> persist_struct_to_xml(&a, typeof(StructA), 'a.dat')
>>
>> cdef StructB b
>> b.foo = 2
>> b.bar = 4.5
>> persist_struct_to_xml(&b, typeof(StructB), 'b.dat')
>>
>> Basically, the type information for structs should be a tree, containing
>> names and *offsets* and types. persist_struct_to_xml needs to have
>> special-case if-tests on all the primitive types, but structs can be
>> dealt with through pointer manipulation and offsets.
>>
>> Offsets can trivially be resolved by the C compiler during C compilation
>> and put into the type information then (in fact, I already do in the
>> buffer RTTI, which is used for validating buffer data format strings).
>>
>> Of course, it's just a convenience, but if you need this, a very big one.
>>     
>
> I think overriding type() for C types can still provide what you want, but 
> that's a different feature.
>   
Good point. Yes, I was only concerned about names and future backwards 
compatability with such a feature at this point, so the fact that it has 
been around since autumn makes the point completely moot.

And you're right, we could use type() for it, so it is double-moot.

Dag Sverre
_______________________________________________
Cython-dev mailing list
[email protected]
http://codespeak.net/mailman/listinfo/cython-dev

Reply via email to