最終更新日時:
が更新

履歴 編集

2. Getting Started

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 はλ関数のための、キャストや sizeoftypeid を定義している。 詳しくはSection 5.10.1を見よ。
  • lambda/exceptions.hpp はλ関数内での例外を送出したり、補足する手段を提供する。 詳しくはSection 5.7を見よ。 (lambda.hppを含む)
  • lambda/algorithm.hpplambda/numeric.hpp (標準ライブラリの algortihmnumeric ヘッダを参照 ) はネストした STL アルゴリズムの呼び出しを可能にする。 詳しくはSection 5.11を見よ。

以上に挙げた以外のパッケージ内のヘッダファイルは内部的に使用しているものである。 更に、lambda ライブラリは Tuple [tuple] と type_traits [type_traits] の二つの Boost ライブラリに依存している。 そして、boost/ref.hpp ヘッダファイルにも依存する。

全ての定義は boost::lambda ネームスペースとそのサブネームスペースに属する。

2.2. Conventions used in this document

多くのコード例では、stdboost::lambda の名前空間の名前の接頭辞を省略している。 そのため事実上暗黙的に、

using namespace std;
using namespace boost::lambda;

という定義があると仮定している。