Top Page > Boostの紹介


Boostの紹介


Boost C++ Libraryは便利な小物ライブラリの集合体です。気に入ったものだけ、使う事ができます。

このライブラリは何なのか」ではなく「何をしたい時にこのライブラリが使えるか」という視点で紹介します。が…実はそうなってないものも多数です(笑)。

使い道が複数有って、複数箇所に登場するライブラリも有ります。逆にどこにも無いものは、僕が知らない物や、使い道が分からない物です。

ダウンロードは本家から。インストール方法はa-lang - Let's boostなどに載ってますが、下の表で要コンパイルとあるもの以外は、DLしたものを解凍してインクルードパスを通すだけで使えます。たぶん。

チュートリアルとサンプルはa-lang - Let's boostが充実してます。マニュアルの日本語訳も。

○日常的に使いたい

ライブラリ名
使い道
conversion
(lexical_cast)
文字列を他の型に、他の型を文字列に変換する。
format ostream(coutなど)にprintf形式で出力する。 サンプル
filesystem ディレクトリ構造をWindowsでもUNIXでも同じ方法で扱う。 要コンパイル
function & bind メンバ関数や関数オブジェクトも代入できる、関数ポインタもどきを作る。 サンプル
regex 正規表現による検索やマッチをする。 サンプル
要コンパイル
smart_ptr インスタンスがどこからも参照されなくなったら自動でdeleteする。 サンプル
auto_ptrのコンテナは作れない。その代用になるのがshared_ptrのコンテナ。 サンプル
tuple 複数の戻り値を返し、複数の変数で受け取る。 サンプル

○状況によっては便利かも

ライブラリ名
使い道
any Visual BasicのVariant型みたいな物。
bind 3引数以上の関数オブジェクトを束縛(bind)する。
compose f(x)g(x) から f(g(x)) を作ったり。
date_time 日時をクラスにして便利に扱う。 要コンパイル
functional 参照の参照問題を解消した bind1stmem_fun など。
lambda for_each などに渡す関数オブジェクトをその場で作る。
operators 自前のクラスの += に対して +< に対して > <= >= などを自動で定義する。
thread ポータブルでC++的にマルチスレッドを扱う。 要コンパイル
tokenizer 文字列をトークンに分割する。

○ライブラリ作成者向け

ライブラリ名
使い道
concept_check テンプレート関数のエラーメッセージを分かりやすくする。
config 「メンバ関数テンプレートが使えない」などのコンパイラの性質を判定する。

○数学屋向け

ライブラリ名
使い道
math 最大公約数、最小公倍数、四元数など。
random 乱数生成色々。
rational 有理数クラス。
uBLAS 行列クラスとか。

○マニア向け

ライブラリ名
使い道
mpl コンパイルタイムで条件分岐や計算を行う。
preprocessor 任意個の引数を受け取るために似たような関数を大量に定義する手間を省く。
property_map map形式のプロパティを読み書きするためのコンセプト。
spirit C++の構文を使ってBNFもどきを作り、構文解析をする。


Gimite 市川 <gimite@mx12.freecom.ne.jp>


Boostの紹介 < Top Page