いつものように、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()メンバ関数が追加された。