
On 1 Feb 2006, at 07:06, Ion GaztaƱaga wrote:
foo::myFunction will be invoked through a stub function which is part of the dictionary library for class foo. A dictionary library may be dynamically loaded in a program.
The source code for this dictionary library is produced in a non- intrusive way with a python script (genreflex.py). Besides the stub functions this dictionary source code contains the information about all types, scopes, members one wants to generate the reflection information for.
This sounds similar to another CERN project: Cint (http://root.cern.ch/root/Cint.html), the C/C++ interpreter. Do they share code?
As you may see from the Reflex web page (cern.ch/reflex) Reflex has moved recently into the ROOT project. ROOT currently uses Cint as dictionary and interpreter. We are currently working full steam on a merge of Reflex with Cint. This means that Cint soon will be able to use the Reflex dictionary system.
This reflection method seems interesting (although a native one would be better no doubt).
I very much agree with you, native reflection for C++ would be the best thing we could have.
In addition to your library I would encourage Cint guys to present the library to Boost (for example, they could use the Wave preprocessor for complex C/C++ instead of writing their own). A C/C++ interpreter would be killer for Boost (having also native<->interpreted transitions).
Thanks for the information I will discuss this with the Cint developers. -- Stefan Roiser CERN, PH Department CH - 1211 Geneva 23 Mob:+41 76 487 5334 Tel:+41 22 767 4838 Fax:+41 22 767 9425