...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.