...one of the most highly
regarded and expertly designed C++ library projects in the
world. — Herb Sutter and Andrei
The library consists of include files only, hence there is no
installation procedure. The
boost include directory
must be on the include path.
There are a number of include files that give different functionality:
lambda/lambda.hpp defines lambda expressions for different C++
operators, see the section called “Operator expressions”.
bind functions for up to 9 arguments, see the section called “Bind expressions”.
lambda/if.hpp defines lambda function equivalents for if statements and the conditional operator, see the section called “Lambda expressions for control structures” (includes
lambda/loops.hpp defines lambda function equivalent for looping constructs, see the section called “Lambda expressions for control structures”.
lambda/switch.hpp defines lambda function equivalent for the switch statement, see the section called “Lambda expressions for control structures”.
lambda/construct.hpp provides tools for writing lambda expressions with constructor, destructor, new and delete invocations, see the section called “Construction and destruction” (includes
lambda/casts.hpp provides lambda versions of different casts, as well as
typeid, see the section called “
lambda/exceptions.hpp gives tools for throwing and catching
exceptions within lambda functions, the section called “Exceptions” (includes
lambda/numeric.hpp (cf. standard
numeric headers) allow nested STL algorithm invocations, see the section called “Nesting STL algorithm invocations”.
Any other header files in the package are for internal use.
Additionally, the library depends on two other Boost Libraries, the
Tuple [tuple] and the type_traits [type_traits] libraries, and on the
All definitions are placed in the namespace
boost::lambda and its subnamespaces.