Boost logo

Boost :

Subject: Re: [boost] [announce] mirror-lib 0.5.2 released
From: Edward Diener (eldiener_at_[hidden])
Date: 2011-01-14 10:20:57

On 1/14/2011 9:22 AM, Matus Chochlik wrote:
> On Fri, Jan 14, 2011 at 3:05 PM, Edward Diener<eldiener_at_[hidden]> wrote:
>> On 1/14/2011 8:52 AM, Matus Chochlik wrote:
>>> Dear list,
>>> I would like to announce that a new version
>>> of the Mirror reflection library is available
>>> for download from SourceForge:
>> It would be easier if this were in the Boost sandbox. But that's up to you.
> There is also a Git Repository here:
> git clone git://

I see this. Thanks ! It will be a good excuse for me to learn git.

> I've used Subversion in the past, but last year
> I decided to switch to Git which (I really don't
> want to start the whole discussion again)
> I personally find to be "better".
> If there is sufficient interest I might set up a script
> that would commit the 'boostified' sources
> to the Sandbox and let cron invoke it (daily, weekly,..)
>>> Since version 0.5.0, Mirror is being developed
>>> outside the boost namespace, but the directory
>>> linked above contains also a 'boostified' version
>>> of the sources with Jamfiles etc.
>>> Besides the docs package, the documentation
>>> is also hosted online here:
>> Quickly looking at the doc, what would be the reason for run-time reflection
>> of templates, since they are a compile-time mechanism ?
> Well one reason is that I want the compile-time
> and the run-time interface to be consistent with
> each other.

Sometimes consistency is a false goal when it serves no practical use.
There is also a very famous quote about consistency by the writer Ralph
Waldo Emerson which you can look up if you like.

> But besides that i think, that it might
> be useful to have the ability to iterate through
> meta-objects reflecting the individual template
> parameters at run time, examine them, create
> instances, etc.

Instantiating templates at run-time to create types appears very
daunting to me since this is what a compiler does at compile-time.

> But I don't claim to have any groundbreaking
> application for that. Currently the whole run-time
> layer is still very experimental.

I would suggest that you leave out run-time reflection of templates as
having no real use, since run-time code deals with types and objects and
templates are neither ( they are compile-time type factories so to speak ).

The rest of your library is very interesting. I still believe, although
it is a huge undertaking as you have probably experienced, that C++
run-time reflection can be a valuable resource, especially in the area
of creating a RAD development environment. So I applaud your effort. For
RAD programming Borland showed this could be done with C++ Builder and
Microsoft improved upon it with C++/CLI, but both needed language
changes/additions and neither was pure C++ standard.

Boost list run by bdawes at, gregod at, cpdaniel at, john at