From: William E. Kempf (wekempf_at_[hidden])
Date: 2002-12-18 09:52:42
>> > A reflective framework could be in three stages: a preprocessing
>> stage (which creates the reflection data), an optional code
>> > generation/transformation stage, then a compilation stage. In this
>> sense, it would be both a compile and run-time framework.
>> Sounds like a great idea to me.
> A couple more questions.
> I'm afraid I don't have the time or expertise to create a full C++
> compiler (tho it would be interesting to try using Spirit). If I were to
> base a reflection framework on PDT, its parser and toolset comes as
> binaries for the following platforms:
> The actual PDT reflection library is open-source and portable. Would
> this be acceptable for submission to Boost?
Depends on the license. Open Source isn't enough, it has to meet the
Boost license guidelines.
> I don't know if there's a
> policy about library submissions depending on closed-source tools. I
> don't think there should be a problem (after all, most compilers Boost
> supports are closed-source), but it seems prudent to ask up-front.
I'm confused. Above you said it was open-source, now you talk about it
> Also, it seems to me that PDT's license meets Boost's requirements. Can
> anyone verify this (I've appended it below)?
> Finally, is there anyone interested in working on a reflection
> framework? Does anyone have other ideas on approaching this problem? Any
> comments at all? I'll consolidate the information and put them up on the
> Wiki board.
I'm very interested in having a reflection library available, but I can't
afford any time to helping with the work, sorry. However, I'd suggest you
take into consideration XTI, which is an idea for reflection in C++ from
Bjarne Stroustrup (there's several links to this on the web, one of which
is http://www.klid.dk/arrangementer/XTI_kbh.pdf, do a Google search for
the others). I think his work on it has stagnated, at least from some
things I've heard from others, which is unfortunate. But I think his work
would be a great place to start from for a Boost reflection framework.
> Were talking exclusively about reflection now... I don't want this
> muddled with the serialization discussion. They are separate topics. :-)
But they *can* be related. I know you can do serialization with out
reflection, but I think the serialization capabilities of Java show that
reflection can vastly simplify the implementation of a serialization
library. (Though with out language support you can't access the private
data of an object to make serialization automatic in C++.)
William E. Kempf
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk