
Dear members of the Boost community, (Sorry for being slightly off-topic here) In the last couple or years I've been working on the design and implementation of portable reflection in C++. I've written several reflection libraries (that are hopefuly gradually improving). For the latest incarnation see the Mirror reflection utilities written in C++11: http://kifri.fri.uniza.sk/~chochlik/mirror-lib/html/ Recently I've learned that the Standardization Committee has issued a call for proposals for additions to the standard to the wider community, so I've decided to write down my own ideas on how compile-time reflection should look like in C++. Afterwards I discussed it with several people including Dean Michael Berris, who is the co-author of n3340 "Rich pointers" and is also interested in adding run-time (and static) reflection to C++. We've decided that we merge the ideas from my paper into his proposal (which has not happened yet and will probably take a while). However, n3340 deals with more than just static reflection, so I would like to start a discussion and ask the members of the Boost community for their opinions about the compile-time-specific parts that are described in the following paper, before writing the final proposal: http://kifri.fri.uniza.sk/~chochlik/jtc1_sc22_wg21/std_cpp_refl.pdf It is a bit lengthy so you can skip sections 1., 2. and probably also section 3., if you are knowledgeable about the domain. The most important parts are: the whole section 4. "Technical specification" and also 5., 6. and 7. Section 7. "Unresolved issues" lists several important things that need to be worked out and 3. has some rationale for the design decisions. Note that the paper has the basic structure of a standard proposal, but is not written in standardese nor is it "polished" (since it will be merged into another paper and probably re-worded). It is my first attempt at a standard proposal and I'm not a member of the Committee so please bear with me :-). Dean and I have also independently decided to write proof-of-concept implementations - compiler extensions for clang and gcc respectivelly. The sources for the gcc plugin are hosted here: https://github.com/matus-chochlik/std_cpp_refl It's in a very early stage, but if someone has some tips or hints they'll be welcome. Thanks in advance for any (negative or positive) feedback. Best regards, Matus Chochlik