Newbie initial comments on D language - RTTI and run-time reflection
janderson
askme at me.com
Mon Jan 28 22:41:07 PST 2008
Edward Diener wrote:
> Christopher Wright wrote:
>> Edward Diener wrote:
>>> Xinok wrote:
>>>> Edward Diener wrote:
>>>>> I have searched through the pdf documentation bit did not find a full
>>>>> explanation of RTTI facilities in D. The reason I ask about this is
>>>>> that
>>>>> it appears there is a 3rd party reflection facility but I do not
>>>>> see the
>>>>> documentation in D that explains if and how reflection works in D.
>>>>> Does
>>>>> it exist in D ? Is there documentation for it ?
>>>>>
>>>> D 2.0 is an experimental branch which supports compile time
>>>> reflection. It's documented here:
>>>> http://digitalmars.com/d/2.0/traits.html
>>>
>>> That is compile-time reflection, which is useful for creating code
>>> but not for instantiating objects at run-time and finding out about
>>> them. It is also very limiting in the form presented as one can not
>>> instantiate objects in the compile time constructs based on the
>>> information returned, but just react in a way to the information
>>> found. I am not putting down the effort as it more than duplicates
>>> and is more effective than the Boost traits library, since it is
>>> based on compiler knowledge.
>>
>> Also, you can use the classinfo for a type to create new instances of
>> that type, provided that type has a default constructor (one that can
>> be called with no arguments). That doesn't let you do a whole lot, I
>> realize, but it's better than nothing.
>
> I do not see any information in the docs about classinfo. Perhaps these
> things do not exist in D 1.0 and are there somewhere in D 2.0 . But
> without real docs for D 2.0 I will wait until there is some.
classinfo is part of the standard lib phobos and it is in 1.0:
http://www.digitalmars.com/d/2.0/phobos/object.html
Also see:
http://www.prowiki.org/wiki4d/wiki.cgi?HowTo/RealtimeTypeInformation
-Joel
More information about the Digitalmars-d
mailing list