Introspection
BCS
ao at pathlink.com
Tue Sep 23 15:35:32 PDT 2008
Reply to Benjamin,
> Reply to Sean,
>
>> Does anyone know a way to determine the type and offset of
>> class/struct members?
>> It seems we already have all the necessary pieces, but I haven't been
>> able to get it
>> to work thus far. What I'm thinking of is something like this:
>> import std.stdio;
>> class C
>> {
>> int i;
>> void* p;
>> }
>> void main()
>> {
>> foreach( e; typeof(C.tupleof) )
>> writefln( e.stringof, " ", e.offsetof );
>> }
>> However, offsetof doesn't appear to work on the members of this
>> TypeTuple, nor on an instance tuple. I've also tried various
>> attempts
>> at printing the address or value of the instance tuple, with no
>> success.
>> Sean
>>
cleaner:
import std.stdio;
class C
{
int i;
void* p;
}
void main()
{
foreach( i,e; typeof(C.tupleof) )
writefln( e.stringof, " ", C.tupleof[i].offsetof );
}
More information about the Digitalmars-d
mailing list