
On 1/14/2011 9:22 AM, Matus Chochlik wrote:
On Fri, Jan 14, 2011 at 3:05 PM, Edward Diener<eldiener@tropicsoft.com> 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:
http://sourceforge.net/projects/mirror-lib/files/mirror-lib-0.5.2/
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://mirror-lib.git.sourceforge.net/gitroot/mirror-lib/mirror-lib
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.