2.1. Installing the library
ライブラリはインクルードファイルのみで構成されているため、ライブラリを利用するための特別な手続きはない。 ただし、boost
のインクルードディレクトリがインクルードパスに含まれている必要がある。 以下のように異った機能を提供する数々のインクルードファイルが存在する。
lambda/lambda.hpp
は様々な C++ の演算子のためのλ式を定義している。 詳しくはSection 5.2を見よ。lambda/bind.hpp
は9個までの引数のためのboost::bind
関数を定義している。 詳しくはSection 5.3を見よ。lambda/if.hpp
は if 文や条件演算子と等価なλ関数を定義している。 詳しくはSection 5.6を見よ。 (lambda.hpp
も見ることを薦める)。lambda/loops.hpp
は繰り返し構造と等価なλ関数を定義している。 詳しくはSection 5.6を見よ。lambda/switch.hpp
は switc 文と等価なλ関数を定義している。 詳しくはSection 5.6を見よ。lambda/construct.hpp
はコンストラクタ、デストラクタ、new や delete を呼出すλ式を記述するツールを提供している。 詳しくはSection 5.8を見よ。 (lambda.hpp
も見ることを薦める)。lambda/casts.hpp
はλ関数のための、キャストやsizeof
、typeid
を定義している。 詳しくはSection 5.10.1を見よ。lambda/exceptions.hpp
はλ関数内での例外を送出したり、補足する手段を提供する。 詳しくはSection 5.7を見よ。 (lambda.hpp
を含む)lambda/algorithm.hpp
とlambda/numeric.hpp
(標準ライブラリのalgortihm
とnumeric
ヘッダを参照 ) はネストした STL アルゴリズムの呼び出しを可能にする。 詳しくはSection 5.11を見よ。
以上に挙げた以外のパッケージ内のヘッダファイルは内部的に使用しているものである。 更に、lambda ライブラリは Tuple
[tuple] と type_traits
[type_traits] の二つの Boost ライブラリに依存している。 そして、boost/ref.hpp
ヘッダファイルにも依存する。
全ての定義は boost::lambda
ネームスペースとそのサブネームスペースに属する。
2.2. Conventions used in this document
多くのコード例では、std
と boost::lambda
の名前空間の名前の接頭辞を省略している。 そのため事実上暗黙的に、
using namespace std;
using namespace boost::lambda;
という定義があると仮定している。