|
176 | 176 |
|
177 | 177 | <p class="text-right"><small>
|
178 | 178 | 最終更新日時(UTC):
|
179 |
| - <span itemprop="datePublished" content="2025-03-26T09:39:56"> |
180 |
| - 2025年03月26日 09時39分56秒 |
| 179 | + <span itemprop="datePublished" content="2025-03-26T11:31:18"> |
| 180 | + 2025年03月26日 11時31分18秒 |
181 | 181 | </span>
|
182 | 182 | <br/>
|
183 | 183 | <span itemprop="author" itemscope itemtype="http://schema.org/Person">
|
@@ -473,6 +473,7 @@ <h2>ライブラリ更新の概要</h2>
|
473 | 473 | <h3>新ライブラリ</h3>
|
474 | 474 | <ul>
|
475 | 475 | <li>文字列エンコーディングを識別するライブラリとして、<code><span href="https://cpprefjp.github.io/reference/text_encoding.md.nolink"><text_encoding></span></code>を追加</li>
|
| 476 | +<li>要素のメモリ位置が安定するシーケンスコンテナのライブラリとして<code><span href="https://cpprefjp.github.io/reference/hive.md.nolink"><hive></span></code>を追加</li> |
476 | 477 | <li>並行処理におけるデータの参照・更新を行うRCU (Read Copy Update) のライブラリとして、<code><a href="../reference/rcu.html"><rcu></a></code>を追加</li>
|
477 | 478 | <li>並行処理において参照中のデータが更新されないよう保護するハザードポインタのライブラリとして、<code><span href="https://cpprefjp.github.io/reference/hazard_pointer.md.nolink"><hazard_pointer></span></code>を追加</li>
|
478 | 479 | <li>データ並列ライブラリとして、<code><span href="https://cpprefjp.github.io/reference/simd.md.nolink"><simd></span></code>を追加</li>
|
@@ -534,6 +535,35 @@ <h3>コンテナ</h3>
|
534 | 535 | <li><code><a href="../reference/span/span.html">std::span</a></code>と<code><a href="../reference/mdspan/mdspan.html">std::mdspan</a></code>の推論補助を改善</li>
|
535 | 536 | <li><code><a href="../reference/ranges/concat_view.html">std::views::concat</a></code>を追加</li>
|
536 | 537 | <li><code><span href="https://cpprefjp.github.io/reference/ranges/cache_latest.md.nolink">std::views::cache_latest</span></code>を追加</li>
|
| 538 | +<li><code><span href="https://cpprefjp.github.io/reference/ranges/to_input_view.md.nolink">std::views::to_input</span></code>を追加。書き換えできない入力専用の値に変換する</li> |
| 539 | +<li>Range関係の、償却定数時間での要素追加を行う機能を追加<ul> |
| 540 | +<li>各viewクラスに<code>reserve_hint()</code>メンバ関数を追加</li> |
| 541 | +<li><code><span href="https://cpprefjp.github.io/reference/ranges/reserve_hint.md.nolink">std::ranges::reserve_hint()</span></code>関数を追加</li> |
| 542 | +<li><code><span href="https://cpprefjp.github.io/reference/ranges/approximately_sized_range.md.nolink">std::ranges::approximately_sized_range</span></code>コンセプトを追加</li> |
| 543 | +</ul> |
| 544 | +</li> |
| 545 | +<li>連続イテレータのコンセプト<code><a href="../reference/iterator/contiguous_iterator.html">contiguous_iterator</a></code>に、ポインタに変換できることを要件として追加</li> |
| 546 | +<li>以下のコンテナを<code>constexpr</code>に対応<ul> |
| 547 | +<li><code><a href="../reference/deque/deque.html">std::deque</a></code></li> |
| 548 | +<li><code><a href="../reference/forward_list/forward_list.html">std::forward_list</a></code></li> |
| 549 | +<li><code><a href="../reference/list/list.html">std::list</a></code></li> |
| 550 | +<li><code><a href="../reference/map/map.html">std::map</a></code> (ただし<code><a href="../reference/node_handle/node_handle.html">node_handle</a>::<a href="../reference/node_handle/node_handle/key.html">key()</a></code>を使用すると<a class="cpprefjp-defined-word" data-desc="未定義の動作。処理系は予期せぬ動作をする可能性がある。要するに動作保証対象外。undefined behavior (UB)。" href="../implementation-compliance.html#dfn-undefined-behavior">未定義動作</a>)</li> |
| 551 | +<li><code><a href="../reference/map/multimap.html">std::multimap</a></code> (ただし<code><a href="../reference/node_handle/node_handle.html">node_handle</a>::<a href="../reference/node_handle/node_handle/key.html">key()</a></code>を使用すると<a class="cpprefjp-defined-word" data-desc="未定義の動作。処理系は予期せぬ動作をする可能性がある。要するに動作保証対象外。undefined behavior (UB)。" href="../implementation-compliance.html#dfn-undefined-behavior">未定義動作</a>)</li> |
| 552 | +<li><code><a href="../reference/set/set.html">std::set</a></code></li> |
| 553 | +<li><code><a href="../reference/set/multiset.html">std::multiset</a></code></li> |
| 554 | +<li><code><a href="../reference/unordered_map/unordered_map.html">std::unordered_map</a></code> (ハッシュ関数のカスタム化が必要) (ただし<code><a href="../reference/node_handle/node_handle.html">node_handle</a>::<a href="../reference/node_handle/node_handle/key.html">key()</a></code>を使用すると<a class="cpprefjp-defined-word" data-desc="未定義の動作。処理系は予期せぬ動作をする可能性がある。要するに動作保証対象外。undefined behavior (UB)。" href="../implementation-compliance.html#dfn-undefined-behavior">未定義動作</a>)</li> |
| 555 | +<li><code><a href="../reference/unordered_map/unordered_multimap.html">std::unordered_multimap</a></code> (ハッシュ関数のカスタム化が必要) (ただし<code><a href="../reference/node_handle/node_handle.html">node_handle</a>::<a href="../reference/node_handle/node_handle/key.html">key()</a></code>を使用すると<a class="cpprefjp-defined-word" data-desc="未定義の動作。処理系は予期せぬ動作をする可能性がある。要するに動作保証対象外。undefined behavior (UB)。" href="../implementation-compliance.html#dfn-undefined-behavior">未定義動作</a>)</li> |
| 556 | +<li><code><a href="../reference/unordered_set/unordered_set.html">std::unordered_set</a></code> (ハッシュ関数のカスタム化が必要)</li> |
| 557 | +<li><code><a href="../reference/unordered_set/unordered_multiset.html">std::unordered_multiset</a></code> (ハッシュ関数のカスタム化が必要)</li> |
| 558 | +<li><code><a href="../reference/flat_map/flat_map.html">std::flat_map</a></code></li> |
| 559 | +<li><code><a href="../reference/flat_map/flat_multimap.html">std::flat_multimap</a></code></li> |
| 560 | +<li><code><a href="../reference/flat_set/flat_set.html">std::flat_set</a></code></li> |
| 561 | +<li><code><a href="../reference/flat_set/flat_multiset.html">std::flat_multiset</a></code></li> |
| 562 | +<li><code><a href="../reference/queue/queue.html">std::queue</a></code></li> |
| 563 | +<li><code><a href="../reference/queue/priority_queue.html">std::priority_queue</a></code></li> |
| 564 | +<li><code><a href="../reference/stack/stack.html">std::stack</a></code></li> |
| 565 | +</ul> |
| 566 | +</li> |
537 | 567 | </ul>
|
538 | 568 | <h3>アルゴリズム</h3>
|
539 | 569 | <ul>
|
@@ -635,8 +665,9 @@ <h3>並行・並列・非同期処理</h3>
|
635 | 665 | <li><code><a href="../reference/atomic/atomic_ref.html">std::atomic_ref</a></code>クラスのテンプレートパラメータとして、<a class="cpprefjp-defined-word" data-desc="型をconstおよび・もしくはvolatileで修飾すること">CV修飾</a>された型を受け取れるようにした (内部で<a class="cpprefjp-defined-word" data-desc="型をconstおよび・もしくはvolatileで修飾すること">CV修飾</a>が外される)</li>
|
636 | 666 | <li><code><a href="../reference/atomic.html"><atomic></a></code>ライブラリのアトミック操作を<code>constexpr</code>対応</li>
|
637 | 667 | </ul>
|
638 |
| -<h3>スマートポインタ</h3> |
| 668 | +<h3>スマートポインタ・メモリ関連</h3> |
639 | 669 | <ul>
|
| 670 | +<li>動的確保したオブジェクトに値の意味論をもたせてディープコピーさせるユーティリティクラスとして、<code><a href="../reference/memory.html"><memory></a></code>に<code><span href="https://cpprefjp.github.io/reference/memory/indirect.md.nolink">std::indirect</span></code>クラスと<code><span href="https://cpprefjp.github.io/reference/memory/polymorphic.md.nolink">std::polymorphic</span></code>クラスを追加</li> |
640 | 671 | <li><code><a href="../reference/memory/weak_ptr.html">std::weak_ptr</a></code>を非順序連想コンテナのキーとして使用できるよう、<code><a href="../reference/memory.html"><memory></a></code>に所有権ベースのハッシュ値を取得する関数オブジェクト<code><span href="https://cpprefjp.github.io/reference/memory/owner_hash.md.nolink">std::owner_hash</span></code>、および所有権ベースの等値比較を行う関数オブジェクト<code><span href="https://cpprefjp.github.io/reference/memory/owner_equal.md.nolink">std::owner_equal</span></code>を追加<ul>
|
641 | 672 | <li>関連して、<code><a href="../reference/memory/shared_ptr.html">std::shared_ptr</a></code>クラスと<code><a href="../reference/memory/weak_ptr.html">std::weak_ptr</a></code>クラスのメンバ関数として、<code>owner_hash()</code>と<code>owner_equal()</code>を追加</li>
|
642 | 673 | </ul>
|
@@ -744,6 +775,7 @@ <h3>数値</h3>
|
744 | 775 | <h3>ユーティリティ</h3>
|
745 | 776 | <ul>
|
746 | 777 | <li><code><a href="../reference/variant/variant.html">std::variant</a></code>クラスに、メンバ関数版の<code><span href="https://cpprefjp.github.io/reference/variant/variant/visit.md.nolink">visit()</span></code>を追加</li>
|
| 778 | +<li><code>std::monostate</code>を<code><a href="../reference/variant.html"><variant></a></code>から<code><a href="../reference/utility.html"><utility></a></code>に移動</li> |
747 | 779 | <li><code><a href="../reference/optional/optional.html">std::optional</a></code>クラスに、0もしくは1要素のRangeとして扱えるようにするための拡張として、イテレータインタフェースを追加<ul>
|
748 | 780 | <li><code>iterator</code>型</li>
|
749 | 781 | <li><code>const_iterator</code>型</li>
|
@@ -787,6 +819,22 @@ <h3>ユーティリティ</h3>
|
787 | 819 | </li>
|
788 | 820 | <li><code><a href="../reference/memory.html"><memory></a></code>に、ポインタのアライメントを判定する<code><a href="../reference/memory/is_sufficiently_aligned.html">std::is_sufficiently_aligned()</a></code>関数を追加。</li>
|
789 | 821 | <li><code><a href="../reference/utility.html"><utility></a></code>に、タイムトラベル最適化を抑止するための観測可能ポイントとして<code><span href="https://cpprefjp.github.io/reference/utility/observable.md.nolink">std::observable()</span></code>を追加</li>
|
| 822 | +<li>以下の<a class="cpprefjp-defined-word" data-desc="問題が発生したときに、現在実行位置を過去に通過・記録した位置に戻し、文脈情報を添えて紐づけられた処理(例外ハンドラー)を呼び出す仕組み。またはその事態">例外</a>型を<code>constexpr</code>対応<ul> |
| 823 | +<li><code><a href="../reference/stdexcept.html">std::domain_error</a></code></li> |
| 824 | +<li><code><a href="../reference/stdexcept.html">std::invalid_argument</a></code></li> |
| 825 | +<li><code><a href="../reference/stdexcept.html">std::length_error</a></code></li> |
| 826 | +<li><code><a href="../reference/stdexcept.html">std::logic_error</a></code></li> |
| 827 | +<li><code><a href="../reference/stdexcept.html">std::out_of_range</a></code></li> |
| 828 | +<li><code><a href="../reference/stdexcept.html">std::runtime_error</a></code></li> |
| 829 | +<li><code><a href="../reference/stdexcept.html">std::range_error</a></code></li> |
| 830 | +<li><code><a href="../reference/stdexcept.html">std::overflow_error</a></code></li> |
| 831 | +<li><code><a href="../reference/stdexcept.html">std::underflow_error</a></code></li> |
| 832 | +<li><code><a href="../reference/expected/bad_expected_access.html">std::bad_expected_access</a></code></li> |
| 833 | +<li><code><a href="../reference/optional/bad_optional_access.html">std::bad_optional_access</a></code></li> |
| 834 | +<li><code><a href="../reference/variant/bad_variant_access.html">std::bad_variant_access</a></code></li> |
| 835 | +<li><code><a href="../reference/format/format_error.html">std::format_error</a></code></li> |
| 836 | +</ul> |
| 837 | +</li> |
790 | 838 | </ul>
|
791 | 839 | <h3>デバッグ</h3>
|
792 | 840 | <ul>
|
|
0 commit comments