いつものように、boostjpサイトで、リリースノートの日本語訳を作成して公開しています。
新ライブラリ
今回の新ライブラリは、以下の2つです。
- Endian
- プロセッサのエンディアンに関係なく、適切なバイトオーダーに変換する型と関数。
- Sort
- 一般的な状況でO(n*log(n))よりも高速な、ハイブリッドな基数ソートであるスプレッドソート(spreadsort)を含む。
主な更新内容
更新はたくさんありますが、目立ったところをいくつか列挙します。
- Boost.Fusionの
std::tuple
アダプトが正式サポートになった- Flastさんががんばってpull requestを送りまくってくれました。お疲れさまでした。
- Boost.Variantの
apply_visitor()
関数に、ジェネリックラムダを指定できるようになった。- C++14サポートです。
- Boost.Geometryの、
disjoint()
とintersects()
がサポートする組み合わせが増えた - Boost.Containerに、
small_vector
というコンテナが追加された- 小さな要素数に最適化された
vector
。テンプレートパラメータで指定された要素数の領域を事前に確保することにより、その要素数を超えない限り、insert()
/push_back()
でメモリ確保を行わない。 static_vector
とは異なり、フリーストアからメモリ確保し、キャパシティを超えた領域の拡張が可能。- LLVMのSmallVectorクラスを参考にしている
- 小さな要素数に最適化された
- Boost.Containerのランダムアクセスイテレータをサポートするコンテナに、
nth()
、index_of()
メンバ関数が追加された。