
Pedro LamarĂ£o wrote:
Ronald Garcia escreveu:
I would like to see some "motivating example", like this one from the MPL documentation:
http://www.boost.org/libs/mpl/doc/tutorial/tutorial-metafunctions.html
This is, of course, not to say the library seems useless: it is I that don't know what to do with it.
Sure that would be nice, but I'm afraid that would not be possible in the short amount of time given for the review. MPL did not have the Dimensional Analysis tutorial when it was first reviewed. What you are seeing now is actually a part of the book that Aleksey and Dave wrote. Back then, there was a paper titled "The Boost C++ Metaprogramming Library" also by Dave and Aleksey. I guess we could have written something similar, but then, Fusion is supposed to be based on the foundations of MPL. A lot of the basics of MPL should also apply to Fusion. The concepts of metaprogramming, type sequences, metafunctions, etc., are all based on the foundations already laid by MPL. You might even want to think of Fusion as an extension of MPL. In a sense, it is probably safe to say that a prerequisite for using Fusion is a good grasp of the basics of MPL. If you use MPL and wish to work on types *and* values, that's where Fusion comes in. To give you an idea of the applications of Fusion, Phoenix (http://tinyurl.com/6crgp), Spirit-2(http://spirit.sf.net/) xpressive(to be released with Boost very soon now) use Fusion in various degrees in its foundations. Regards, -- Joel de Guzman http://www.boost-consulting.com http://spirit.sf.net