Never Stop Questioning

Boost

最終更新:

t-style

- view
メンバー限定 登録/ログイン

概略

Boostとは?

C++の準標準ライブラリともいえるライブラリであり、それらを生み出しているコミュニティのこと。ちなみに、C++0xの多くの仕様はBoost由来である。中身はテンプレートのマジック。多くの機能がヘッダを読み込むだけで使える。

Boost Software License

Boostライブラリのソフトウェアライセンス。商用でも使える緩いライセンス。

Boost メモ

よく使う機能をメモしておく。

shared_ptr<T>

説明

参照カウント方式のスマートポインタを提供する。型を指定することであたかもその型のポインタのようにアクセスできる。shared_ptr<void>を用いれば汎用ポインタにもなる。なお、循環参照はご法度。そういう可能性がある場合にはweak_ptrを駆使する。なお、COMのようなすでに参照カウント機能を持つクラスには、侵入型のスマートポインタもある。

Under Construction

lexical_cast<T>

説明

文字列から数値、数値から文字列といった変換機能を提供する。

Under Construction

numeric::ublas::xxx

説明

BLAS、つまり行列ライブラリ。まだまだ使いこなせていない。。

Under Construction

serialization::XXX

各種クラスのシリアライザとデシリアライザを提供する。スマートポインタもばっちり。BOOST_SERIALIZATION_ASSUME_ABSTRACTマクロで抽象クラスを通知するなどといった呪文を唱えることで、抽象クラスであってもへっちゃら。まるで魔法。このライブラリはビルドが必要。

Under Construction

tokenizer

CSVデータなどをカンマごとに分離するといったトークン分割機能を提供する。対象とするデータはテンプレートで指定できるので、charでもwchar_tでもOK。escaped_list_separatorを使えば、文字列内のカンマの読み飛ばしなんかも容易に実装可能。

Under Construction
記事メニュー
目安箱バナー