最終更新日時:
が更新

履歴 編集

Boost 1.51.0 リリースノート

本家リリースノート:

新ライブラリ

  • Context
    • コンテキストスイッチライブラリ
    • 作者:Oliver Kowalke

更新ライブラリ

Algorithm

  • is_sorted_untilの値が重複している区間に対する挙動をC++11標準の挙動に修正
  • 範囲バージョンが無かった検索アルゴリズムに範囲バージョンを追加
  • unhexは不正な入力に対してBoost.Exceptionを用いて例外を送出するようになった

Asio

  • ip::tcp::iostreamのC++11での非互換性を修正(#7162)
  • GCCの属性名との相互作用を防ぐために、ユーザー定義マクロをアンダースコアで装飾(#6415)
  • #include <cctype>が抜けていたのを追加。MinGWで必要。
  • GCCのARM CPU向け組み込みatomic機能が利用可能な場合はそれを使用するようにした(#7140)
  • strandのデストラクト時に何もしない(no-op)ようにした。この修正によって、strandオブジェクトが関連付けられているio_serviceオブジェクトが破棄されたあとでも破棄可能になる
  • 新しいバージョンのglibcの場合、epoll_create1()関数を提供するようにした。だけどこの関数は常にENOSYSで失敗する(#7012)
  • SSLの初期化に失敗した場合に例外を投げるようにした(#6303)
  • buffered_write_streamの回帰バグを修正(#6310)
  • Linuxのx86、x86-64プラットフォームでの様々な小さいパフォーマンス向上を実装

Config

  • C++11標準であることが明示されていないC++11向けマクロを非推奨にした。新しいマクロを使用するのが好ましい

Chrono

  • std::wstringがサポートされない環境でのコンパイルエラーを修正 (#6241)
  • HP uX上でpthread_getcpuclockidが定義されてないことによるコンパイルエラーを修正 (#6918)
  • ドキュメントのC++0xをC++11に更新 (#6987)
  • time_point.hppのBoost.Systemへの依存を削除 (#7041)
  • time_point.hpptime.hCLOCK_REALTIMEへの依存を削除 (#7042)
  • BOOST_NO_EXCEPTIONSが定義されていてもコンパイルできる様に修正 (#7058)
  • clock_string<thread_clock>が返す文字列のtypoを修正 (#7069)
  • クロスコンパイルのためにWinError.hを小文字に修正 (#7081)

Graph

  • Boost.Graphが提供する型の内部プロパティ、バンドルプロパティをリファクタリングし、名前付きパラメータをクリーンアップ
    • compressed_sparse_row_graphの旧スタイル内部プロパティ(非バンドルプロパティ)を有効にした
    • バンドルプロパティは、すべてのグラフ型とアダプタで動作しなければならない
  • バグ修正
    • バンドルプロパティのドキュメント誤字を修正(#6993)
    • 双方向CSRグラフに対してBGL_FORALL_VERTICESを使用できるよう修正(#7002)
    • .cppファイルで定義されるgraphml_readerクラスを無名名前空間で囲み、不必要にエクスポートされないようにした(#7023)
    • その他Tracに載っていないバグおよび警告の修正

Hash

  • C++11標準のスマートポインタをサポート
  • 暗黙の型変換を回避するために、hash_value()関数をSFINAEを使用するよう修正
  • 新しいコンフィグマクロを使用

Lexical cast

  • パフォーマンスの改善、boost::array<character_type, N>std::array<character_type, N>のメモリ使用量の削減
  • volatile修飾された入力値に対する実行時アサーションを修正 (#7157)

Math

  • 新しいコンフィグマクロを使用

Meta State Machine

  • 受け取り可能なイベントとしてboost::any(参照)とkleene(参照)をサポート
  • バグ修正:fsm内部テーブルでのnone(複合)イベントでのコンパイルエラーを修正
  • バグ修正:euml::defer_leadingのスタックオーバーフローを修正

Proto

  • Ptoro式の擬似的なパラメータパックの展開をサポート

Ratio

  • コンパイルエラーのためのワークアラウンド : テンプレートパラメータ定数n1に依存した部分特殊化(#7075)

Regex

  • 新しいコンフィグマクロを使用

Thread

  • MinGW/gcc4.5でリンクエラーが起きるのを修正 (#4258)
  • プロセスが終了する際にset_tss_dataでアクセス違反が発生する問題を修正 (#4885)
  • Intelコンパイラで/debug:parallelを使用した際にmutexが永遠に待ち続けるのを修正 (#6931)
  • ヘッダファイルが不足している問題を修正 (#7044)
  • BOOST_THREAD_PROVIDES_DEPRECATED_FEATURES_SINCE_V3_0_0thread::op==,thread::op!=の定義がされない問題を修正 (#7052)
  • current_thread_tls_keyの初期化順を修正 (#7066)
  • boost::allocator_argの多重定義エラーを修正 (#7074)
  • 64bit Windows環境下での警告を修正 (#7078)
  • #6130で適用されたcondition_variable::timed_waitへのworkaroundを巻き戻し (#7089)

Unordered

  • C++11コンパイラでC++03のアロケータを使用する場合の、コンストラクト/デストラクトの問題を修正(#7100)
  • 例外を無効にしている環境でコンパイルできるようにtry/catchを削除
  • GCC 3.4をサポートするようにSFINAEを調整 (#7175)
  • 新しいコンフィグマクロを使用

Wave

  • lexing_exceptionでのメモリへの不正な書き込みを修正 (#7050)
  • プリプロセス済み行にディレクティブがあっても処理をしないように修正 (#7159)
    • 編集注: この挙動は標準で定められた挙動
  • コマンドラインオプションを --c++0x から --c++11 に変更
    • 編集注: --c++0x オプションは使用されない

テスト済みコンパイラ

  • Linux
    • GCC: 4.2.4, 4.3.4, 4.4.3, 4.5.3, 4.6.2, 4.7
    • GCC, C++11 mode: 4.3.4, 4.4.3, 4.5.3, 4.6.2
    • Intel: 11.1, 12.0, 12.1
    • LLVM Clang: 2.8
  • OS X
    • GCC: 4.4
    • GCC, C++11 mode: 4.4
    • Intel: 11.1, 12.0
  • Windows
    • GCC, MinGW: 4.4.0, 4.4.7, 4.5.4, 4.6.3
    • Visual C++: 8.0, 9.0, 10.0
  • FreeBSD
    • GCC: 4.2.1(32/64bit)

追加のテスト済みコンパイラ

  • Linux
    • LLVM Clang: 3.0, subversion
    • GCC: 4.2.4, 4.3.4, 4.4.4, 4.4.7, 4.5.3, 4.6.2, 4.6.3, 4.7.0, 4.7.1
    • GCC, C++11 mode: 4.3.4, 4.4.4, 4.5.3, 4.6.3
    • pgCC: 11.9
    • Intel: 10.1, 11.1, 12.0, 12.1
    • Visual Age: 10.1
  • OS X
    • LLVM Clang: subversion
    • LLVM Clang, C++11 mode: subversion
    • Intel: 11.1, 12.0
    • GCC: 4.4
    • GCC, C++11 mode: 4.4
  • Windows
    • Visual C++: 8.0, 9.0, 10.0
    • GCC, MinGW: 4.4.0, 4.6.3, 4.7.0
  • AIX
    • IBM XL C/C++ Enterprise Edition: V12.1.0.0
  • FreeBSD
    • GCC: 4.2.1(32/64bit)
  • Solaris
    • Sun: 5.10

翻訳

Akira Takahashi, Kohei Takahashi