Skip to content

Latest commit

 

History

History
255 lines (157 loc) · 10.6 KB

1_84_0.md

File metadata and controls

255 lines (157 loc) · 10.6 KB

Boost 1.84.0リリースノート

本家リリースノート:

リポジトリは以下:

リポジトリからのビルド方法は、egtraさんのブログを参照:

新ライブラリ

  • Cobalt
    • C++20コルーチン用の基本的なアルゴリズムと型 (作者Klemens Morgenstern氏)
  • Redis
    • Boost.Asio上に作られたRedisの非同期クライアントライブラリ (作者Marcelo Zimbres Silva氏)

更新ライブラリ

  • GitHub #26 C++03のサポートを終了
  • リファレンスのドキュメント生成を修正。これにより、Boost.PFRのリファレンスによって上書きされないようになった。Peter Dimov氏のデバッグに感謝
  • immediate_executorをサポート
  • 非推奨となっていたアロケーションと実行フック (invocation hook) を削除
  • transfer_opを完了する際に、明示的にstd::size_tを使用するようにした
  • BOOST_ASIO_INITFN_RESULT_TYPEBOOST_ASIO_INITFN_AUTO_RESで置き換えた
  • server-flex-awaitableのサンプルコードでparserをリセットするようにした
  • websocket::stream::async_ping/pongハンドラの要件を正しくした
  • websocket::stream::async_write_someのドキュメントを更新
  • C++03のサポートを終了
  • C++03のサポートを終了
  • C++03のサポートを非推奨化した。Boost 1.86.0で削除予定
  • C++03のサポートを終了
  • C++03のサポートを非推奨化した。Boost 1.86.0で削除予定。新たな要求はC++14以上となる
  • result<T>クラスをnodiscard指定
  • メンバ型result<T>::value_typeを追加
  • verbose_diagnostic_infoはエラー処理スコープに到達するまで文字列への変換を遅延させる
  • 組み込み開発のサポートを改善
  • Visual Studio 2015との互換性を改善 (godmaycrying氏に感謝)
  • 小さなバグ修正と改善
  • GCC 4.8と4.9のサポートを終了
  • to_titleのWinAPIバックエンドは、空文字列を返す代わりに、文字列を変更しないようにした
  • char8_tstd::u8stringのサポートを改善
  • GitHub #198 負の時間を使用した際の、ひとつずれるエラー (off-by-one error) を修正
  • GitHub #194 フォーマット文字列における波括弧のエスケープ処理を修正
  • GitHub #189 とくにMSVCでの、ビルドエラーと警告を修正
  • C++03のサポートを非推奨化した。Boost 1.86.0で削除予定。新たな要求はC++14以上となる
  • GitHub #70 ADLをサポートしていない古いコンパイラにおけるシリアライズ関連のコンパイル時バグを修正
  • connection::reset_connectionconnection::async_reset_connectionを追加。これらの関数は、接続を閉じたり再度開いたりすることなく、セッションの状態 (プリペアドステートメント、変数、ロックなどを含む) をクリーンアップする
  • MySQL server v8.1.0で導入されたエラーコードを追加
  • 関数のデシリアライズでのfuzzテストを追加
  • [新しい大機能 : フィールド名リフレクション]。新たな関数constexpr boost::pfr::get_name<N, T>()を追加。この関数は、集成体TN番目のインデックスのフィールド名をstd::string_viewで返す。C++20以上を要求。この機能が使用可能な場合、BOOST_PFR_CORE_NAME_ENABLEDが値1で定義される。GitHub #129と実装アイディアにおいて、Denis Mikhailov氏Bela Schaum氏X-Ryl669氏に多大なる感謝
  • GitHub #134 C++17でfor_each_field()constexprにした。Alexander Karatarakis氏に感謝
  • バージョン1.15.0
  • Microsoft STLの検出を追加 (Henrik Gaßmann氏)
  • C++03のサポートを終了
  • BOOST_RATIO_EXTENSIONSのサポートを削除。Ratioは現在、標準<ratio>ヘッダで実装される
  • result<U&, E>のサポートを追加
  • resultoperator|を追加
  • resultoperator&を追加
  • resultoperator&=を追加
  • C++03のサポートを終了
  • C++03のサポートを終了
  • BOOST_TYPE_INDEX_REGISTER_RUNTIME_CLASS((A)(B)(C)(D))の構文をBOOST_TYPE_INDEX_REGISTER_RUNTIME_CLASS(A, B, C, D)に変更
  • Boost.PPへの依存を削除
  • C++03のサポートを終了
  • メジャーアップデート
  • boost::concurrent_flat_setを追加
  • 並行コンテナに[c]visit_while操作を追加。これは実行ポリシーとして逐次処理と並列処理のどちらでも使用できる
    • この関数は、関数オブジェクトffalseを返すかすべての要素を参照するまで、テーブルの各要素への参照で関数オブジェクトfを呼び出す
  • boost::concurrent_flat_(map|set)からboost::unordered_flat_(map|set)への (およびその逆) 効率的なムーブ構築を追加
  • ルックアップのパフォーマンスを向上させるために、並行コンテナへのbulk visitationを追加
  • ユーザーコードから並行コンテナへの不正な再入 (reentrancies) を検出するデバッグモードの仕組みを追加
  • 全てのコンテナとそのイテレータ型に、Boost.Serializationのサポートを追加
  • オープンアドレッシングと並行コンテナに、ファンシーポインタ (fancy pointer) のサポートを追加。これにより、Boost.Interprocessのアロケータを使用して共有メモリ上にコンテナを構築するというようなシナリオが可能になる
  • GitHub #221 閉アドレスコンテナのローカルイテレータに対するメンバポインタ演算子のバグを修正。この問題を発見し修正してくれたvslashg氏氏の貢献に感謝
  • このリリースから、boost::unordered_[multi]setboost::unordered_[multi]mapはC++11以降でのみ動作する
  • GitHub #107 C++03のサポートを終了
  • Boost.MoveとBoost.Bindへの依存を削除
  • バグ修正
    • GitHub #188 "#pragma\\n"と遭遇した際のセグメンテーション違反を修正

