Skip to content

Commit

Permalink
1.85.0 : Atomic, Core, Filesystem, Iteratorを追加
Browse files Browse the repository at this point in the history
  • Loading branch information
faithandbrave committed Apr 6, 2024
1 parent cf9bb0d commit 558fa8a
Showing 1 changed file with 33 additions and 0 deletions.
33 changes: 33 additions & 0 deletions document/version/1_85_0.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,12 +26,16 @@

## 更新ライブラリ

- [Atomic](#atomic)
- [Beast](#beast)
- [Bimap](#bimap)
- [Bind](#bind)
- [Conversion](#conversion)
- [Core](#core)
- [Filesystem](#filesystem)
- [Function](#function)
- [Geometry](#geometry)
- [Iterator](#iterator)
- [JSON](#json)
- [LEAF](#leaf)
- [LexicalCast](#lexical_cast)
Expand All @@ -58,6 +62,10 @@
- [Build](#build)


## <a id="atomic" href="#atomic">Atomic</a>

- [GitHub #65](https://github.com/boostorg/atomic/pull/65) RISC-Vで`pause`命令のサポートを追加

## <a id="beast" href="#beast">Beast</a>

- API変更
Expand Down Expand Up @@ -98,6 +106,26 @@
- [GitHub #28](https://github.com/boostorg/conversion/pull/28) ライブラリの一部ではなくなった`boost::lexical_cast`関連の古い記述を削除 ([Danil Sidoruk](https://github.com/eoan-ermine)氏のPRに感謝)


## <a id="core" href="#core">Core</a>

- 生の関数を関数オブジェクトクラスでラップするための`functor`クラステンプレートを持つ新しい`boost/core/functor.hpp`ヘッダを追加
- `null_deleter``fclose_deleter`、チェックされたデリーター定義を変更し、引数依存の名前探索 (ADL) で名前空間`boost`が持ち込まれないようにした。ユーザーは、呼び出される関数の名前空間を明示的に修飾するか、`using`宣言を追加する必要があるかもしれない


## <a id="filesystem" href="#filesystem">Filesystem</a>

- `path::generic_path``path::generic_string`メソッドは、返されるパスの中の重複したディレクトリセパレータを削除するようになった
- [v4:] `path::generic_path``path::generic_string``path::make_preferred``path::lexically_normal`は、パスのルート名におけるバックスラッシュとフォワードスラッシュの変換を避けるようになった。例として、Windows上で`path("\\\\\\\\?\\\\c:\\\\foo").generic_string()`は、`"//?/c:/foo"`の代わりに`"\\\\\\\\?\\\\c:/foo"`を返すようになった。同様に、`path("\\\\\\\\host/share/foo/..").lexically_normal()``"\\\\\\\\host\\\\share"を`返すようになった
- [v4:] `equivalent`は、どちらかのパスが存在しない場合にエラーを示すようになった
- [v4:] [GitHub #301](https://github.com/boostorg/filesystem/issues/301) `absolute`は、入力パスの`relative_path()`が空の場合、末尾にディレクトリセパレータを持つパスを返すようになった
- デフォルトのパスモデルを使用して一意のパスを生成する`unique_path`関数の、単一の`error_code& ec`引数をとるオーバーロードを追加
- [GitHub #300](https://github.com/boostorg/filesystem/issues/300) `weakly_canonical`は、入力パスが相対パスであり、ファイルシステムに存在する要素を含まない場合、絶対パスを生成するようになった
- [GitHub #179](https://github.com/boostorg/filesystem/issues/179) `copy_file``copy`操作に、新しい`copy_options::ignore_attribute_errors`オプションを追加。この新しいオプションにより、ファイル属性のコピー中に発生する可能性のあるエラーを無視できる
- Linuxでは、`sendfile``copy_file_range`システムコールに基づく`copy_file`バックエンドが、ターゲットファイルのストレージを事前に割り当てようとする。これにより、ファイルシステムの断片化が減少し、十分な空き容量がない場合に早期にエラーが示される。すべてのファイルシステムがこの機能をサポートしているわけではない。ストレージの事前割り当てがサポートされていない場合、ファイルのコピーは続行される
- [`fdopendir`](https://pubs.opengroup.org/onlinepubs/9699919799/functions/fdopendir.html)`openat`、POSIX.1-2008で定義されている関連APIをサポートするPOSIXシステム、およびWindowsでは、`recursive_directory_iterator`は、反復中にファイルのステータスを問い合わせ、ネストされたディレクトリを開くために、パスの代わりにファイル記述子/ハンドルを使用するようになった。これにより、ファイルシステムの同時変更に対するディレクトリ反復の回復力が向上する
- 以前に非推奨として宣言されていたAPIを削除しました。とくに、`path``recursive_directory_iterator`のメンバ関数、`is_regular``copy_directory``symbolic_link_exists``complete``copy_option``symlink_option`、および`boost/filesystem/convenience.hpp``boost/filesystem/path_traits.hpp`ヘッダが削除された。削除されたコンポーネントの代替はドキュメントに記載されている
- コンテナ型(例として`std::vector<char>`)からの`path`の構築、代入、追加のサポートは、デフォルトで無効になった。ユーザーは`BOOST_FILESYSTEM_DEPRECATED`を定義することで、この機能を有効にすることができる。この機能は非推奨のままであり、将来のリリースで完全に削除される予定

## <a id="function" href="#function">Function</a>

- C++03のサポートを終了。C++11コンパイラを要求するようになった
Expand All @@ -121,6 +149,11 @@
- さまざまなエラーと警告の修正


## <a id="iterator" href="#iterator">Iterator</a>

- C++03のサポートを非推奨化。将来のリリースから削除される予定


## <a id="json" href="#json">JSON</a>

- エンディアンを扱うためにBoost.Endianを使用するようになった
Expand Down

0 comments on commit 558fa8a

Please sign in to comment.