Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
b09bc33
commit 368ecfc
Showing
2 changed files
with
198 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,197 @@ | ||
# Boost 1.82.0リリースノート | ||
|
||
本家リリースノート: | ||
|
||
- <https://github.com/boostorg/website/blob/master/feed/history/boost_1_82_0.qbk> | ||
- <http://www.boost.org/users/history/version_1_82_0.html> | ||
|
||
|
||
リポジトリは以下: | ||
|
||
- <https://github.com/boostorg/> | ||
|
||
|
||
リポジトリからのビルド方法は、egtraさんのブログを参照: | ||
|
||
- 「[Modularized Boost(GitHubへ移行したリポジトリ)を使用する](http://dev.activebasic.com/egtra/2013/12/03/620/)」 | ||
|
||
|
||
## C++03サポートの終了 | ||
以下のライブラリは、いまから2リリース後の1.84.0でC++03のサポートを終了する: | ||
|
||
- Align | ||
- Bind | ||
- Chrono | ||
- ContainerHash | ||
- Endian | ||
- Function | ||
- Functional | ||
- Io | ||
- Random | ||
- Ratio | ||
- SmartPtr | ||
- System | ||
- Thread | ||
- Timer | ||
- Typeof | ||
- Unordered | ||
|
||
このリリース(1.82)と次のリリース(1.83)は、上記のライブラリとその依存関係の大部分でC++03をサポートする最後のリリースとなる。 | ||
|
||
古いバージョンのコンパイラでは、サポート不足やバグのためにC++11が部分的にしか実装されていないことが多いため、どのコンパイラがC++11の要件を満たしているとみなされるかは、ライブラリによって異なる場合がある。 | ||
|
||
しかし、一般的なルールとして、コンパイラがC++11のキーワードや構文をまったく認識しない場合(例:`noexcept`の使用、`constexpr`の使用、`=delete`された関数を定義すると即コンパイルエラー)、コンパイラがC++11必須のヘッダーをまったく提供しない場合(例:`<atomic>` や `<chrono>` をインクルードしようとすると失敗する)、あるいはコンパイラがC++11の機能やヘッダを提供するがまったく使用できない場合、このコンパイラはC++11コンパイラとはみなされない。 | ||
|
||
このため、例えば14.0 (2015) 以前のMicrosoft Visual C++や、4.8以前のGCCは除外される。 | ||
|
||
|
||
## 新ライブラリ | ||
|
||
- [MySql](https://boost.org/libs/mysql) | ||
- Boost.AsioベースのMySQLデータベースサーバーのC++11クライアント (作者Reuben Perez) | ||
|
||
|
||
## 更新ライブラリ | ||
|
||
- [ContainerHash](#container_hash) | ||
- [Math](#math) | ||
- [Multi-index](#multi-index) | ||
- [Multiprecision](#multiprecision) | ||
- [StaticString](#static_string) | ||
- [Test](#test) | ||
- [Unordered](#unordered) | ||
- [URL](#url) | ||
|
||
|
||
## 更新ツール | ||
|
||
- [Build](#build) | ||
|
||
|
||
## <a id="container_hash" href="#container_hash">ContainerHash</a> | ||
|
||
- `hash_value`の`std::nullopt_t`に対するオーバーロードを追加 | ||
- `is_tuple_like`と、`hash_value`のtuple-like型に対するオーバーロードを追加 | ||
- `string`のハッシュ化として、品質と速度の両方の改善のために[`mulxp1_hash`](https://github.com/pdimov/mulxp_hash)を使用するよう修正 | ||
|
||
|
||
## <a id="math" href="#math">Math</a> | ||
|
||
- [**C++11サポートを非推奨化**] 最小の標準バージョンとしてC++14を要求する | ||
- 最小テストコンパイラはClang-5、GCC-5、MSVC-14.1 (2017) となる | ||
- 多項式評価のためのEstrin's methodを追加 | ||
- [GitHub #939](https://github.com/boostorg/math/pull/939) 非心分布 (non-central distributions) のさまざまな問題を修正し、より大きな非心分布に対応できるようにした | ||
- CMake install targetを追加 | ||
- 例外のない環境で使用できないものを無効化するために `special_functions.hpp` を修正 | ||
- C++14で条件番号の計算 (condition number calculation) が動作するよう修正 | ||
- [GitHub #923](https://github.com/boostorg/math/issues/923) `constexpr` テーブル駆動関数を修正し、コードが実際には `constexpr` でない場合に大幅な速度低下を避けるようにした | ||
- [GitHub #894](https://github.com/boostorg/math/pull/894) `tanh_sinh` の境界処理を改善 | ||
- Linux arm64、s390x、Apple M1 のテストを追加し、128ビット`long double`を扱うテストケースを修正 | ||
- 無限大とNaNをより良く扱うために`constexpr`数学関数を改善 | ||
- 積分器 (integrators) をconst-correctにした | ||
- [GitHub #898](https://github.com/boostorg/math/issues/898) `tanh_sinh` の積分器がアンダーフローする問題を修正 | ||
- いくつかのプラットフォームがまだサポートしていないため、`std::cbrt`を使用しないようにした | ||
- [GitHub #892](https://github.com/boostorg/math/pull/892) 非心t (non-central T) が偽 (spurious) の `FE_INVALID` 例外を発生させるのを止めた | ||
- 二項分布のエッジケースを修正 | ||
- [GitHub #884](https://github.com/boostorg/math/pull/884) `ibeta`の非常に小さな引数の取り扱いを改善 | ||
- `ibeta`での無限大とNaNの取り扱いを改善 [@https://github.com/boostorg/math/issues/878 874]を参照してください. | ||
- [GitHub #781](https://github.com/boostorg/math/issues/781) `powm1`のエラーハンドリングを改善 | ||
- 指数が超大きい (super large)、または小さいときに、root finder bracketingをより速くブラケットするよう改善 | ||
- root finderのエッジケースを修正 | ||
- 多くの雑多な警告を修正 | ||
- C++17を必要とする機能を使用する際にアサーションを追加し、古い標準バージョンでコンパイラを起動したときのエラーメッセージを改善 | ||
|
||
|
||
## <a id="multi-index" href="#multi-index">Multi-index</a> | ||
|
||
- シリアライズで`collection_size_type`の代わりに`unsigned long`を使用するようにし、この変更にともなって`multi_index_container`のシリアライズバージョンを2から3に上げた。`collection_size_type`の値を特別扱いするカスタムアーカイブ型では、古いアーカイブの読み込みに失敗することがある。そのような場合は、読み出し操作の後方互換性を確保するためにマクロ `BOOST_MULTI_INDEX_ENABLE_SERIALIZATION_COMPATIBILITY_V2` をグローバル定義する | ||
- メンテナンス作業 | ||
|
||
|
||
## <a id="multiprecision" href="#multiprecision">Multiprecision</a> | ||
|
||
- [**C++11サポートを非推奨化**] 最小の標準バージョンとしてC++14を要求する | ||
- 最小テストコンパイラはClang-5、GCC-5、MSVC-14.1 (2017) となる | ||
- 新たに先行宣言のヘッダを追加 | ||
- [GitHub #479](https://github.com/boostorg/multiprecision/issues/479) Eigenとの相互運用性を更新し、Eigenの詳細に依存しないよう修正 | ||
- Cmake install targetを追加 | ||
- [GitHub #499](https://github.com/boostorg/multiprecision/issues/499) スタンドアロンの場合の文字列からの`cpp_dec_float`構築を修正し、より良いエラーハンドリングを実現した | ||
- [GitHub #530](https://github.com/boostorg/multiprecision/pull/530) C++17モードでの冗長な定義を削除 | ||
- スタンドアローンの `itrunc` と `ltrunc` のエラーハンドリングを修正 | ||
- 8進数文字列の解析時に初期化されない可能性があるストレージを修正 | ||
- arm64 と s390x の CI テストを追加 | ||
- [GitHub #506](https://github.com/boostorg/multiprecision/issues/506) `powm` のために不足していた式テンプレートの展開コードを追加 | ||
|
||
|
||
## <a id="static_string" href="#static_string">StaticString</a> | ||
|
||
- Boost.Coreの`string_view`と`std::string_view`の相互運用をできるよう修正 | ||
|
||
|
||
## <a id="test" href="#test">Test</a> | ||
|
||
- いくつかの未使用変数の警告を修正 | ||
- `sprintf`の非推奨の警告を修正 | ||
- `basic_cstring::rfind`の未定義動作を修正 | ||
- GitHub ActionsでのCIを追加 | ||
|
||
|
||
## <a id="unordered" href="#unordered">Unordered</a> | ||
|
||
- **メジャーアップデート** | ||
- ノードベースで、オープンアドレッシングなコンテナ`boost::unordered_node_map`と`boost::unordered_node_set`を追加 | ||
- [P2363](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2363r5.html)で規定された異種混合ルックアップ (heterogeneous lookup) の拡張メンバ関数を追加 | ||
- オープンアドレッシングコンテナのpost-mixing前の処理を、定数による拡張乗算 (extended multiplication by a constant) に基づく新しいアルゴリズムに置き換えた | ||
- `emplace`内部で、スタックローカル型がコンテナのアロケータを使用して適切に構築されず、`uses-allocator` 構築を壊していたバグを修正 | ||
|
||
|
||
## <a id="url" href="#url">URL</a> | ||
|
||
- 自動的に%のエンコーディングを行う`url::format`を追加 | ||
- URL routerの例を追加 | ||
- `set_params`便利関数を追加 | ||
- `string_view`への暗黙変換をサポート | ||
- パースコンストラクタをimplicitにした | ||
- `string_token::arg`が仮想デストラクタとslice protectionを持つようにした | ||
- `BOOST_URL_DISABLE_THREADS`をサポート | ||
- 改善とバグ修正: | ||
- `WIN32_LEAN_AND_MEAN`が再定義された警告を修正 | ||
- 欠落 (absent) と空 (empty) のコンポーネントの差分比較 | ||
- 空ポートのようなセグメントを持つ `hier_part_rule` を検出 | ||
- root上で正規化した場合のセグメント比較 | ||
- hier-part path-rootless は無効なセグメントを考慮するよう修正 | ||
- オーバーフローした場合に、ポート番号を0にするよう修正 | ||
- ipv4 から文字列のオーバーフローを検出するアルゴリズム | ||
|
||
|
||
## <a id="build" href="#build">Build</a> | ||
|
||
- B2バージョン4.9.4をリリース | ||
|
||
|
||
## テスト済みコンパイラ | ||
主要なテストコンパイラ: | ||
|
||
- 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](https://github.com/faithandbrave) | ||
|