Introspection
BCS
ao at pathlink.com
Tue Sep 23 15:32:04 PDT 2008
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
>
import std.stdio;
class C
{
int i;
void* p;
}
void main()
{
C c = new C;
foreach( i,e; c.tupleof )
writefln( typeof(e).stringof, " ", c.tupleof[i].offsetof );
}
More information about the Digitalmars-d
mailing list