
From: David Abrahams <dave@boost-consulting.com> Thanks for the repost. I, too, can read it now.
Motivation
Applying metaprogramming to increase the flexibility of software design often involves the inspection and manipulation of function types.
A very common application is the automatic generation of callback facilities which occurs frequently in Boost libraries, such as Bind, Lambda, Phoenix and Function.
This is a very weak opening. A person reading the Motivation section wants to know, "what would I do with this library?" I suggest
Absolutely right.
something like:
Generic libraries that accept callable arguments are common in C++: STL, Boost.Lambda, Boost.Function, and Boost.Python are just a few examples. Analysis and manipulation of built-in function types seems to appear in each one.
The above is by no means perfect, and it took me 5 minutes to write. It can be hard to follow Mr. White's advice ;-)
I question why you say "seems to appear." It should be possible to state it definitively, right? That aside, this is still lacking. It tells me that powerful tools that one might consider black boxes need the functionality of this library, but says nothing about why the reader may.
"With one exception, each component is defined in a header file whose name is the same as that of the component, with an .hpp suffix. For example, before using is_function_type, your functions should first
s/functions/code/ -- Rob Stewart stewart@sig.com Software Engineer http://www.sig.com Susquehanna International Group, LLP using std::disclaimer;