テスト済みコンパイラ

主要なテストコンパイラ:

  • Linux:
    • Clang, C++03: 3.4, 3.5, 3.6, 3.7, 3.8, 3.9, 12.0.0, 13.0.0, 14.0.0, 15.0.0
    • Clang, C++11: 3.4, 11.0.0, 13.0.0, 14.0.0, 15.0.0
    • Clang, C++14: 3.5, 3.6, 3.7, 3.8, 3.9, 4.0, 5.0, 12.0.0, 13.0.0, 14.0.0, 15.0.0
    • Clang, C++17: 6.0.1, 7.0.0, 8.0.0, 9.0.0, 10.0.0, 11.0.0, 12.0.0, 13.0.0, 14.0.0, 15.0.0
    • Clang, C++20: 11.0.0, 12.0.0, 13.0.0, 14.0.0, 15.0.0
    • GCC, C++03: 4.6.3, 11, 12
    • GCC, C++11: 4.7.3, 4.8.5, 11, 12
    • GCC, C++14: 5.4.0, 6.4.0, 7.3.0, 8.0.1, 9.1.0, 11, 12
    • GCC, C++17: 7.3.0, 8.0.1, 9.1.0, 11, 12
    • GCC, C++20: 8.0.1, 9.1.0, 10, 11, 12
  • OS X:
    • Apple Clang, C++03: 11.0.3
    • Apple Clang, C++11: 11.0.3
    • Apple Clang, C++14: 11.0.3
    • Apple Clang, C++17: 11.0.3
    • Apple Clang, C++20: 11.0.3
  • Windows:
    • Visual C++: 10.0, 11.0, 12.0, 14.0, 14.1, 14.2, 14.3

翻訳

Akira Takahashi