On 04/05/2012 13:27, Steven Schveighoffer wrote:
On Fri, 04 May 2012 01:13:07 -0400, Mehrdad <wfunct...@hotmail.com> wrote:

Hmm... how exactly do you use RTInfo? (Is it usable yet? All I see is
a void* and a dummy template.)

You have to fill in object.di's RTInfo(T) to be whatever you want. As I
said, it's very beta, intended as a hook to use for more precise garbage
collection, or any other runtime info goodies you want to put in there.
See my example for a hint.

Essentially, the compiler's going to do this:

class C {...}

// compiler: hmmm... have to generate TypeInfo_Class for C. Let me set
up all the normal hooks

TypeInfo_Class CTypeInfo;
CTypeInfo.name = "C";
...

// compiler: ok, now let me generate the RTInfo part
CTypeInfo.m_rtInfo = RTInfo!C;

Now, you can call typeid(instanceOfC).rtInfo and it will give you the
data that comes from RTInfo!C. And you don't have to know the type of
instanceOfC, it could be Object. It's essentially a way to convert
compile-time data into runtime data.

-Steve

If you do that, won't anybody who wants to use the code have to have the same hacks to object di?

If so that's not going to be give anything that's either portable or reusable.

--
My enormous talent is exceeded only by my outrageous laziness.
http://www.ssTk.co.uk

Reply via email to