...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
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”.
lambda/bind.hpp
defines 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.hpp
).
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.hpp
).
lambda/casts.hpp
provides lambda versions of different casts, as well as sizeof
and typeid
, see the section called “
Cast expressions
”.
lambda/exceptions.hpp
gives tools for throwing and catching
exceptions within lambda functions, the section called “Exceptions” (includes
lambda.hpp
).
lambda/algorithm.hpp
and lambda/numeric.hpp
(cf. standard algortihm
and 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 boost/ref.hpp
header.
All definitions are placed in the namespace boost::lambda
and its subnamespaces.