|
Boost : |
From: Iain K.Hanson (iain.hanson_at_[hidden])
Date: 2002-08-01 07:36:35
The following is my review of MPL based on the the paper, formal
documentation and limited use of basic functions.
Subject to the formal documentation being completed, I vote yes to include
MPL into boost.
More tutorial documentation would be nice, particularly as Metaprogramming
is hard to learn and there are too few books. However, it would not be fare
to ask Aleksey to produce "MPL in 7 days" as part of the submission :-).
Whilst I appreciate that the analogy with STL can only be rough, it greately
helps with the very steep learning curve. With regard to support of
different sequence types, I can see a useful application of vector to
implement "named template parameters". This would only require N access to a
vector whilst the list approach requires N*2/2. I would also envisage a need
for associative containers. Whether the different sequence types are needed
for speed is only something that benchmarking will tell us. But, they are
needed IMHO for expressiveness.
There were some constructs that I expected to find in MPL that I can't see.
I expected to find a "switch_" or "switch_c" plus looping constructs "for"
"while" and "do_while". Is intended to add these?
Thanks to Aleksey for a great library and I look forward to seeing the rest
of the FSM code in the paper.
/ikh
-------------------------------------------------------
On August 5th ip.access will be moving to:
CPC1 Telephone: +44 (0) 1223 219000
Capital Park Fax: +44 (0) 1223 219099
Fulbourn
Cambridge CB1 5XE
United Kingdom
-------------------------------------------------------
This e-mail and the information it contains are
confidential and may be privileged. If you have
received this e-mail in error please notify us
immediately. You should not copy it for any purpose, or
disclose its contents to any other person. All emails
to and from ip.access may be monitored and stored for
audit and other legal reasons.
-------------------------------------------------------
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk