<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>cpprefjp - C++日本語リファレンス</title>
  <link href="https://cpprefjp.github.io" />
  <updated>2026-06-24T03:00:13.428317</updated>
  <id>5590a754-7722-41cf-ba29-a9a4f8f7e348</id>

  
    <entry>
      <title>機能テストマクロ -- function_ref : 二重の間接呼び出しを回避する仕様変更に対応 (close #1636)</title>
      <link href="https://cpprefjp.github.io/lang/cpp26/feature_test_macros.html"/>
      <id>c5bbec933ed52bf8edc7e5a9493971f1857a0b4c:lang/cpp26/feature_test_macros.md</id>
      <updated>2026-06-24T11:55:06+09:00</updated>
      
        <content type="html">&lt;h1 itemprop=&#34;name&#34;&gt;&lt;span class=&#34;token&#34;&gt;機能テストマクロ&lt;/span&gt;&lt;span class=&#34;cpp cpp26&#34; title=&#34;C++26で追加&#34;&gt;(C++26)&lt;/span&gt;&lt;/h1&gt;
&lt;div itemprop=&#34;articleBody&#34;&gt;&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;このページはC++26に採用された言語機能の変更を解説しています。&lt;/p&gt;
&lt;p&gt;のちのC++規格でさらに変更される場合があるため&lt;a href=&#34;#relative-page&#34;&gt;関連項目&lt;/a&gt;を参照してください。&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;h2&gt;概要&lt;/h2&gt;
&lt;h3&gt;言語機能&lt;/h3&gt;
&lt;table border=&#34;1&#34; bordercolor=&#34;#888&#34; style=&#34;border-collapse:collapse&#34;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;マクロ名&lt;/th&gt;
&lt;th&gt;値&lt;/th&gt;
&lt;th&gt;機能&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_constexpr&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202406L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;constexpr_cast_from_voidptr.html&#34;&gt;定数式での&lt;code&gt;void*&lt;/code&gt;からポインタ型へのキャストを許可&lt;/a&gt;&lt;br /&gt;&lt;a href=&#34;constexpr_placement_new.html&#34;&gt;&lt;code&gt;constexpr&lt;/code&gt;配置&lt;code&gt;new&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_constexpr_exceptions&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202411L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;allowing_exception_throwing_in_constant-evaluation.html&#34;&gt;定数評価での例外送出を許可&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_constexpr_virtual_inheritance&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;constexpr&lt;/code&gt;仮想継承を許可&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_contracts&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;contracts.html&#34;&gt;契約プログラミングをサポートする&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_deleted_function&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202403L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;delete_reason.html&#34;&gt;関数宣言を削除する理由を指定できるようにする&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_expansion_statements&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;expansion_statements.html&#34;&gt;コンパイル時のタプルやリストを展開処理する&lt;code&gt;template for&lt;/code&gt;文&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_impl_reflection&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;reflection.html&#34;&gt;静的リフレクション&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_pack_indexing&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202311L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;pack_indexing.html&#34;&gt;パラメータパックへのインデックスアクセスを許可&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_placeholder_variables&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;nice_placeholder_with_no_name.html&#34;&gt;宣言のみで使用しない変数の名前として&lt;code&gt;_&lt;/code&gt;をサポート&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_pp_embed&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;embed.html&#34;&gt;ファイルを読み込む&lt;code&gt;#embed&lt;/code&gt;命令を追加&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_static_assert&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;user-generated_static_assert_messages.html&#34;&gt;&lt;code&gt;static_assert&lt;/code&gt;の診断メッセージにユーザーが生成した文字列の指定を許可&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_structured_bindings&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202411L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;attributes_for_structured_bindings.html&#34;&gt;構造化束縛への属性を許可&lt;/a&gt;&lt;br /&gt;&lt;a href=&#34;structured_bindings_can_introduce_a_pack.html&#34;&gt;構造化束縛でパックを導入できるようにする&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_template_parameters&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;concept_and_variable-template_template-parameters.html&#34;&gt;コンセプトと変数テンプレートをテンプレート引数として渡せるようにする&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_trivial_relocatability&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;トリビアルな再配置&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_trivial_union&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;trivial_unions.html&#34;&gt;共用体の特殊メンバ関数のトリビアル化&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_variadic_friend&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202403L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;variadic_friends.html&#34;&gt;可変引数テンプレートで&lt;code&gt;friend&lt;/code&gt;宣言をできるようにする&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3&gt;ライブラリ&lt;/h3&gt;
&lt;p&gt;ライブラリの機能テストマクロは全て&lt;code&gt;&lt;a href=&#34;../../reference/version.html&#34;&gt;&amp;lt;version&amp;gt;&lt;/a&gt;&lt;/code&gt;でも提供される。&lt;/p&gt;
&lt;table border=&#34;1&#34; bordercolor=&#34;#888&#34; style=&#34;border-collapse:collapse&#34;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;マクロ名&lt;/th&gt;
&lt;th&gt;値&lt;/th&gt;
&lt;th&gt;機能&lt;/th&gt;
&lt;th&gt;ヘッダ&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_algorithm_default_value_type&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202603L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;一部アルゴリズムに、値を波カッコ初期化で渡せるよう制約を追加 (P3787R2で&lt;code&gt;&lt;a href=&#34;../../reference/memory/uninitialized_fill.html&#34;&gt;uninitialized_fill&lt;/a&gt;&lt;/code&gt;/&lt;code&gt;&lt;a href=&#34;../../reference/memory/uninitialized_fill_n.html&#34;&gt;uninitialized_fill_n&lt;/a&gt;&lt;/code&gt;を追加)&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/algorithm.html&#34;&gt;&amp;lt;algorithm&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/ranges.html&#34;&gt;&amp;lt;ranges&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/string.html&#34;&gt;&amp;lt;string&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/deque.html&#34;&gt;&amp;lt;deque&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/list.html&#34;&gt;&amp;lt;list&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/forward_list.html&#34;&gt;&amp;lt;forward_list&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/vector.html&#34;&gt;&amp;lt;vector&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/memory.html&#34;&gt;&amp;lt;memory&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_aligned_accessor&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202411L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/mdspan.html&#34;&gt;&amp;lt;mdspan&amp;gt;&lt;/a&gt;&lt;/code&gt;に、要素アクセスにアライメント保証を与える&lt;code&gt;&lt;a href=&#34;../../reference/mdspan/aligned_accessor.html&#34;&gt;std::aligned_accessor&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/mdspan.html&#34;&gt;&amp;lt;mdspan&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_associative_heterogeneous_insertion&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;連想コンテナの一部メンバ関数に、一時オブジェクト生成のコストを抑える拡張を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/map.html&#34;&gt;&amp;lt;map&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/set.html&#34;&gt;&amp;lt;set&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/unordered_map.html&#34;&gt;&amp;lt;unordered_map&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/unordered_set.html&#34;&gt;&amp;lt;unordered_set&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_apply&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/tuple/apply.html&#34;&gt;std::apply&lt;/a&gt;&lt;/code&gt;の戻り値型推論をやめて、戻り値型用の&lt;code&gt;&lt;a href=&#34;../../reference/tuple/apply_result.md.nolink&#34;&gt;std::apply_result&lt;/a&gt;&lt;/code&gt;クラスを追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/tuple.html&#34;&gt;&amp;lt;tuple&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/type_traits.html&#34;&gt;&amp;lt;type_traits&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_atomic_min_max&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/atomic/atomic.html&#34;&gt;std::atomic&lt;/a&gt;&lt;/code&gt;オブジェクトに対する2つの値の最大値・最小値を取得する関数を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/atomic.html&#34;&gt;&amp;lt;atomic&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_atomic_reductions&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/atomic/atomic.html&#34;&gt;std::atomic&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../../reference/atomic/atomic_ref.html&#34;&gt;std::atomic_ref&lt;/a&gt;&lt;/code&gt;に高速な縮約用の操作を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/atomic.html&#34;&gt;&amp;lt;atomic&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_atomic_ref&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202411L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/atomic/atomic_ref.html&#34;&gt;std::atomic_ref&lt;/a&gt;&lt;/code&gt;に&lt;code&gt;&lt;a href=&#34;../../reference/atomic/atomic_ref/address.html&#34;&gt;address()&lt;/a&gt;&lt;/code&gt;メンバ関数を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/atomic.html&#34;&gt;&amp;lt;atomic&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_bind_back&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/functional/bind_back.html&#34;&gt;std::bind_back()&lt;/a&gt;&lt;/code&gt;に、非型テンプレート引数として関数を指定するオーバーロードを追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/functional.html&#34;&gt;&amp;lt;functional&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_bind_front&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/functional/bind_front.html&#34;&gt;std::bind_front()&lt;/a&gt;&lt;/code&gt;に、非型テンプレート引数として関数を指定するオーバーロードを追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/functional.html&#34;&gt;&amp;lt;functional&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_bitset&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/bitset/bitset.html&#34;&gt;std::bitset&lt;/a&gt;&lt;/code&gt;に、&lt;code&gt;&lt;a href=&#34;../../reference/string_view/basic_string_view.html&#34;&gt;std::basic_string_view&lt;/a&gt;&lt;/code&gt;を受け取るコンストラクタを追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/bitset.html&#34;&gt;&amp;lt;bitset&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_chrono&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/chrono.html&#34;&gt;&amp;lt;chrono&amp;gt;&lt;/a&gt;&lt;/code&gt;のクラスに、ハッシュ値サポートとして&lt;code&gt;&lt;a href=&#34;../../reference/functional/hash.html&#34;&gt;std::hash&lt;/a&gt;&lt;/code&gt;の特殊化を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/chrono.html&#34;&gt;&amp;lt;chrono&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_constant_wrapper&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202606L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/utility.html&#34;&gt;&amp;lt;utility&amp;gt;&lt;/a&gt;&lt;/code&gt;に&lt;code&gt;&lt;a href=&#34;../../reference/utility/constant_wrapper.html&#34;&gt;std::constant_wrapper&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/utility.html&#34;&gt;&amp;lt;utility&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_constexpr_algorithms&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/algorithm/stable_sort.html&#34;&gt;std::stable_sort()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../../reference/algorithm/ranges_stable_sort.html&#34;&gt;std::ranges::stable_sort()&lt;/a&gt;&lt;/code&gt;を&lt;code&gt;constexpr&lt;/code&gt;対応&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/algorithm.html&#34;&gt;&amp;lt;algorithm&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/utility.html&#34;&gt;&amp;lt;utility&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_constexpr_atomic&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202411L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/atomic.html&#34;&gt;&amp;lt;atomic&amp;gt;&lt;/a&gt;&lt;/code&gt;ライブラリのアトミック操作を&lt;code&gt;constexpr&lt;/code&gt;対応&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/atomic.html&#34;&gt;&amp;lt;atomic&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_constexpr_cmath&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/cmath.html&#34;&gt;&amp;lt;cmath&amp;gt;&lt;/a&gt;&lt;/code&gt;の関数 (特殊関数と丸めモードに依存する関数以外の全て) を&lt;code&gt;constexpr&lt;/code&gt;対応&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/cmath.html&#34;&gt;&amp;lt;cmath&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/cstdlib.html&#34;&gt;&amp;lt;cstdlib&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_constexpr_complex&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/complex/complex.html&#34;&gt;std::complex&lt;/a&gt;&lt;/code&gt;の全関数を&lt;code&gt;constexpr&lt;/code&gt;対応&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/complex.html&#34;&gt;&amp;lt;complex&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_constexpr_deque&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/deque/deque.html&#34;&gt;std::deque&lt;/a&gt;&lt;/code&gt;を&lt;code&gt;constexpr&lt;/code&gt;対応&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/deque.html&#34;&gt;&amp;lt;deque&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_constexpr_exceptions&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;allowing_exception_throwing_in_constant-evaluation.html&#34;&gt;定数式での例外送出が許可されること&lt;/a&gt;にともない、例外クラスの関連機能を&lt;code&gt;constexpr&lt;/code&gt;対応&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/exception.html&#34;&gt;&amp;lt;exception&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/stdexcept.html&#34;&gt;&amp;lt;stdexcept&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/expected.html&#34;&gt;&amp;lt;expected&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/optional.html&#34;&gt;&amp;lt;optional&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/variant.html&#34;&gt;&amp;lt;variant&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/format.html&#34;&gt;&amp;lt;format&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_constexpr_flat_map&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/flat_map/flat_map.html&#34;&gt;std::flat_map&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../../reference/flat_map/flat_multimap.html&#34;&gt;std::flat_multimap&lt;/a&gt;&lt;/code&gt;を&lt;code&gt;constexpr&lt;/code&gt;対応&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/flat_map.html&#34;&gt;&amp;lt;flat_map&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_constexpr_flat_set&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/flat_set/flat_set.html&#34;&gt;std::flat_set&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../../reference/flat_set/flat_multiset.html&#34;&gt;std::flat_multiset&lt;/a&gt;&lt;/code&gt;を&lt;code&gt;constexpr&lt;/code&gt;対応&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/flat_set.html&#34;&gt;&amp;lt;flat_set&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_constexpr_forward_list&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/forward_list/forward_list.html&#34;&gt;std::forward_list&lt;/a&gt;&lt;/code&gt;を&lt;code&gt;constexpr&lt;/code&gt;対応&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/forward_list.html&#34;&gt;&amp;lt;forward_list&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_constexpr_inplace_vector&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202603L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/inplace_vector/inplace_vector.html&#34;&gt;std::inplace_vector&lt;/a&gt;&lt;/code&gt;を&lt;code&gt;constexpr&lt;/code&gt;対応&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/inplace_vector.html&#34;&gt;&amp;lt;inplace_vector&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_constexpr_list&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/list/list.html&#34;&gt;std::list&lt;/a&gt;&lt;/code&gt;を&lt;code&gt;constexpr&lt;/code&gt;対応&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/list.html&#34;&gt;&amp;lt;list&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_constexpr_map&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/map/map.html&#34;&gt;std::map&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../../reference/map/multimap.html&#34;&gt;std::multimap&lt;/a&gt;&lt;/code&gt;を&lt;code&gt;constexpr&lt;/code&gt;対応&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/map.html&#34;&gt;&amp;lt;map&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_constexpr_memory&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/memory/shared_ptr.html&#34;&gt;std::shared_ptr&lt;/a&gt;&lt;/code&gt;クラスとその関連機能を&lt;code&gt;constexpr&lt;/code&gt;対応&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/memory.html&#34;&gt;&amp;lt;memory&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_constexpr_new&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202406L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;constexpr_placement_new.html&#34;&gt;&lt;code&gt;constexpr&lt;/code&gt;配置&lt;code&gt;new&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/new.html&#34;&gt;&amp;lt;new&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_constexpr_queue&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/queue/queue.html&#34;&gt;std::queue&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../../reference/queue/priority_queue.html&#34;&gt;std::priority_queue&lt;/a&gt;&lt;/code&gt;を&lt;code&gt;constexpr&lt;/code&gt;対応&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/queue.html&#34;&gt;&amp;lt;queue&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_constexpr_set&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/set/set.html&#34;&gt;std::set&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../../reference/set/multiset.html&#34;&gt;std::multiset&lt;/a&gt;&lt;/code&gt;を&lt;code&gt;constexpr&lt;/code&gt;対応&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/set.html&#34;&gt;&amp;lt;set&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_constexpr_stack&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/stack/stack.html&#34;&gt;std::stack&lt;/a&gt;&lt;/code&gt;を&lt;code&gt;constexpr&lt;/code&gt;対応&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/stack.html&#34;&gt;&amp;lt;stack&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_constexpr_unordered_map&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/unordered_map/unordered_map.html&#34;&gt;std::unordered_map&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../../reference/unordered_map/unordered_multimap.html&#34;&gt;std::unordered_multimap&lt;/a&gt;&lt;/code&gt;を&lt;code&gt;constexpr&lt;/code&gt;対応&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/unordered_map.html&#34;&gt;&amp;lt;unordered_map&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_constexpr_unordered_set&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/unordered_set/unordered_set.html&#34;&gt;std::unordered_set&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../../reference/unordered_set/unordered_multiset.html&#34;&gt;std::unordered_multiset&lt;/a&gt;&lt;/code&gt;を&lt;code&gt;constexpr&lt;/code&gt;対応&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/unordered_set.html&#34;&gt;&amp;lt;unordered_set&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_constrained_equality&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202411L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/functional/reference_wrapper.html&#34;&gt;std::reference_wrapper&lt;/a&gt;&lt;/code&gt;に、比較演算子&lt;code&gt;&lt;a href=&#34;../../reference/functional/reference_wrapper/op_equal.html&#34;&gt;==&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../../reference/functional/reference_wrapper/op_compare_3way.html&#34;&gt;&amp;lt;=&amp;gt;&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/utility.html&#34;&gt;&amp;lt;utility&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/tuple.html&#34;&gt;&amp;lt;tuple&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/optional.html&#34;&gt;&amp;lt;optional&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/variant.html&#34;&gt;&amp;lt;variant&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/expected.html&#34;&gt;&amp;lt;expected&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_contracts&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;contracts.html&#34;&gt;契約プログラミングをサポートする&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/contracts.html&#34;&gt;&amp;lt;contracts&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_copyable_function&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/functional.html&#34;&gt;&amp;lt;functional&amp;gt;&lt;/a&gt;&lt;/code&gt;に&lt;code&gt;&lt;a href=&#34;../../reference/functional/copyable_function.html&#34;&gt;std::copyable_function&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/functional.html&#34;&gt;&amp;lt;functional&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_counting_scope&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/execution.html&#34;&gt;&amp;lt;execution&amp;gt;&lt;/a&gt;&lt;/code&gt;に&lt;code&gt;&lt;a href=&#34;../../reference/execution/execution/spawn.html&#34;&gt;std::execution::spawn&lt;/a&gt;&lt;/code&gt;、&lt;code&gt;&lt;a href=&#34;../../reference/execution/execution/scope_token.html&#34;&gt;std::execution::scope_token&lt;/a&gt;&lt;/code&gt;などを追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/execution.html&#34;&gt;&amp;lt;execution&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_debugging&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202403L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;デバッグサポートのライブラリとして&lt;code&gt;&lt;a href=&#34;../../reference/debugging.html&#34;&gt;&amp;lt;debugging&amp;gt;&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/debugging.html&#34;&gt;&amp;lt;debugging&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_define_static&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/meta.html&#34;&gt;&amp;lt;meta&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_exception_ptr_cast&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202603L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/exception/exception_ptr.html&#34;&gt;std::exception_ptr&lt;/a&gt;&lt;/code&gt;を指定した例外型にキャストする&lt;code&gt;&lt;a href=&#34;../../reference/exception/exception_ptr_cast.html&#34;&gt;std::exception_ptr_cast()&lt;/a&gt;&lt;/code&gt;関数を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/exception.html&#34;&gt;&amp;lt;exception&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_format&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202603L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/format/dynamic_format.html&#34;&gt;std::dynamic_format&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/format.html&#34;&gt;&amp;lt;format&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_format_path&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/filesystem/path.html&#34;&gt;std::filesystem::path&lt;/a&gt;&lt;/code&gt;クラスに、文字列フォーマットのサポートを追加&lt;br /&gt;&lt;code&gt;&lt;a href=&#34;../../reference/filesystem/path.html&#34;&gt;std::filesystem::path&lt;/a&gt;&lt;/code&gt;クラスに、出力用の文字列を取得するためのメンバ関数を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/filesystem.html&#34;&gt;&amp;lt;filesystem&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_format_uchar&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202311L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/format/format.html&#34;&gt;std::format&lt;/a&gt;&lt;/code&gt;が&lt;code&gt;char&lt;/code&gt;を数値出力する際は符号なしとして扱う&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/format.html&#34;&gt;&amp;lt;format&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_algorithm&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/algorithm.html&#34;&gt;&amp;lt;algorithm&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_array&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202311L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/array.html&#34;&gt;&amp;lt;array&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_char_traits&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/string.html&#34;&gt;&amp;lt;string&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_charconv&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/charconv.html&#34;&gt;&amp;lt;charconv&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_cstdlib&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/cstdlib.html&#34;&gt;&amp;lt;cstdlib&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/cmath.html&#34;&gt;&amp;lt;cmath&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_cstring&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202311L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/cstring.html&#34;&gt;&amp;lt;cstring&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_cwchar&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/cwchar.md.nolink&#34;&gt;&amp;lt;cwchar&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_errc&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/cerrno.html&#34;&gt;&amp;lt;cerrno&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/system_error.html&#34;&gt;&amp;lt;system_error&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_execution&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/execution.html&#34;&gt;&amp;lt;execution&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_expected&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202311L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/expected.html&#34;&gt;&amp;lt;expected&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_feature_test_macros&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_functional&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/functional.html&#34;&gt;&amp;lt;functional&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_iterator&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/iterator.html&#34;&gt;&amp;lt;iterator&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_mdspan&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202311L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/mdspan.html&#34;&gt;&amp;lt;mdspan&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_memory&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/memory.html&#34;&gt;&amp;lt;memory&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_numeric&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/numeric.html&#34;&gt;&amp;lt;numeric&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_operator_new&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt; or &lt;code&gt;0&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/new.html&#34;&gt;&amp;lt;new&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_optional&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/optional.html&#34;&gt;&amp;lt;optional&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_random&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/random.html&#34;&gt;&amp;lt;random&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_ranges&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/ranges.html&#34;&gt;&amp;lt;ranges&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_ratio&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/ratio.html&#34;&gt;&amp;lt;ratio&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_string_view&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202311L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/string_view.html&#34;&gt;&amp;lt;string_view&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_tuple&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/tuple.html&#34;&gt;&amp;lt;tuple&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_utility&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/utility.html&#34;&gt;&amp;lt;utility&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_variant&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202311L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/variant.html&#34;&gt;&amp;lt;variant&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_fstream_native_handle&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/fstream/basic_fstream.html&#34;&gt;std::basic_fstream&lt;/a&gt;&lt;/code&gt;などのメンバに、ファイルのネイティブハンドルを追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/fstream.html&#34;&gt;&amp;lt;fstream&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_function_ref&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202604L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/functional.html&#34;&gt;&amp;lt;functional&amp;gt;&lt;/a&gt;&lt;/code&gt;に&lt;code&gt;&lt;a href=&#34;../../reference/functional/function_ref.html&#34;&gt;std::function_ref&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/functional.html&#34;&gt;&amp;lt;functional&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_hazard_pointer&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;ハザードポインタのライブラリ&lt;code&gt;&lt;a href=&#34;../../reference/hazard_pointer.md.nolink&#34;&gt;&amp;lt;hazard_pointer&amp;gt;&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/hazard_pointer.md.nolink&#34;&gt;&amp;lt;hazard_pointer&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_hive&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;シーケンスコンテナのライブラリ&lt;code&gt;&lt;a href=&#34;../../reference/hive.md.nolink&#34;&gt;&amp;lt;hive&amp;gt;&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/hive.md.nolink&#34;&gt;&amp;lt;hive&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_indirect&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/memory.html&#34;&gt;&amp;lt;memory&amp;gt;&lt;/a&gt;&lt;/code&gt;に&lt;code&gt;&lt;a href=&#34;../../reference/memory/indirect.html&#34;&gt;std::indirect&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../../reference/memory/polymorphic.html&#34;&gt;std::polymorphic&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/memory.html&#34;&gt;&amp;lt;memory&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_inplace_vector&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202603L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;容量固定の可変長配列のライブラリ&lt;code&gt;&lt;a href=&#34;../../reference/inplace_vector.html&#34;&gt;&amp;lt;inplace_vector&amp;gt;&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/inplace_vector.html&#34;&gt;&amp;lt;inplace_vector&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_integer_sequence&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202511L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/utility/integer_sequence.html&#34;&gt;std::integer_sequence&lt;/a&gt;&lt;/code&gt;を&lt;a href=&#34;../cpp17/structured_bindings.html&#34;&gt;構造化束縛&lt;/a&gt;と&lt;a href=&#34;expansion_statements.html&#34;&gt;&lt;code&gt;template for&lt;/code&gt;文&lt;/a&gt;で使用できるよう、タプルインタフェースの特殊化を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/utility.html&#34;&gt;&amp;lt;utility&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_is_sufficiently_aligned&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202411L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/mdspan.html&#34;&gt;&amp;lt;mdspan&amp;gt;&lt;/a&gt;&lt;/code&gt;に、要素アクセスにアライメント保証を与える&lt;code&gt;&lt;a href=&#34;../../reference/mdspan/aligned_accessor.html&#34;&gt;std::aligned_accessor&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/memory.html&#34;&gt;&amp;lt;memory&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_is_structural&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202603L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/type_traits.html&#34;&gt;&amp;lt;type_traits&amp;gt;&lt;/a&gt;&lt;/code&gt;に&lt;code&gt;&lt;a href=&#34;../../reference/type_traits/is_structural.html&#34;&gt;std::is_structural&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/type_traits.html&#34;&gt;&amp;lt;type_traits&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/meta.html&#34;&gt;&amp;lt;meta&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_is_virtual_base_of&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202406L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/type_traits.html&#34;&gt;&amp;lt;type_traits&amp;gt;&lt;/a&gt;&lt;/code&gt;に&lt;code&gt;&lt;a href=&#34;../../reference/type_traits/is_virtual_base_of.html&#34;&gt;std::is_virtual_base_of&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/type_traits.html&#34;&gt;&amp;lt;type_traits&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_is_within_lifetime&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/type_traits.html&#34;&gt;&amp;lt;type_traits&amp;gt;&lt;/a&gt;&lt;/code&gt;に&lt;code&gt;&lt;a href=&#34;../../reference/type_traits/is_within_lifetime.html&#34;&gt;std::is_within_lifetime()&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/type_traits.html&#34;&gt;&amp;lt;type_traits&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_linalg&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202412L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;線形代数ライブラリとして&lt;code&gt;&lt;a href=&#34;../../reference/linalg.html&#34;&gt;&amp;lt;linalg&amp;gt;&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/linalg.html&#34;&gt;&amp;lt;linalg&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_mdspan&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202406L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/mdspan/mdspan.html&#34;&gt;std::mdspan&lt;/a&gt;&lt;/code&gt;に対する&lt;code&gt;&lt;a href=&#34;../../reference/mdspan/extents.html&#34;&gt;std::dextents&lt;/a&gt;&lt;/code&gt;指定の冗長さを解決する&lt;code&gt;&lt;a href=&#34;../../reference/mdspan/extents.html&#34;&gt;std::dims&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/mdspan.html&#34;&gt;&amp;lt;mdspan&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_not_fn&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/functional/not_fn.html&#34;&gt;std::not_fn()&lt;/a&gt;&lt;/code&gt;に、非型テンプレート引数として関数を指定するオーバーロードを追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/functional.html&#34;&gt;&amp;lt;functional&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_observable_checkpoint&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/utility.html&#34;&gt;&amp;lt;utility&amp;gt;&lt;/a&gt;&lt;/code&gt;に&lt;code&gt;&lt;a href=&#34;../../reference/utility/observable_checkpoint.html&#34;&gt;std::observable_checkpoint()&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/utility.html&#34;&gt;&amp;lt;utility&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_optional&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/optional/optional.html&#34;&gt;std::optional&lt;/a&gt;&lt;/code&gt;に、参照を保持するための&lt;code&gt;T&amp;amp;&lt;/code&gt;の部分特殊化を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/optional.html&#34;&gt;&amp;lt;optional&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_optional_range_support&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202406L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/optional/optional.html&#34;&gt;std::optional&lt;/a&gt;&lt;/code&gt;にイテレータインタフェースを追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/optional.html&#34;&gt;&amp;lt;optional&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_out_ptr&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202311L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/memory.html&#34;&gt;&amp;lt;memory&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_parallel_algorithm&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/algorithm.html&#34;&gt;&amp;lt;algorithm&amp;gt;&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../../reference/memory.html&#34;&gt;&amp;lt;memory&amp;gt;&lt;/a&gt;&lt;/code&gt;のアルゴリズムを並列実行に対応&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/algorithm.html&#34;&gt;&amp;lt;algorithm&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/numeric.html&#34;&gt;&amp;lt;numeric&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/memory.html&#34;&gt;&amp;lt;memory&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_parallel_scheduler&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/execution.html&#34;&gt;&amp;lt;execution&amp;gt;&lt;/a&gt;&lt;/code&gt;に&lt;code&gt;&lt;a href=&#34;../../reference/execution/execution/parallel_scheduler.html&#34;&gt;std::execution::parallel_scheduler&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/execution.html&#34;&gt;&amp;lt;execution&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_philox_engine&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202406L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/random.html&#34;&gt;&amp;lt;random&amp;gt;&lt;/a&gt;&lt;/code&gt;に&lt;code&gt;&lt;a href=&#34;../../reference/random/philox_engine.html&#34;&gt;std::philox_engine&lt;/a&gt;&lt;/code&gt;、&lt;code&gt;&lt;a href=&#34;../../reference/random/philox4x32.html&#34;&gt;std::philox4x32&lt;/a&gt;&lt;/code&gt;、&lt;code&gt;&lt;a href=&#34;../../reference/random/philox4x64.html&#34;&gt;std::philox4x64&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/random.html&#34;&gt;&amp;lt;random&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_polymorphic&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/memory.html&#34;&gt;&amp;lt;memory&amp;gt;&lt;/a&gt;&lt;/code&gt;に&lt;code&gt;&lt;a href=&#34;../../reference/memory/indirect.html&#34;&gt;std::indirect&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../../reference/memory/polymorphic.html&#34;&gt;std::polymorphic&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/memory.html&#34;&gt;&amp;lt;memory&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_print&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202406L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/print/print.html&#34;&gt;std::print()&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../../reference/print/println.html&#34;&gt;std::println()&lt;/a&gt;&lt;/code&gt;にロックを取得せず高速に書き出す最適化を許可&lt;br /&gt;&lt;code&gt;&lt;a href=&#34;../../reference/format/enable_nonlocking_formatter_optimization.html&#34;&gt;std::enable_nonlocking_formatter_optimization&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/print.html&#34;&gt;&amp;lt;print&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/ostream.html&#34;&gt;&amp;lt;ostream&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_ranges&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202406L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/iterator/indirectly_unary_invocable.html&#34;&gt;std::indirectly_unary_invocable&lt;/a&gt;&lt;/code&gt;などのコンセプトの共通参照要件を削除&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/algorithm.html&#34;&gt;&amp;lt;algorithm&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/functional.html&#34;&gt;&amp;lt;functional&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/iterator.html&#34;&gt;&amp;lt;iterator&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/memory.html&#34;&gt;&amp;lt;memory&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/ranges.html&#34;&gt;&amp;lt;ranges&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_ranges_as_const&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202311L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/iterator/basic_const_iterator.html&#34;&gt;std::basic_const_iterator&lt;/a&gt;&lt;/code&gt;を元の要素へのキャストを可能にする&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/ranges.html&#34;&gt;&amp;lt;ranges&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_ranges_cache_latest&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202411L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/ranges/cache_latest_view.html&#34;&gt;std::views::cache_latest&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/ranges.html&#34;&gt;&amp;lt;ranges&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_ranges_concat&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202403L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/ranges/concat_view.html&#34;&gt;std::views::concat&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/ranges.html&#34;&gt;&amp;lt;ranges&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_ranges_filter&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202603L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/ranges/filter_view.html&#34;&gt;std::ranges::filter_view&lt;/a&gt;&lt;/code&gt;に、入力Rangeに対する&lt;code&gt;const&lt;/code&gt;版の&lt;code&gt;&lt;a href=&#34;../../reference/ranges/filter_view/begin.html&#34;&gt;begin()&lt;/a&gt;&lt;/code&gt;/&lt;code&gt;&lt;a href=&#34;../../reference/ranges/filter_view/end.html&#34;&gt;end()&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/ranges.html&#34;&gt;&amp;lt;ranges&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_ranges_generate_random&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202403L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/random.html&#34;&gt;&amp;lt;random&amp;gt;&lt;/a&gt;&lt;/code&gt;に、乱数列を生成する&lt;code&gt;&lt;a href=&#34;../../reference/random/generate_random.html&#34;&gt;std::ranges::generate_random()&lt;/a&gt;&lt;/code&gt;関数を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/random.html&#34;&gt;&amp;lt;random&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_ranges_indices&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;インデックス列を生成する&lt;code&gt;&lt;a href=&#34;../../reference/ranges/indices.html&#34;&gt;std::views::indices&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/ranges.html&#34;&gt;&amp;lt;ranges&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_ranges_reserve_hint&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;各viewクラスに&lt;code&gt;reserve_hint()&lt;/code&gt;メンバ関数を追加&lt;br /&gt;&lt;code&gt;&lt;a href=&#34;../../reference/ranges/reserve_hint.html&#34;&gt;std::ranges::reserve_hint()&lt;/a&gt;&lt;/code&gt;関数を追加&lt;br /&gt;&lt;code&gt;&lt;a href=&#34;../../reference/ranges/approximately_sized_range.html&#34;&gt;std::ranges::approximately_sized_range&lt;/a&gt;&lt;/code&gt;コンセプトを追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/ranges.html&#34;&gt;&amp;lt;ranges&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_ranges_as_input&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/ranges/as_input_view.html&#34;&gt;std::views::as_input&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/ranges.html&#34;&gt;&amp;lt;ranges&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_ratio&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/ratio.html&#34;&gt;&amp;lt;ratio&amp;gt;&lt;/a&gt;&lt;/code&gt;に、新たなSI接頭辞を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/ratio.html&#34;&gt;&amp;lt;ratio&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_raw_memory_algorithms&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202411L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/memory/uninitialized_default_construct.html&#34;&gt;std::uninitialized_default_construct()&lt;/a&gt;&lt;/code&gt;などの未初期化領域に対する操作を&lt;code&gt;constexpr&lt;/code&gt;対応&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/memory.html&#34;&gt;&amp;lt;memory&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_rcu&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;RCU (Read Copy Update) のライブラリとして&lt;code&gt;&lt;a href=&#34;../../reference/rcu.html&#34;&gt;&amp;lt;rcu&amp;gt;&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/rcu.html&#34;&gt;&amp;lt;rcu&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_reference_wrapper&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202403L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/functional/reference_wrapper.html&#34;&gt;std::reference_wrapper&lt;/a&gt;&lt;/code&gt;に、比較演算子&lt;code&gt;&lt;a href=&#34;../../reference/functional/reference_wrapper/op_equal.html&#34;&gt;==&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../../reference/functional/reference_wrapper/op_compare_3way.html&#34;&gt;&amp;lt;=&amp;gt;&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/functional.html&#34;&gt;&amp;lt;functional&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_reflection&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;reflection.html&#34;&gt;静的リフレクション&lt;/a&gt;のライブラリ機能&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/meta.html&#34;&gt;&amp;lt;meta&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_saturation_arithmetic&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202603L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/numeric.html&#34;&gt;&amp;lt;numeric&amp;gt;&lt;/a&gt;&lt;/code&gt;に飽和演算 (Saturation Arithmetic) として&lt;code&gt;&lt;a href=&#34;../../reference/numeric/saturating_add.html&#34;&gt;std::saturating_add()&lt;/a&gt;&lt;/code&gt;などの関数を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/numeric.html&#34;&gt;&amp;lt;numeric&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_senders&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/execution.html&#34;&gt;&amp;lt;execution&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_simd&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;データ並列ライブラリとして、&lt;code&gt;&lt;a href=&#34;../../reference/simd.md.nolink&#34;&gt;&amp;lt;simd&amp;gt;&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/simd.md.nolink&#34;&gt;&amp;lt;simd&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_simd_complex&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/simd.md.nolink&#34;&gt;&amp;lt;simd&amp;gt;&lt;/a&gt;&lt;/code&gt;が&lt;code&gt;&lt;a href=&#34;../../reference/complex/complex.html&#34;&gt;std::complex&lt;/a&gt;&lt;/code&gt;をサポートする&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/simd.md.nolink&#34;&gt;&amp;lt;simd&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_simd_permutations&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/simd.md.nolink&#34;&gt;&amp;lt;simd&amp;gt;&lt;/a&gt;&lt;/code&gt;に&lt;code&gt;permute()&lt;/code&gt;などを追加する&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/simd.md.nolink&#34;&gt;&amp;lt;simd&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_smart_ptr_owner_equality&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/memory.html&#34;&gt;&amp;lt;memory&amp;gt;&lt;/a&gt;&lt;/code&gt;に&lt;code&gt;&lt;a href=&#34;../../reference/memory/owner_hash.html&#34;&gt;std::owner_hash&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../../reference/memory/owner_equal.html&#34;&gt;std::owner_equal&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/memory.html&#34;&gt;&amp;lt;memory&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_span&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202311L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/mdspan/mdspan.html&#34;&gt;std::mdspan&lt;/a&gt;&lt;/code&gt;に&lt;code&gt;&lt;a href=&#34;../../reference/mdspan/mdspan/at.html&#34;&gt;at()&lt;/a&gt;&lt;/code&gt;メンバ関数を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/span.html&#34;&gt;&amp;lt;span&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_span_initializer_list&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202311L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/span/span.html&#34;&gt;std::span&lt;/a&gt;&lt;/code&gt;に&lt;code&gt;&lt;a href=&#34;../../reference/initializer_list/initializer_list.html&#34;&gt;std::initializer_list&lt;/a&gt;&lt;/code&gt;をとるコンストラクタを追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/span.html&#34;&gt;&amp;lt;span&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_sstream_from_string_view&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/sstream/basic_stringstream.html&#34;&gt;std::basic_stringstream&lt;/a&gt;&lt;/code&gt;などが&lt;code&gt;&lt;a href=&#34;../../reference/string_view/basic_string_view.html&#34;&gt;std::basic_string_view&lt;/a&gt;&lt;/code&gt;から構築可能に&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/sstream.html&#34;&gt;&amp;lt;sstream&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_string_subview&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/string/basic_string.html&#34;&gt;std::basic_string&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../../reference/string_view/basic_string_view.html&#34;&gt;std::basic_string_view&lt;/a&gt;&lt;/code&gt;に&lt;code&gt;subview()&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/string.html&#34;&gt;&amp;lt;string&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/string_view.html&#34;&gt;&amp;lt;string_view&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_string_view&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202403L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/string/basic_string.html&#34;&gt;std::basic_string&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../../reference/string_view/basic_string_view.html&#34;&gt;std::basic_string_view&lt;/a&gt;&lt;/code&gt;を連結させる&lt;code&gt;operator+&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/string.html&#34;&gt;&amp;lt;string&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/string_view.html&#34;&gt;&amp;lt;string_view&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_submdspan&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202411L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/mdspan/mdspan.html&#34;&gt;std::mdspan&lt;/a&gt;&lt;/code&gt;から部分ビューを取り出す&lt;code&gt;&lt;a href=&#34;../../reference/mdspan/submdspan.html&#34;&gt;std::submdspan()&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/mdspan.html&#34;&gt;&amp;lt;mdspan&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_task&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/execution.html&#34;&gt;&amp;lt;execution&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_text_encoding&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;文字列エンコーディングを識別するライブラリ&lt;code&gt;&lt;a href=&#34;../../reference/text_encoding.html&#34;&gt;&amp;lt;text_encoding&amp;gt;&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/text_encoding.html&#34;&gt;&amp;lt;text_encoding&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_to_chars&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/charconv/to_chars_result.html&#34;&gt;std::to_chars_result&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../../reference/charconv/from_chars_result.html&#34;&gt;std::from_chars_result&lt;/a&gt;&lt;/code&gt;に&lt;code&gt;operator bool&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/charconv.html&#34;&gt;&amp;lt;charconv&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_to_string&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/string/to_string.html&#34;&gt;std::to_string&lt;/a&gt;&lt;/code&gt;の変換結果を&lt;code&gt;sprintf()&lt;/code&gt;ベースから&lt;code&gt;std::format()&lt;/code&gt;ベースに変更&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/string.html&#34;&gt;&amp;lt;string&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_trivially_relocatable&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;トリビアルな再配置&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/memory.html&#34;&gt;&amp;lt;memory&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/type_traits.html&#34;&gt;&amp;lt;type_traits&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_tuple_like&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202311L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/complex/complex.html&#34;&gt;std::complex&lt;/a&gt;&lt;/code&gt;にタプルインタフェースの特殊化を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/utility.html&#34;&gt;&amp;lt;utility&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/tuple.html&#34;&gt;&amp;lt;tuple&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/map.html&#34;&gt;&amp;lt;map&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/unordered_map.html&#34;&gt;&amp;lt;unordered_map&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_type_order&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/compare/type_order.html&#34;&gt;std::type_order&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/compare.html&#34;&gt;&amp;lt;compare&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_variant&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/variant/variant.html&#34;&gt;std::variant&lt;/a&gt;&lt;/code&gt;クラスに、メンバ関数版の&lt;code&gt;&lt;a href=&#34;../../reference/variant/variant/visit.html&#34;&gt;visit()&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/variant.html&#34;&gt;&amp;lt;variant&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;実装依存のマクロ。&lt;/p&gt;
&lt;table border=&#34;1&#34; bordercolor=&#34;#888&#34; style=&#34;border-collapse:collapse&#34;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;マクロ名&lt;/th&gt;
&lt;th&gt;値&lt;/th&gt;
&lt;th&gt;機能&lt;/th&gt;
&lt;th&gt;ヘッダ&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_hardened_array&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/array.html&#34;&gt;&amp;lt;array&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_hardened_basic_stacktrace&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/stacktrace.html&#34;&gt;&amp;lt;stacktrace&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_hardened_basic_string&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/string.html&#34;&gt;&amp;lt;string&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_hardened_basic_string_view&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/string_view.html&#34;&gt;&amp;lt;string_view&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_hardened_bitset&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/bitset.html&#34;&gt;&amp;lt;bitset&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_hardened_common_iterator&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/iterator.html&#34;&gt;&amp;lt;iterator&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_hardened_counted_iterator&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/iterator.html&#34;&gt;&amp;lt;iterator&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_hardened_deque&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/deque.html&#34;&gt;&amp;lt;deque&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_hardened_expected&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/expected.html&#34;&gt;&amp;lt;expected&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_hardened_forward_list&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/forward_list.html&#34;&gt;&amp;lt;forward_list&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_hardened_inplace_vector&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/inplace_vector.html&#34;&gt;&amp;lt;inplace_vector&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_hardened_list&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/list.html&#34;&gt;&amp;lt;list&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_hardened_mdspan&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/mdspan.html&#34;&gt;&amp;lt;mdspan&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_hardened_optional&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/optional.html&#34;&gt;&amp;lt;optional&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_hardened_shared_ptr_array&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/memory.html&#34;&gt;&amp;lt;memory&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_hardened_span&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/span.html&#34;&gt;&amp;lt;span&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_hardened_valarray&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/valarray.html&#34;&gt;&amp;lt;valarray&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_hardened_vector&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/vector.html&#34;&gt;&amp;lt;vector&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_hardened_view_interface&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/ranges.html&#34;&gt;&amp;lt;ranges&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;参照&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://isocpp.org/std/standing-documents/sd-6-sg10-feature-test-recommendations&#34; target=&#34;_blank&#34;&gt;SD-FeatureTest: Feature-Test Macros and Policies - isocpp&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</content>
      
      <author>
        <name>Akira Takahashi</name>
        <email>faithandbrave@gmail.com</email>
      </author>
    </entry>
  
    <entry>
      <title>function_ref -- function_ref : 二重の間接呼び出しを回避する仕様変更に対応 (close #1636)</title>
      <link href="https://cpprefjp.github.io/reference/functional/function_ref.html"/>
      <id>c5bbec933ed52bf8edc7e5a9493971f1857a0b4c:reference/functional/function_ref.md</id>
      <updated>2026-06-24T11:55:06+09:00</updated>
      
        <summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/functional/function_ref.md b/reference/functional/function_ref.md
index 76f7db38d..756c1b93f 100644
--- a/reference/functional/function_ref.md
+++ b/reference/functional/function_ref.md
@@ -119,3 +119,5 @@ int main()
 ## 参照
 - [P0792R14 `function_ref`: a type-erased callable reference](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/p0792r14.html)
 - [P3774R1 Rename `std::nontype`, and make it broadly useful](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3774r1.html)
+- [P3961R1 Less double indirection in `function_ref` (RU-220)](https://open-std.org/jtc1/sc22/wg21/docs/papers/2026/p3961r1.html)
+    - 別の`function_ref`から構築する際の二重の間接呼び出しを回避するよう、コンストラクタと代入演算子の仕様を変更した
&lt;/code&gt;&lt;/pre&gt;</summary>
      
      <author>
        <name>Akira Takahashi</name>
        <email>faithandbrave@gmail.com</email>
      </author>
    </entry>
  
    <entry>
      <title>operator= -- function_ref : 二重の間接呼び出しを回避する仕様変更に対応 (close #1636)</title>
      <link href="https://cpprefjp.github.io/reference/functional/function_ref/op_assign.html"/>
      <id>c5bbec933ed52bf8edc7e5a9493971f1857a0b4c:reference/functional/function_ref/op_assign.md</id>
      <updated>2026-06-24T11:55:06+09:00</updated>
      
        <summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/functional/function_ref/op_assign.md b/reference/functional/function_ref/op_assign.md
index 089778da8..57250a84e 100644
--- a/reference/functional/function_ref/op_assign.md
+++ b/reference/functional/function_ref/op_assign.md
@@ -18,6 +18,7 @@ template&amp;lt;class T&amp;gt; function_ref&amp;amp; operator=(T) = delete; // (2)
 ## テンプレートパラメータ制約
 - (2) : 以下の制約をみたすとき、代入演算子はdelete宣言される
     - `T`が`function_ref`と同一型ではなく、かつ
+    - 説明専用の`is-convertible-from-specialization&amp;lt;T&amp;gt;`（[コンストラクタ](op_constructor.md)を参照）が`false`であり、かつ
     - [`is_pointer_v`](/reference/type_traits/is_pointer.md)`&amp;lt;T&amp;gt;`が`false`であり、かつ
     - `T`が[`constant_arg_t`](/reference/utility/constant_arg_t.md)の特殊化でないこと
 
@@ -73,3 +74,5 @@ int main()
 ## 参照
 - [P0792R14 `function_ref`: a type-erased callable reference](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/p0792r14.html)
 - [P3774R1 Rename `std::nontype`, and make it broadly useful](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3774r1.html)
+- [P3961R1 Less double indirection in `function_ref` (RU-220)](https://open-std.org/jtc1/sc22/wg21/docs/papers/2026/p3961r1.html)
+    - delete宣言される代入演算子(2)の制約に、説明専用の`is-convertible-from-specialization`の条件を追加した
&lt;/code&gt;&lt;/pre&gt;</summary>
      
      <author>
        <name>Akira Takahashi</name>
        <email>faithandbrave@gmail.com</email>
      </author>
    </entry>
  
    <entry>
      <title>コンストラクタ -- function_ref : 二重の間接呼び出しを回避する仕様変更に対応 (close #1636)</title>
      <link href="https://cpprefjp.github.io/reference/functional/function_ref/op_constructor.html"/>
      <id>c5bbec933ed52bf8edc7e5a9493971f1857a0b4c:reference/functional/function_ref/op_constructor.md</id>
      <updated>2026-06-24T11:55:06+09:00</updated>
      
        <summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/functional/function_ref/op_constructor.md b/reference/functional/function_ref/op_constructor.md
index 55801d20d..c7ffd3349 100644
--- a/reference/functional/function_ref/op_constructor.md
+++ b/reference/functional/function_ref/op_constructor.md
@@ -32,6 +32,16 @@ constexpr function_ref(const function_ref&amp;amp;) noexcept = default;  // (6)
 
 `function_ref`オブジェクトは、説明専用のメンバ変数`thunk-ptr`と`bound-entity`を保持する。
 
+また、説明専用の変数テンプレート`is-convertible-from-specialization&amp;lt;F&amp;gt;`を次のように定義する。型`F`が、あるCV修飾 *cv2* とnoexcept例外指定 *noex2* に対する`function_ref&amp;lt;R(Args...) /*cv2*/ noexcept(/*noex2*/)&amp;gt;`の特殊化を表す場合、`is-convertible-from-specialization&amp;lt;F&amp;gt;`は次の値と等しい :
+
+```cpp
+is_convertible_v&amp;lt;R(&amp;amp;)(Args...) noexcept(/*noex2*/), R(&amp;amp;)(Args...) noexcept(/*noex*/)&amp;gt; &amp;amp;&amp;amp;
+is_convertible_v&amp;lt;int /*cv*/&amp;amp;, int /*cv2*/&amp;amp;&amp;gt;
+```
+* is_convertible_v[link /reference/type_traits/is_convertible.md]
+
+そうでない場合、`is-convertible-from-specialization&amp;lt;F&amp;gt;`は`false`である。
+
 
 ## テンプレートパラメータ制約
 `function_ref`クラステンプレートパラメータのCV修飾子 *cv* に応じて
@@ -63,8 +73,9 @@ constexpr function_ref(const function_ref&amp;amp;) noexcept = default;  // (6)
 
 - (1) : `bound-entity`を`f`で、`thunk-ptr`を説明専用の関数`thunk`へのアドレスで初期化する。
     - [関数呼び出し`thunk(bound-entity, call-args...)`](op_call.md)は[`invoke_r`](/reference/functional/invoke_r.md)`&amp;lt;R&amp;gt;(f, call-args...)`と等価。
-- (2) : `bound-entity`を[`addressof`](/reference/memory/addressof.md)`(f)`で、`thunk-ptr`を説明専用の関数`thunk`へのアドレスで初期化する。
+- (2) : `is-convertible-from-specialization&amp;lt;`[`remove_cv_t`](/reference/type_traits/remove_cv.md)`&amp;lt;T&amp;gt;&amp;gt;`が`false`の場合、`bound-entity`を[`addressof`](/reference/memory/addressof.md)`(f)`で、`thunk-ptr`を説明専用の関数`thunk`へのアドレスで初期化する。
     - [関数呼び出し`thunk(bound-entity, call-args...)`](op_call.md)は[`invoke_r`](/reference/functional/invoke_r.md)`&amp;lt;R&amp;gt;(static_cast&amp;lt;/*cv*/ T&amp;amp;&amp;gt;(f), call-args...)`と等価。
+    - `is-convertible-from-specialization&amp;lt;`[`remove_cv_t`](/reference/type_traits/remove_cv.md)`&amp;lt;T&amp;gt;&amp;gt;`が`true`の場合（`f`が互換するシグニチャ・CV修飾をもつ`function_ref`の特殊化であるとき）、`bound-entity`を`f`の`bound-entity`の値で、`thunk-ptr`を`f`の`thunk-ptr`の値で初期化する。これにより、`function_ref`から別の`function_ref`を構築する際に、本来不要な二重の間接呼び出しが回避される。
 - (3) : `bound-entity`を未規定オブジェクトへのポインタまたはヌルポインタで、`thunk-ptr`を説明専用の関数`thunk`へのアドレスで初期化する。
     - [関数呼び出し`thunk(bound-entity, call-args...)`](op_call.md)は[`invoke_r`](/reference/functional/invoke_r.md)`&amp;lt;R&amp;gt;(f, call-args...)`と等価。
 - (4) : `bound-entity`を[`addressof`](/reference/memory/addressof.md)`(obj)`で、`thunk-ptr`を説明専用の関数`thunk`へのアドレスで初期化する。
@@ -160,3 +171,5 @@ int main()
 ## 参照
 - [P0792R14 `function_ref`: a type-erased callable reference](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/p0792r14.html)
 - [P3774R1 Rename `std::nontype`, and make it broadly useful](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3774r1.html)
+- [P3961R1 Less double indirection in `function_ref` (RU-220)](https://open-std.org/jtc1/sc22/wg21/docs/papers/2026/p3961r1.html)
+    - 別の`function_ref`から構築する際の二重の間接呼び出しを回避するため、説明専用の`is-convertible-from-specialization`を追加し、(2)のコンストラクタの効果を変更した
&lt;/code&gt;&lt;/pre&gt;</summary>
      
      <author>
        <name>Akira Takahashi</name>
        <email>faithandbrave@gmail.com</email>
      </author>
    </entry>
  
    <entry>
      <title>indirect -- indirect : pImplイディオムへの言及・サンプルコードを追加</title>
      <link href="https://cpprefjp.github.io/reference/memory/indirect.html"/>
      <id>224ccb4fb1682908d79483c4bffdbbe527b931ab:reference/memory/indirect.md</id>
      <updated>2026-06-24T11:35:51+09:00</updated>
      
        <summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/memory/indirect.md b/reference/memory/indirect.md
index 50bd4fd58..554671804 100644
--- a/reference/memory/indirect.md
+++ b/reference/memory/indirect.md
@@ -31,6 +31,8 @@ namespace std {
 
 これらの性質によって、`std::indirect`クラスのオブジェクトはクラスのメンバとして保持するのに適しており、コンパイラによる特殊メンバ関数の自動生成と協調して動作する。
 
+とくに、pImplイディオム（実装クラスへのポインタをメンバとしてもち、実装詳細をヘッダから隠蔽してソースファイル側で行う手法）の実装に適している。実装クラスを不完全型のまま`std::indirect`型でメンバ変数として保持すると、生のポインタや[`std::unique_ptr`](unique_ptr.md)で実装した場合とは異なり、値のコピー（実装クラスのディープコピー）と`const`の伝播がともに自動的に正しく行われる。
+
 所有オブジェクトを持たない状態を「無効値状態 (valueless state)」と呼ぶ。`std::indirect`オブジェクトが無効値状態になるのは、ムーブ後に空となった場合のみである。無効値状態のオブジェクトに対する`operator*`や`operator-&amp;gt;`の呼び出しは未定義動作を引き起こす。無効値状態かどうかは[`valueless_after_move()`](indirect/valueless_after_move.md)メンバ関数で判定できる。
 
 派生型のオブジェクトを多態的に保持したい場合は、[`std::polymorphic`](polymorphic.md)クラスを使用する。
@@ -116,6 +118,7 @@ namespace std {
 
 
 ## 例
+### 基本的な使い方
 ```cpp example
 #include &amp;lt;cassert&amp;gt;
 #include &amp;lt;memory&amp;gt;
@@ -143,6 +146,53 @@ int main()
 ```
 ```
 
+### pImplイディオムでの使用
+実装クラスを不完全型のまま`std::indirect`で保持することで、値の意味論をもつpImplを簡潔に実装できる。コピー・ムーブ・デストラクタはコンパイラが生成し、`const`メンバ関数からは実装クラスにも`const`が伝播する。
+
+```cpp example
+#include &amp;lt;cassert&amp;gt;
+#include &amp;lt;memory&amp;gt;
+
+// ヘッダ相当: 実装クラスImplは前方宣言のみ（不完全型）
+class Widget {
+  class Impl;
+  std::indirect&amp;lt;Impl&amp;gt; impl_;
+public:
+  Widget(int x);
+  int value() const;
+  void set(int x);
+  // コピー・ムーブ・デストラクタはコンパイラが生成する
+};
+
+// 実装相当: ここでImplが完全型になる
+class Widget::Impl {
+public:
+  int v;
+  Impl(int x) : v(x) {}
+};
+
+Widget::Widget(int x) : impl_{std::in_place, x} {}
+int Widget::value() const { return impl_-&amp;gt;v; } // constが伝播する
+void Widget::set(int x) { impl_-&amp;gt;v = x; }
+
+int main()
+{
+  Widget a{42};
+  assert(a.value() == 42);
+
+  Widget b = a;            // 値のコピー（Implがディープコピーされる）
+  b.set(10);
+  assert(a.value() == 42); // aは影響を受けない
+  assert(b.value() == 10);
+}
+```
+* std::indirect[color ff0000]
+* std::in_place[link /reference/utility/in_place_t.md]
+
+### 出力
+```
+```
+
 
 ## バージョン
 ### 言語
&lt;/code&gt;&lt;/pre&gt;</summary>
      
      <author>
        <name>Akira Takahashi</name>
        <email>faithandbrave@gmail.com</email>
      </author>
    </entry>
  
    <entry>
      <title>C++26 -- Merge pull request #1661 from cpprefjp/indirect_polymorphic</title>
      <link href="https://cpprefjp.github.io/lang/cpp26.html"/>
      <id>83e1e23ae95fd3b652908152cf8de66cbcf5f65d:lang/cpp26.md</id>
      <updated>2026-06-24T10:24:58+09:00</updated>
      
        <content type="html">&lt;h1 itemprop=&#34;name&#34;&gt;&lt;span class=&#34;token&#34;&gt;C++26&lt;/span&gt;&lt;/h1&gt;
&lt;div itemprop=&#34;articleBody&#34;&gt;&lt;h2&gt;概要&lt;/h2&gt;
&lt;p&gt;C++26とは、2026年中に改訂される予定の、C++バージョンの通称である。&lt;/p&gt;
&lt;p&gt;このバージョンは、策定中のためC++2cと呼ばれることがある。「(2020年代の3つ目のバージョンが) 202c年にリリースされる」という伏せ字として「c」が使われているが、3年周期に次のバージョンが策定されることが決まっているため、伏せ字になっている年数がずれることはない。&lt;/p&gt;
&lt;h2&gt;言語機能&lt;/h2&gt;
&lt;h3&gt;変数&lt;/h3&gt;
&lt;table border=&#34;1&#34; bordercolor=&#34;#888&#34; style=&#34;border-collapse:collapse&#34;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;言語機能&lt;/th&gt;
&lt;th&gt;説明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/static_storage_for_braced_initializers.html&#34;&gt;&lt;code&gt;std::initializer_list&lt;/code&gt;の配列を静的記憶域に配置する&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;std::vector v = {1, 2, 3};&lt;/code&gt;のような初期化で初期化子リストを静的記憶域に配置することで無駄なコピーをなくす&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/nice_placeholder_with_no_name.html&#34;&gt;宣言のみで使用しない変数の名前として&lt;code&gt;_&lt;/code&gt;をサポート&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;変数名&lt;code&gt;_&lt;/code&gt;は暗黙で&lt;code&gt;[[maybe_unused]]&lt;/code&gt;が指定される&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/deleting_a_pointer_to_an_incomplete_type_should_be_ill-formed.html&#34;&gt;不完全型へのポインタに対する&lt;code&gt;delete&lt;/code&gt;を不適格とする&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;未定義動作を引き起こす操作をコンパイルエラーとする&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/disallow_binding_a_returned_glvalue_to_a_temporary.html&#34;&gt;返却された左辺値から暗黙変換された一時オブジェクトが参照に束縛されることを禁止する&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;寿命切れの変数によって引き起こされるバグを防止する&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/clarifying_rules_for_brace_elision_in_aggregate_initialization.html&#34;&gt;要素数不明の配列を集成体初期化する規則を明確化&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;配列要素の集成体初期化で&lt;code&gt;{}&lt;/code&gt;が省略された場合の矛盾していた規定を修正&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/erroneous_behavior_for_uninitialized_reads.html&#34;&gt;未初期化変数の読み取りをエラー性動作とする&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;初期化されていない自動変数の読み取りの安全性を規定する&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/structured_bindings_can_introduce_a_pack.html&#34;&gt;構造化束縛でパックを導入できるようにする&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;タプルを分解する際に複数の変数をパックとして宣言できるようにする。&lt;code&gt;auto [a, ...xs] = f();&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3&gt;文字列&lt;/h3&gt;
&lt;table border=&#34;1&#34; bordercolor=&#34;#888&#34; style=&#34;border-collapse:collapse&#34;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;言語機能&lt;/th&gt;
&lt;th&gt;説明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/making_non-encodable_string_literals_ill-formed.html&#34;&gt;文字列リテラルの文字エンコーディング失敗を不適格とする&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;文字列リテラルのエンコーディング時に文字表現が失われる場合にコンパイルエラーにする&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/unevaluated_strings.html&#34;&gt;コンパイル時にのみ使用される文字列の扱いを明確化&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;static_assert&lt;/code&gt;や&lt;code&gt;[[deprecated]]&lt;/code&gt;などで使用されるコンパイル時の文字列について、文字コードの指定を禁止し、実行時エンコーディングが行われないことを規定&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3&gt;分岐・ループ&lt;/h3&gt;
&lt;table border=&#34;1&#34; bordercolor=&#34;#888&#34; style=&#34;border-collapse:collapse&#34;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;言語機能&lt;/th&gt;
&lt;th&gt;説明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/structured_binding_declaration_as_a_condition.html&#34;&gt;条件式での構造化束縛の使用を許可&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;式全体を&lt;code&gt;bool&lt;/code&gt;値に変換できる場合に条件式で構造化束縛を使用できることとする&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/trivial_infinite_loops_are_not_undefined_behavior.html&#34;&gt;空の無限ループは未定義動作ではないと規定&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;並行プログラムの進行保証などを考慮して空の無限ループを未定義動作ではないものとする&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3&gt;関数&lt;/h3&gt;
&lt;table border=&#34;1&#34; bordercolor=&#34;#888&#34; style=&#34;border-collapse:collapse&#34;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;言語機能&lt;/th&gt;
&lt;th&gt;説明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/delete_reason.html&#34;&gt;関数宣言を削除する理由を指定できるようにする&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;f() = delete(&#34;reason&#34;);&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/contracts.html&#34;&gt;契約プログラミングをサポートする&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;関数の事前条件、事後条件、不変条件を記述できるようにする&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3&gt;クラス&lt;/h3&gt;
&lt;table border=&#34;1&#34; bordercolor=&#34;#888&#34; style=&#34;border-collapse:collapse&#34;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;言語機能&lt;/th&gt;
&lt;th&gt;説明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/trivial_unions.html&#34;&gt;共用体の特殊メンバ関数のトリビアル化&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;非トリビアルな型をメンバにもつ共用体のデフォルトコンストラクタとデストラクタをトリビアルにし、未初期化ストレージとして使用可能にする&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/adjustments_to_union_lifetime_rules.md.nolink&#34;&gt;共用体の寿命ルールの調整&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;union&lt;/code&gt;メンバの活性化や寿命に関する規則を整理して&lt;code&gt;constexpr&lt;/code&gt;評価などの一貫性を改善する&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/clarifying_placement_new_deallocation.md.nolink&#34;&gt;配置newの解放処理を明確化&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;配置&lt;code&gt;new&lt;/code&gt;で確保したメモリの解放処理の取り扱いに関するルールを明確化する&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3&gt;属性&lt;/h3&gt;
&lt;table border=&#34;1&#34; bordercolor=&#34;#888&#34; style=&#34;border-collapse:collapse&#34;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;言語機能&lt;/th&gt;
&lt;th&gt;説明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/on_the_ignorability_of_standard_attributes.html&#34;&gt;属性の無視性を見直し&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;構文として適格な属性のみを無視できるようにし、そうでない属性の使用を&lt;a class=&#34;cpprefjp-defined-word&#34;&gt;不適格&lt;/a&gt;とする&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/attributes_for_structured_bindings.html&#34;&gt;構造化束縛への属性を許可&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;auto [a, b [[maybe_unused]], c] = f();&lt;/code&gt;のように構造化束縛の要素に対して属性を付加できるようにする&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3&gt;テンプレート&lt;/h3&gt;
&lt;table border=&#34;1&#34; bordercolor=&#34;#888&#34; style=&#34;border-collapse:collapse&#34;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;言語機能&lt;/th&gt;
&lt;th&gt;説明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/pack_indexing.html&#34;&gt;パラメータパックへのインデックスアクセスを許可&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;可変引数テンプレートのパラメータパックに添字アクセスできるようにする&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/ordering_of_constraints_involving_fold_expressions.html&#34;&gt;制約式内での畳み込み式の順序付け&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;畳み込み式を含む制約の包摂関係を認識できるようにし、オーバーロード解決の曖昧さを解消する&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/variadic_friends.html&#34;&gt;可変引数テンプレートで&lt;code&gt;friend&lt;/code&gt;宣言をできるようにする&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;クラステンプレートの可変引数テンプレートでまとめて&lt;code&gt;friend&lt;/code&gt;宣言できるようにする&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/concept_and_variable-template_template-parameters.html&#34;&gt;コンセプトと変数テンプレートをテンプレート引数として渡せるようにする&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;テンプレートテンプレートパラメータとして、クラステンプレートやエイリアステンプレートに加え、コンセプトと変数テンプレートも渡せるようにする&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/reconsider_partial_ordering_of_variadic_templates.md.nolink&#34;&gt;可変引数テンプレートの半順序を再検討する&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;可変引数テンプレートの部分特殊化の半順序ルールを再検討して、より一貫したルールにする&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/class_template_argument_deduction_for_type_template_template_parameters.md.nolink&#34;&gt;テンプレートテンプレートパラメータに対するクラステンプレートパラメータ引数推論&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;テンプレートテンプレートパラメータからクラステンプレート引数を推論できるようにクラステンプレートのテンプレート引数推論を拡張する&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/define_immediate_context.md.nolink&#34;&gt;「immediate context」の定義を明確化&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;SFINAEにおける「immediate context」の用語を厳密に定義し、置換失敗の範囲を明確にする&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3&gt;定数式&lt;/h3&gt;
&lt;table border=&#34;1&#34; bordercolor=&#34;#888&#34; style=&#34;border-collapse:collapse&#34;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;言語機能&lt;/th&gt;
&lt;th&gt;説明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/reflection.html&#34;&gt;静的リフレクション&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;リフレクション演算子&lt;code&gt;^^&lt;/code&gt;と&lt;code&gt;std::meta::info&lt;/code&gt;型によりコンパイル時にさまざまな情報を取得できる&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/expansion_statements.html&#34;&gt;コンパイル時のタプルやリストを展開処理する&lt;code&gt;template for&lt;/code&gt;文&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;タプル・構造体・Range・パラメータパックなどの各要素に対してコンパイル時に文を展開する&lt;code&gt;template for&lt;/code&gt;文を追加&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/constexpr_cast_from_voidptr.html&#34;&gt;定数式での&lt;code&gt;void*&lt;/code&gt;からポインタ型へのキャストを許可&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;型消去のために&lt;code&gt;void*&lt;/code&gt;からポインタ型へのキャストを許可する&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/user-generated_static_assert_messages.html&#34;&gt;&lt;code&gt;static_assert&lt;/code&gt;の診断メッセージにユーザーが生成した文字列の指定を許可&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;constexpr&lt;/code&gt;な&lt;code&gt;S.size()&lt;/code&gt;と&lt;code&gt;S.data()&lt;/code&gt;メンバ関数をもつオブジェクトをコンパイル時文字列として指定できるようにする&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/constexpr_placement_new.html&#34;&gt;&lt;code&gt;constexpr&lt;/code&gt;配置&lt;code&gt;new&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;定数式の文脈での配置&lt;code&gt;new&lt;/code&gt;を許可&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/constexpr_structured_bindings_and_references_to_constexpr_variables.html&#34;&gt;&lt;code&gt;constexpr&lt;/code&gt;構造化束縛の許可と、&lt;code&gt;constexpr&lt;/code&gt;参照の制限緩和&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;定数式に対する構造化束縛を許可し、関連して&lt;code&gt;constexpr&lt;/code&gt;参照の制限を緩和して自動変数も参照できるようにする&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/allowing_exception_throwing_in_constant-evaluation.html&#34;&gt;定数評価での例外送出を許可&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;定数式の文脈での例外の送出と捕捉を許可&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/constexpr_virtual_inheritance.html&#34;&gt;&lt;code&gt;constexpr&lt;/code&gt;仮想継承を許可&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;定数式の文脈での仮想継承を許可&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/constant_evaluation_when.md.nolink&#34;&gt;定数評価の開始・終了タイミングを明確化&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;定数評価がどのタイミングで開始・終了するかを明確化し、constexprコンテキストの規則を整える&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3&gt;プリプロセッサ&lt;/h3&gt;
&lt;table border=&#34;1&#34; bordercolor=&#34;#888&#34; style=&#34;border-collapse:collapse&#34;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;言語機能&lt;/th&gt;
&lt;th&gt;説明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/embed.html&#34;&gt;ファイルを読み込む&lt;code&gt;#embed&lt;/code&gt;命令を追加&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;バイナリファイルをインクルードするメカニズム。&lt;code&gt;#include&lt;/code&gt;とちがって読み出しサイズなどの柔軟な指定ができる&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/preprocessing_is_never_undefined.html&#34;&gt;プリプロセッサ仕様での「未定義動作」を不適格 (診断不要) に変更&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;プリプロセッサとレキサーの文脈での「未定義動作」用語を&lt;a class=&#34;cpprefjp-defined-word&#34;&gt;不適格&lt;/a&gt; (診断不要) に変更&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/line_is_not_in_line_with_existing_implementation.md.nolink&#34;&gt;&lt;code&gt;#line&lt;/code&gt;ディレクティブの制約を現実の実装に合わせて緩和する&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;#line 0&lt;/code&gt;や&lt;code&gt;#line 2147483648&lt;/code&gt;のような行番号指定を&lt;a class=&#34;cpprefjp-defined-word&#34;&gt;不適格&lt;/a&gt;としていたが、条件付きサポートとして許可する&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3&gt;ソースコード&lt;/h3&gt;
&lt;table border=&#34;1&#34; bordercolor=&#34;#888&#34; style=&#34;border-collapse:collapse&#34;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;言語機能&lt;/th&gt;
&lt;th&gt;説明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/add_atsign_dollar_graveaccent_to_the_basic_character_set.html&#34;&gt;基本文字集合に@、$、`を追加&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;C言語との互換性のためにこれらの文字を基本文字集合に追加&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3&gt;モジュール&lt;/h3&gt;
&lt;table border=&#34;1&#34; bordercolor=&#34;#888&#34; style=&#34;border-collapse:collapse&#34;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;言語機能&lt;/th&gt;
&lt;th&gt;説明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/module_declarations_shouldnt_be_macros.html&#34;&gt;モジュール宣言でのモジュール名のマクロ展開を禁止する&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;export module MACRO_NAME;&lt;/code&gt;を禁止&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/allow_attaching_main_to_the_global_module.html&#34;&gt;&lt;code&gt;main&lt;/code&gt;関数をグローバルモジュールに含められるようにする&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;main&lt;/code&gt;関数に&lt;code&gt;extern &#34;C++&#34;&lt;/code&gt;を指定できるようにすることで名前付きモジュールに含められるようにする&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/allow_line_before_module_declarations.html&#34;&gt;モジュール宣言より前での&lt;code&gt;#line&lt;/code&gt;ディレクティブの使用を許可する&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;モジュール宣言より前での&lt;code&gt;#line&lt;/code&gt;ディレクティブの使用を禁止していたのは過度な制限だった&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3&gt;機能の非推奨化&lt;/h3&gt;
&lt;table border=&#34;1&#34; bordercolor=&#34;#888&#34; style=&#34;border-collapse:collapse&#34;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;言語機能&lt;/th&gt;
&lt;th&gt;説明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/the_oxford_variadic_comma.html&#34;&gt;先行するカンマのない省略記号を非推奨化&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;void f(int, ...);&lt;/code&gt;はOK。&lt;code&gt;void f(int...);&lt;/code&gt;は非推奨&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3&gt;機能の削除&lt;/h3&gt;
&lt;table border=&#34;1&#34; bordercolor=&#34;#888&#34; style=&#34;border-collapse:collapse&#34;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;言語機能&lt;/th&gt;
&lt;th&gt;説明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/remove_deprecated_array_comparisons.html&#34;&gt;非推奨だった組み込み配列の比較を削除&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;C++20で非推奨となっていた配列比較を削除&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/remove_deprecated_arithmetic_conversion_on_enumerations.html&#34;&gt;非推奨となっていた列挙型の算術変換を削除&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;C++20から非推奨となっていた列挙値への算術演算で算術型に暗黙変換される仕様を削除&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;ライブラリ更新の概要&lt;/h2&gt;
&lt;h3&gt;新ライブラリ&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;文字列エンコーディングを識別するライブラリとして、&lt;code&gt;&lt;a href=&#34;../reference/text_encoding.html&#34;&gt;&amp;lt;text_encoding&amp;gt;&lt;/a&gt;&lt;/code&gt;を追加&lt;/li&gt;
&lt;li&gt;要素のメモリ位置が安定するシーケンスコンテナのライブラリとして&lt;code&gt;&lt;a href=&#34;../reference/hive.md.nolink&#34;&gt;&amp;lt;hive&amp;gt;&lt;/a&gt;&lt;/code&gt;を追加&lt;/li&gt;
&lt;li&gt;並行処理におけるデータの参照・更新を行うRCU (Read Copy Update) のライブラリとして、&lt;code&gt;&lt;a href=&#34;../reference/rcu.html&#34;&gt;&amp;lt;rcu&amp;gt;&lt;/a&gt;&lt;/code&gt;を追加&lt;/li&gt;
&lt;li&gt;並行処理において参照中のデータが更新されないよう保護するハザードポインタのライブラリとして、&lt;code&gt;&lt;a href=&#34;../reference/hazard_pointer.md.nolink&#34;&gt;&amp;lt;hazard_pointer&amp;gt;&lt;/a&gt;&lt;/code&gt;を追加&lt;/li&gt;
&lt;li&gt;データ並列ライブラリとして、&lt;code&gt;&lt;a href=&#34;../reference/simd.md.nolink&#34;&gt;&amp;lt;simd&amp;gt;&lt;/a&gt;&lt;/code&gt;を追加&lt;/li&gt;
&lt;li&gt;デバッグサポートのライブラリとして&lt;code&gt;&lt;a href=&#34;../reference/debugging.html&#34;&gt;&amp;lt;debugging&amp;gt;&lt;/a&gt;&lt;/code&gt;を追加&lt;/li&gt;
&lt;li&gt;線形代数ライブラリとして&lt;code&gt;&lt;a href=&#34;../reference/linalg.html&#34;&gt;&amp;lt;linalg&amp;gt;&lt;/a&gt;&lt;/code&gt;を追加&lt;/li&gt;
&lt;li&gt;コンパイル時に容量を固定する可変長配列クラスのライブラリとして&lt;code&gt;&lt;a href=&#34;../reference/inplace_vector.html&#34;&gt;&amp;lt;inplace_vector&amp;gt;&lt;/a&gt;&lt;/code&gt;を追加&lt;/li&gt;
&lt;li&gt;C23の互換ライブラリとして、ビット操作ライブラリ&lt;code&gt;&lt;a href=&#34;../reference/stdbit.h.html&#34;&gt;&amp;lt;stdbit.h&amp;gt;&lt;/a&gt;&lt;/code&gt;と、検査付き整数演算ライブラリ&lt;code&gt;&lt;a href=&#34;../reference/stdckdint.h.html&#34;&gt;&amp;lt;stdckdint.h&amp;gt;&lt;/a&gt;&lt;/code&gt;を追加。&lt;code&gt;&amp;lt;cstd…&amp;gt;&lt;/code&gt;形式のライブラリは追加されない&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;全体&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;標準ライブラリに付加された、戻り値を無視した際に警告を出力する&lt;a href=&#34;cpp17/nodiscard.html&#34;&gt;&lt;code&gt;[[nodiscard]]&lt;/code&gt;属性&lt;/a&gt;を削除&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;コンテナ&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/vector/vector.html&#34;&gt;std::vector&amp;lt;bool&amp;gt;::reference&lt;/a&gt;&lt;/code&gt;のプロキシ操作として、&lt;code&gt;const&lt;/code&gt;修飾付きの代入と&lt;code&gt;swap()&lt;/code&gt;メンバ関数を追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/mdspan/mdspan.html&#34;&gt;std::mdspan&lt;/a&gt;&lt;/code&gt;から部分ビューを取り出す&lt;code&gt;&lt;a href=&#34;../reference/mdspan/submdspan.html&#34;&gt;std::submdspan()&lt;/a&gt;&lt;/code&gt;を追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/mdspan/mdspan.html&#34;&gt;std::mdspan&lt;/a&gt;&lt;/code&gt;に、インデックスを指定して要素を取り出す&lt;code&gt;&lt;a href=&#34;../reference/mdspan/mdspan/at.html&#34;&gt;at()&lt;/a&gt;&lt;/code&gt;メンバ関数を追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/mdspan/mdspan.html&#34;&gt;std::mdspan&lt;/a&gt;&lt;/code&gt;に対する&lt;code&gt;&lt;a href=&#34;../reference/mdspan/extents.html&#34;&gt;std::dextents&lt;/a&gt;&lt;/code&gt;指定の冗長さを解決する&lt;code&gt;&lt;a href=&#34;../reference/mdspan/extents.html&#34;&gt;std::dims&lt;/a&gt;&lt;/code&gt;を追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/mdspan/mdspan.html&#34;&gt;std::mdspan&lt;/a&gt;&lt;/code&gt;のレイアウトとして、&lt;code&gt;&lt;a href=&#34;../reference/mdspan/layout_left_padded.html&#34;&gt;std::layout_left_padded&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../reference/mdspan/layout_right_padded.html&#34;&gt;std::layout_right_padded&lt;/a&gt;&lt;/code&gt;を追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/mdspan.html&#34;&gt;&amp;lt;mdspan&amp;gt;&lt;/a&gt;&lt;/code&gt;に、要素アクセスにアライメント保証を与える&lt;code&gt;&lt;a href=&#34;../reference/mdspan/aligned_accessor.html&#34;&gt;std::aligned_accessor&lt;/a&gt;&lt;/code&gt;を追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/span/span.html&#34;&gt;std::span&lt;/a&gt;&lt;/code&gt;に、インデックスアクセスのための&lt;code&gt;&lt;a href=&#34;../reference/span/span/at.html&#34;&gt;at()&lt;/a&gt;&lt;/code&gt;メンバ関数を追加&lt;/li&gt;
&lt;li&gt;連想コンテナの以下のメンバ関数に、一時オブジェクトが生成されるコストを抑える拡張を追加&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/map/map.html&#34;&gt;std::map&lt;/a&gt;&lt;/code&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/map/map/op_at.html&#34;&gt;operator[]&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/map/map/at.html&#34;&gt;at()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/map/map/try_emplace.html&#34;&gt;try_emplace()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/map/map/insert_or_assign.html&#34;&gt;insert_or_assign()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/set/set.html&#34;&gt;std::set&lt;/a&gt;&lt;/code&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/set/set/insert.html&#34;&gt;insert()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/unordered_map/unordered_map.html&#34;&gt;std::unordered_map&lt;/a&gt;&lt;/code&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/unordered_map/unordered_map/op_at.html&#34;&gt;operator[]&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/unordered_map/unordered_map/at.html&#34;&gt;at()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/unordered_map/unordered_map/try_emplace.html&#34;&gt;try_emplace()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/unordered_map/unordered_map/insert_or_assign.html&#34;&gt;insert_or_assign()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/unordered_map/unordered_map/bucket.html&#34;&gt;bucket()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/unordered_map/unordered_multimap.html&#34;&gt;std::unordered_multimap&lt;/a&gt;&lt;/code&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/unordered_map/unordered_multimap/bucket.html&#34;&gt;bucket()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/unordered_set/unordered_set.html&#34;&gt;std::unordered_set&lt;/a&gt;&lt;/code&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/unordered_set/unordered_set/insert.html&#34;&gt;insert()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/unordered_set/unordered_set/bucket.html&#34;&gt;bucket()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/unordered_set/unordered_multiset.html&#34;&gt;std::unordered_multiset&lt;/a&gt;&lt;/code&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/unordered_set/unordered_multiset/bucket.html&#34;&gt;bucket()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/span/span.html&#34;&gt;std::span&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../reference/mdspan/mdspan.html&#34;&gt;std::mdspan&lt;/a&gt;&lt;/code&gt;の推論補助を改善&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/ranges/concat_view.html&#34;&gt;std::views::concat&lt;/a&gt;&lt;/code&gt;を追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/ranges/cache_latest_view.html&#34;&gt;std::views::cache_latest&lt;/a&gt;&lt;/code&gt;を追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/ranges/as_input_view.html&#34;&gt;std::views::as_input&lt;/a&gt;&lt;/code&gt;を追加。これはパフォーマンス向上のために、Rangeを入力Rangeかつ非&lt;code&gt;&lt;a href=&#34;../reference/ranges/common_range.html&#34;&gt;common_range&lt;/a&gt;&lt;/code&gt; (イテレータと番兵の型を別する) に変換する&lt;/li&gt;
&lt;li&gt;Range関係の、償却定数時間での要素追加を行う機能を追加&lt;ul&gt;
&lt;li&gt;各viewクラスに&lt;code&gt;reserve_hint()&lt;/code&gt;メンバ関数を追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/ranges/reserve_hint.html&#34;&gt;std::ranges::reserve_hint()&lt;/a&gt;&lt;/code&gt;関数を追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/ranges/approximately_sized_range.html&#34;&gt;std::ranges::approximately_sized_range&lt;/a&gt;&lt;/code&gt;コンセプトを追加&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;インデックス列を生成する&lt;code&gt;&lt;a href=&#34;../reference/ranges/indices.html&#34;&gt;std::views::indices&lt;/a&gt;&lt;/code&gt;を追加&lt;/li&gt;
&lt;li&gt;連続イテレータのコンセプト&lt;code&gt;&lt;a href=&#34;../reference/iterator/contiguous_iterator.html&#34;&gt;contiguous_iterator&lt;/a&gt;&lt;/code&gt;に、ポインタに変換できることを要件として追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/initializer_list/initializer_list.html&#34;&gt;std::initializer_list&lt;/a&gt;&lt;/code&gt;クラスを以下のように変更&lt;ul&gt;
&lt;li&gt;独自に定義されていた&lt;code&gt;&lt;a href=&#34;../reference/initializer_list/initializer_list/begin_free.html&#34;&gt;std::begin()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/initializer_list/initializer_list/end_free.html&#34;&gt;std::end()&lt;/a&gt;&lt;/code&gt;のオーバーロードを削除 (&lt;code&gt;std::cbegin()&lt;/code&gt;や&lt;code&gt;std::rend()&lt;/code&gt;のようなオーバーロードがなかったため、ほかとの不整合があった)&lt;/li&gt;
&lt;li&gt;メンバ関数&lt;code&gt;&lt;a href=&#34;../reference/initializer_list/initializer_list/data.html&#34;&gt;data()&lt;/a&gt;&lt;/code&gt;を追加&lt;/li&gt;
&lt;li&gt;メンバ関数&lt;code&gt;&lt;a href=&#34;../reference/initializer_list/initializer_list/empty.html&#34;&gt;empty()&lt;/a&gt;&lt;/code&gt;を追加&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/valarray/valarray.html&#34;&gt;std::valarray&lt;/a&gt;&lt;/code&gt;クラスを以下のように変更&lt;ul&gt;
&lt;li&gt;独自に定義されていた&lt;code&gt;&lt;a href=&#34;../reference/valarray/valarray/begin_free.html&#34;&gt;std::begin()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/valarray/valarray/end_free.html&#34;&gt;std::end()&lt;/a&gt;&lt;/code&gt;のオーバーロードを削除 (&lt;code&gt;std::cbegin()&lt;/code&gt;や&lt;code&gt;std::rend()&lt;/code&gt;のようなオーバーロードがなかったため、ほかとの不整合があった)&lt;/li&gt;
&lt;li&gt;メンバ型&lt;code&gt;iterator&lt;/code&gt; / &lt;code&gt;const_iterator&lt;/code&gt;を追加&lt;/li&gt;
&lt;li&gt;メンバ関数&lt;code&gt;&lt;a href=&#34;../reference/valarray/valarray/begin.html&#34;&gt;begin()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/valarray/valarray/end.html&#34;&gt;end()&lt;/a&gt;&lt;/code&gt;を追加&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;イテレータインタフェースの非メンバ関数&lt;code&gt;&lt;a href=&#34;../reference/iterator/begin.html&#34;&gt;std::begin()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/iterator/end.html&#34;&gt;std::end()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/iterator/cbegin.html&#34;&gt;std::cbegin()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/iterator/cend.html&#34;&gt;std::cend()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/iterator/rbegin.html&#34;&gt;std::rbegin()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/iterator/rend.html&#34;&gt;std::rend()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/iterator/crbegin.html&#34;&gt;std::crbegin()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/iterator/crend.html&#34;&gt;std::crend()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/iterator/size.html&#34;&gt;std::size()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/iterator/ssize.html&#34;&gt;std::ssize()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/iterator/empty.html&#34;&gt;std::empty()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/iterator/data.html&#34;&gt;std::data()&lt;/a&gt;&lt;/code&gt;を以下のように変更&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/initializer_list/initializer_list.html&#34;&gt;std::initializer_list&lt;/a&gt;&lt;/code&gt;型に対するオーバーロードを削除 (専用のオーバーロードを用意しなくても汎用オーバーロードが使用できるようになった)&lt;/li&gt;
&lt;li&gt;条件付き&lt;code&gt;noexcept&lt;/code&gt;指定を追加&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Rangeインタフェースの非メンバ関数&lt;code&gt;&lt;a href=&#34;../reference/ranges/begin.html&#34;&gt;std::ranges::begin()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/ranges/end.html&#34;&gt;std::ranges::end()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/ranges/cbegin.html&#34;&gt;std::ranges::cbegin()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/ranges/cend.html&#34;&gt;std::ranges::cend()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/ranges/rbegin.html&#34;&gt;std::ranges::rbegin()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/ranges/rend.html&#34;&gt;std::ranges::rend()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/ranges/crbegin.html&#34;&gt;std::ranges::crbegin()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/ranges/crend.html&#34;&gt;std::ranges::crend()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/ranges/size.html&#34;&gt;std::ranges::size()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/ranges/ssize.html&#34;&gt;std::ranges::ssize()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/ranges/empty.html&#34;&gt;std::ranges::empty()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/ranges/data.html&#34;&gt;std::ranges::data()&lt;/a&gt;&lt;/code&gt;を以下のように変更&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/initializer_list/initializer_list.html&#34;&gt;std::initializer_list&lt;/a&gt;&lt;/code&gt;型に対するオーバーロードを削除 (専用のオーバーロードを用意しなくても汎用オーバーロードが使用できるようになった)&lt;/li&gt;
&lt;li&gt;条件付き&lt;code&gt;noexcept&lt;/code&gt;指定を追加&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;以下のコンテナを&lt;code&gt;constexpr&lt;/code&gt;に対応&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/deque/deque.html&#34;&gt;std::deque&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/forward_list/forward_list.html&#34;&gt;std::forward_list&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/list/list.html&#34;&gt;std::list&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/map/map.html&#34;&gt;std::map&lt;/a&gt;&lt;/code&gt; (ただし&lt;code&gt;&lt;a href=&#34;../reference/node_handle/node_handle.html&#34;&gt;node_handle&lt;/a&gt;::&lt;a href=&#34;../reference/node_handle/node_handle/key.html&#34;&gt;key()&lt;/a&gt;&lt;/code&gt;を使用すると未定義動作)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/map/multimap.html&#34;&gt;std::multimap&lt;/a&gt;&lt;/code&gt; (ただし&lt;code&gt;&lt;a href=&#34;../reference/node_handle/node_handle.html&#34;&gt;node_handle&lt;/a&gt;::&lt;a href=&#34;../reference/node_handle/node_handle/key.html&#34;&gt;key()&lt;/a&gt;&lt;/code&gt;を使用すると未定義動作)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/set/set.html&#34;&gt;std::set&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/set/multiset.html&#34;&gt;std::multiset&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/unordered_map/unordered_map.html&#34;&gt;std::unordered_map&lt;/a&gt;&lt;/code&gt; (ハッシュ関数のカスタム化が必要) (ただし&lt;code&gt;&lt;a href=&#34;../reference/node_handle/node_handle.html&#34;&gt;node_handle&lt;/a&gt;::&lt;a href=&#34;../reference/node_handle/node_handle/key.html&#34;&gt;key()&lt;/a&gt;&lt;/code&gt;を使用すると未定義動作)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/unordered_map/unordered_multimap.html&#34;&gt;std::unordered_multimap&lt;/a&gt;&lt;/code&gt; (ハッシュ関数のカスタム化が必要) (ただし&lt;code&gt;&lt;a href=&#34;../reference/node_handle/node_handle.html&#34;&gt;node_handle&lt;/a&gt;::&lt;a href=&#34;../reference/node_handle/node_handle/key.html&#34;&gt;key()&lt;/a&gt;&lt;/code&gt;を使用すると未定義動作)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/unordered_set/unordered_set.html&#34;&gt;std::unordered_set&lt;/a&gt;&lt;/code&gt; (ハッシュ関数のカスタム化が必要)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/unordered_set/unordered_multiset.html&#34;&gt;std::unordered_multiset&lt;/a&gt;&lt;/code&gt; (ハッシュ関数のカスタム化が必要)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/flat_map/flat_map.html&#34;&gt;std::flat_map&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/flat_map/flat_multimap.html&#34;&gt;std::flat_multimap&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/flat_set/flat_set.html&#34;&gt;std::flat_set&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/flat_set/flat_multiset.html&#34;&gt;std::flat_multiset&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/queue/queue.html&#34;&gt;std::queue&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/queue/priority_queue.html&#34;&gt;std::priority_queue&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/stack/stack.html&#34;&gt;std::stack&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;アルゴリズム&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/algorithm.html&#34;&gt;&amp;lt;algorithm&amp;gt;&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../reference/memory.html&#34;&gt;&amp;lt;memory&amp;gt;&lt;/a&gt;&lt;/code&gt;のアルゴリズムを並列実行に対応&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/algorithm.html&#34;&gt;&amp;lt;algorithm&amp;gt;&lt;/a&gt;&lt;/code&gt;の以下のアルゴリズムを&lt;code&gt;constexpr&lt;/code&gt;に対応&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/algorithm/stable_sort.html&#34;&gt;std::stable_sort()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/algorithm/ranges_stable_sort.html&#34;&gt;std::ranges::stable_sort()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/algorithm/stable_partition.html&#34;&gt;std::stable_partition()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/algorithm/ranges_stable_partition.html&#34;&gt;std::ranges::stable_partition()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/algorithm/inplace_merge.html&#34;&gt;std::inplace_merge()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/algorithm/ranges_inplace_merge.html&#34;&gt;std::ranges::inplace_merge()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/memory.html&#34;&gt;&amp;lt;memory&amp;gt;&lt;/a&gt;&lt;/code&gt;の以下のアルゴリズムを&lt;code&gt;constexpr&lt;/code&gt;に対応&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/memory/uninitialized_default_construct.html&#34;&gt;std::uninitialized_default_construct()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/memory/ranges_uninitialized_default_construct.html&#34;&gt;std::ranges::uninitialized_default_construct()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/memory/uninitialized_default_construct_n.html&#34;&gt;std::uninitialized_default_construct_n()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/memory/ranges_uninitialized_default_construct_n.html&#34;&gt;std::ranges::uninitialized_default_construct_n()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/memory/uninitialized_value_construct.html&#34;&gt;std::uninitialized_value_construct()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/memory/ranges_uninitialized_value_construct.html&#34;&gt;std::ranges::uninitialized_value_construct()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/memory/uninitialized_value_construct_n.html&#34;&gt;std::uninitialized_value_construct_n()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/memory/ranges_uninitialized_value_construct_n.html&#34;&gt;std::ranges::uninitialized_value_construct_n()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/memory/uninitialized_copy.html&#34;&gt;std::uninitialized_copy()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/memory/ranges_uninitialized_copy.html&#34;&gt;std::ranges::uninitialized_copy()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/memory/uninitialized_copy_n.html&#34;&gt;std::uninitialized_copy_n()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/memory/ranges_uninitialized_copy_n.html&#34;&gt;std::ranges::uninitialized_copy_n()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/memory/uninitialized_move.html&#34;&gt;std::uninitialized_move()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/memory/ranges_uninitialized_move.html&#34;&gt;std::ranges::uninitialized_move()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/memory/uninitialized_move_n.html&#34;&gt;std::uninitialized_move_n()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/memory/ranges_uninitialized_move_n.html&#34;&gt;std::ranges::uninitialized_move_n()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/memory/uninitialized_fill.html&#34;&gt;std::uninitialized_fill()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/memory/ranges_uninitialized_fill.html&#34;&gt;std::ranges::uninitialized_fill()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/memory/uninitialized_fill_n.html&#34;&gt;std::uninitialized_fill_n()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/memory/ranges_uninitialized_fill_n.html&#34;&gt;std::ranges::uninitialized_fill_n()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Rangeアルゴリズムが完全型を要求しないようにするため、&lt;code&gt;&lt;a href=&#34;../reference/iterator/projected.html&#34;&gt;std::projected&lt;/a&gt;&lt;/code&gt;の制約を緩和&lt;/li&gt;
&lt;li&gt;以下のアルゴリズムに、値を波カッコ初期化で渡せるよう制約を追加&lt;ul&gt;
&lt;li&gt;&lt;code&gt;std::erase()&lt;/code&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/string/basic_string.html&#34;&gt;std::basic_string&lt;/a&gt;&lt;/code&gt;版&lt;code&gt;&lt;a href=&#34;../reference/string/basic_string/erase_free.html&#34;&gt;std::erase()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/deque/deque.html&#34;&gt;std::deque&lt;/a&gt;&lt;/code&gt;版&lt;code&gt;&lt;a href=&#34;../reference/deque/deque/erase_free.html&#34;&gt;std::erase()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/forward_list/forward_list.html&#34;&gt;std::forward_list&lt;/a&gt;&lt;/code&gt;版&lt;code&gt;&lt;a href=&#34;../reference/forward_list/forward_list/erase_free.html&#34;&gt;std::erase()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/list/list.html&#34;&gt;std::list&lt;/a&gt;&lt;/code&gt;版&lt;code&gt;&lt;a href=&#34;../reference/list/list/erase_free.html&#34;&gt;std::erase()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/vector/vector.html&#34;&gt;std::vector&lt;/a&gt;&lt;/code&gt;版&lt;code&gt;&lt;a href=&#34;../reference/vector/vector/erase_free.html&#34;&gt;std::erase()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/algorithm/find.html&#34;&gt;std::find()&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../reference/algorithm/ranges_find.html&#34;&gt;std::ranges::find()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/algorithm/ranges_find_last.html&#34;&gt;std::ranges::find_last()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/algorithm/count.html&#34;&gt;std::count()&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../reference/algorithm/ranges_count.html&#34;&gt;std::ranges::count()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/algorithm/search_n.html&#34;&gt;std::search_n()&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../reference/algorithm/ranges_search_n.html&#34;&gt;std::ranges::search_n()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/algorithm/replace.html&#34;&gt;std::replace()&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../reference/algorithm/replace.html&#34;&gt;std::ranges::replace()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/algorithm/replace_if.html&#34;&gt;std::replace_if()&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../reference/algorithm/replace_if.html&#34;&gt;std::ranges::replace_if()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/algorithm/replace_copy.html&#34;&gt;std::ranges::replace_copy()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/algorithm/replace_copy_if.html&#34;&gt;std::replace_copy_if()&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../reference/algorithm/replace_copy_if.html&#34;&gt;std::ranges::replace_copy_if()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/algorithm/fill.html&#34;&gt;std::fill()&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../reference/algorithm/ranges_fill.html&#34;&gt;std::ranges::fill()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/algorithm/fill_n.html&#34;&gt;std::fill_n()&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../reference/algorithm/ranges_fill_n.html&#34;&gt;std::ranges::fill_n()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/algorithm/remove.html&#34;&gt;std::remove()&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../reference/algorithm/ranges_remove.html&#34;&gt;std::ranges::remove()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/algorithm/remove_copy.html&#34;&gt;std::remove_copy()&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../reference/algorithm/ranges_remove_copy.html&#34;&gt;std::ranges::remove_copy()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/algorithm/lower_bound.html&#34;&gt;std::lower_bound()&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../reference/algorithm/ranges_lower_bound.html&#34;&gt;std::ranges::lower_bound()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/algorithm/upper_bound.html&#34;&gt;std::upper_bound()&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../reference/algorithm/ranges_upper_bound.html&#34;&gt;std::ranges::upper_bound()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/algorithm/equal_range.html&#34;&gt;std::equal_range()&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../reference/algorithm/ranges_equal_range.html&#34;&gt;std::ranges::equal_range()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/algorithm/binary_search.html&#34;&gt;std::binary_search()&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../reference/algorithm/ranges_binary_search.html&#34;&gt;std::ranges::binary_search()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/algorithm/ranges_fold_left.html&#34;&gt;std::ranges::fold_left()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/algorithm/ranges_fold_right.html&#34;&gt;std::ranges::fold_right()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/algorithm/ranges_contains.html&#34;&gt;std::ranges::contains()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/memory/uninitialized_fill.html&#34;&gt;std::uninitialized_fill()&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../reference/memory/ranges_uninitialized_fill.html&#34;&gt;std::ranges::uninitialized_fill()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/memory/uninitialized_fill_n.html&#34;&gt;std::uninitialized_fill_n()&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../reference/memory/ranges_uninitialized_fill_n.html&#34;&gt;std::ranges::uninitialized_fill_n()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;関数オブジェクト&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;所有権を保持しない&lt;code&gt;&lt;a href=&#34;../reference/functional/function.html&#34;&gt;std::function&lt;/a&gt;&lt;/code&gt;として、&lt;code&gt;&lt;a href=&#34;../reference/functional.html&#34;&gt;&amp;lt;functional&amp;gt;&lt;/a&gt;&lt;/code&gt;に&lt;code&gt;&lt;a href=&#34;../reference/functional/function_ref.html&#34;&gt;std::function_ref&lt;/a&gt;&lt;/code&gt;クラスを追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/functional/move_only_function.html&#34;&gt;std::move_only_function&lt;/a&gt;&lt;/code&gt;のコピー可能版として、&lt;code&gt;&lt;a href=&#34;../reference/functional.html&#34;&gt;&amp;lt;functional&amp;gt;&lt;/a&gt;&lt;/code&gt;に&lt;code&gt;&lt;a href=&#34;../reference/functional/copyable_function.html&#34;&gt;std::copyable_function&lt;/a&gt;&lt;/code&gt;クラスを追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/functional/bind_front.html&#34;&gt;std::bind_front()&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../reference/functional/bind_back.html&#34;&gt;std::bind_back()&lt;/a&gt;&lt;/code&gt;に、非型テンプレート引数として関数を指定するオーバーロードを追加&lt;ul&gt;
&lt;li&gt;関連して、非型テンプレート引数の関数オブジェクトを反転させられるよう、&lt;code&gt;&lt;a href=&#34;../reference/functional/not_fn.html&#34;&gt;not_fn()&lt;/a&gt;&lt;/code&gt;に非型テンプレート引数版のオーバーロードを追加&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/functional/reference_wrapper.html&#34;&gt;std::reference_wrapper&lt;/a&gt;&lt;/code&gt;に、比較演算子&lt;code&gt;&lt;a href=&#34;../reference/functional/reference_wrapper/op_equal.html&#34;&gt;==&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../reference/functional/reference_wrapper/op_compare_3way.html&#34;&gt;&amp;lt;=&amp;gt;&lt;/a&gt;&lt;/code&gt;を追加&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;文字列&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/charconv.html&#34;&gt;&amp;lt;charconv&amp;gt;&lt;/a&gt;&lt;/code&gt;の変換結果&lt;code&gt;&lt;a href=&#34;../reference/charconv/to_chars_result.html&#34;&gt;std::to_chars_result&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../reference/charconv/from_chars_result.html&#34;&gt;std::from_chars_result&lt;/a&gt;&lt;/code&gt;に、変換が正しく完了したかを判定する&lt;code&gt;operator bool&lt;/code&gt;を追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/string/to_string.html&#34;&gt;std::to_string()&lt;/a&gt;&lt;/code&gt;の仕様が&lt;code&gt;std::sprintf()&lt;/code&gt;で説明されていたが、&lt;code&gt;&lt;a href=&#34;../reference/format/format.html&#34;&gt;std::format()&lt;/a&gt;&lt;/code&gt;で定義するよう仕様を変更&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/sstream/basic_istringstream.html&#34;&gt;std::basic_istringstream&lt;/a&gt;&lt;/code&gt;および&lt;code&gt;&lt;a href=&#34;../reference/sstream/basic_ostringstream.html&#34;&gt;std::basic_ostringstream&lt;/a&gt;&lt;/code&gt;のコンストラクタおよび&lt;code&gt;str()&lt;/code&gt;メンバ関数に、&lt;code&gt;&lt;a href=&#34;../reference/string_view/basic_string_view.html&#34;&gt;std::basic_string_view&lt;/a&gt;&lt;/code&gt;を受け取るオーバーロードを追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/format/format.html&#34;&gt;std::format()&lt;/a&gt;&lt;/code&gt;に、以下の改善を導入&lt;ul&gt;
&lt;li&gt;ポインタ出力のサポートを追加&lt;/li&gt;
&lt;li&gt;幅と精度を動的に指定した場合でも型の検証がコンパイル時に行われるよう仕様を見直し&lt;/li&gt;
&lt;li&gt;コンパイル時の書式文字列だけでなく、実行時の書式文字列を渡せるよう仕様修正&lt;/li&gt;
&lt;li&gt;非ロケール版を&lt;code&gt;constexpr&lt;/code&gt;に対応&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/string/to_string.html&#34;&gt;std::to_string()&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../reference/string/to_wstring.html&#34;&gt;std::to_wstring()&lt;/a&gt;&lt;/code&gt;の整数オーバーロードが&lt;code&gt;constexpr&lt;/code&gt;に対応&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/string/basic_string.html&#34;&gt;std::basic_string&lt;/a&gt;&lt;/code&gt;クラスと&lt;code&gt;&lt;a href=&#34;../reference/string_view/basic_string_view.html&#34;&gt;std::basic_string_view&lt;/a&gt;&lt;/code&gt;クラスに、部分文字列を&lt;code&gt;&lt;a href=&#34;../reference/string_view/basic_string_view.html&#34;&gt;std::basic_string_view&lt;/a&gt;&lt;/code&gt;として取得するメンバ関数&lt;code&gt;subview()&lt;/code&gt;を追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/string/basic_string.html&#34;&gt;std::basic_string&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../reference/string_view/basic_string_view.html&#34;&gt;std::basic_string_view&lt;/a&gt;&lt;/code&gt;を&lt;code&gt;&lt;a href=&#34;../reference/string/basic_string.html&#34;&gt;std::basic_string&lt;/a&gt;&lt;/code&gt;として連結させる&lt;code&gt;operator+&lt;/code&gt;を追加&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;ファイル&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;ファイルのネイティブハンドルを取得できるよう、&lt;code&gt;&lt;a href=&#34;../reference/fstream/basic_filebuf.html&#34;&gt;std::basic_filebuf&lt;/a&gt;&lt;/code&gt;、&lt;code&gt;&lt;a href=&#34;../reference/fstream/basic_ifstream.html&#34;&gt;std::basic_ifstream&lt;/a&gt;&lt;/code&gt;、&lt;code&gt;&lt;a href=&#34;../reference/fstream/basic_ofstream.html&#34;&gt;std::basic_ofstream&lt;/a&gt;&lt;/code&gt;、&lt;code&gt;&lt;a href=&#34;../reference/fstream/basic_fstream.html&#34;&gt;std::basic_fstream&lt;/a&gt;&lt;/code&gt;クラスに、以下のメンバを追加&lt;ul&gt;
&lt;li&gt;&lt;code&gt;native_handle_type&lt;/code&gt;型&lt;/li&gt;
&lt;li&gt;&lt;code&gt;native_handle()&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/filesystem/path.html&#34;&gt;std::filesystem::path&lt;/a&gt;&lt;/code&gt;クラスに、文字列フォーマットのサポートを追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/filesystem/path.html&#34;&gt;std::filesystem::path&lt;/a&gt;&lt;/code&gt;クラスに、出力用の文字列を取得するための、以下のメンバ関数を追加&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/filesystem/path/display_string.html&#34;&gt;display_string()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/filesystem/path/system_encoded_string.html&#34;&gt;system_encoded_string()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/filesystem/path/generic_display_string.html&#34;&gt;generic_display_string()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/filesystem/path/generic_system_encoded_string.html&#34;&gt;generic_system_encoded_string()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;入出力&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/print/print.html&#34;&gt;std::print()&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../reference/print/println.html&#34;&gt;std::println()&lt;/a&gt;&lt;/code&gt;に、ロックを取得せず高速に書き出す最適化を許可&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/print/println.html&#34;&gt;std::println()&lt;/a&gt;&lt;/code&gt;に、改行のみを出力するオーバーロードを追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/print/print.html&#34;&gt;std::print()&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../reference/print/println.html&#34;&gt;std::println()&lt;/a&gt;&lt;/code&gt;をより高速にできる最適化が可能か判定する&lt;code&gt;&lt;a href=&#34;../reference/format/enable_nonlocking_formatter_optimization.html&#34;&gt;std::enable_nonlocking_formatter_optimization&lt;/a&gt;&lt;/code&gt;を追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/istream/basic_istream.html&#34;&gt;std::basic_istream&lt;/a&gt;::&lt;a href=&#34;../reference/istream/basic_istream/ignore.html&#34;&gt;ignore()&lt;/a&gt;&lt;/code&gt;メンバ関数に、区切り文字として&lt;code&gt;char&lt;/code&gt;型をとるオーバーロードを追加&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;並行・並列・非同期処理&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/execution.html&#34;&gt;&amp;lt;execution&amp;gt;&lt;/a&gt;&lt;/code&gt;に汎用的な非同期実行を管理するフレームワークを追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic.html&#34;&gt;std::atomic&lt;/a&gt;&lt;/code&gt;オブジェクトに対する2つの値の最大値・最小値を取得する関数として、以下を追加&lt;ul&gt;
&lt;li&gt;メンバ関数&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic/fetch_max.html&#34;&gt;fetch_max()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic/fetch_min.html&#34;&gt;fetch_min()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic/fetch_fmaximum.html&#34;&gt;fetch_fmaximum()&lt;/a&gt;&lt;/code&gt; (浮動小数点数用)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic/fetch_fminimum.html&#34;&gt;fetch_fminimum()&lt;/a&gt;&lt;/code&gt; (浮動小数点数用)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic/fetch_fmaximum_num.html&#34;&gt;fetch_fmaximum_num()&lt;/a&gt;&lt;/code&gt; (浮動小数点数用)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic/fetch_fminimum_num.html&#34;&gt;fetch_fminimum_num()&lt;/a&gt;&lt;/code&gt; (浮動小数点数用)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;非メンバ関数として&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic_fetch_max.html&#34;&gt;std::atomic_fetch_max()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic_fetch_max_explicit.html&#34;&gt;std::atomic_fetch_max_explicit()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic_fetch_min.html&#34;&gt;std::atomic_fetch_min()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic_fetch_min_explicit.html&#34;&gt;std::atomic_fetch_min_explicit()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic.html&#34;&gt;std::atomic&lt;/a&gt;&lt;/code&gt;クラスと&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic_ref.html&#34;&gt;std::atomic_ref&lt;/a&gt;&lt;/code&gt;クラスに、現在の値を読み込まず (fetchせず) に加算などをする高速な縮約用の操作として、以下を追加&lt;ul&gt;
&lt;li&gt;メンバ関数&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic/store_add.html&#34;&gt;store_add()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic/store_sub.html&#34;&gt;store_sub()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic/store_and.html&#34;&gt;store_and()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic/store_or.html&#34;&gt;store_or()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic/store_xor.html&#34;&gt;store_xor()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic/store_max.html&#34;&gt;store_max()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic/store_min.html&#34;&gt;store_min()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic/store_fmaximum.html&#34;&gt;store_fmaximum()&lt;/a&gt;&lt;/code&gt; (浮動小数点数用)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic/store_fminimum.html&#34;&gt;store_fminimum()&lt;/a&gt;&lt;/code&gt; (浮動小数点数用)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic/store_fmaximum_num.html&#34;&gt;store_fmaximum_num()&lt;/a&gt;&lt;/code&gt; (浮動小数点数用)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic/store_fminimum_num.html&#34;&gt;store_fminimum_num()&lt;/a&gt;&lt;/code&gt; (浮動小数点数用)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;非メンバ関数&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic_store_add.html&#34;&gt;std::atomic_store_add()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic_store_add_explicit.html&#34;&gt;std::atomic_store_add_explicit()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic_store_sub.html&#34;&gt;std::atomic_store_sub()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic_store_sub_explicit.html&#34;&gt;std::atomic_store_sub_explicit()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic_store_and.html&#34;&gt;std::atomic_store_and()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic_store_and_explicit.html&#34;&gt;std::atomic_store_and_explicit()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic_store_or.html&#34;&gt;std::atomic_store_or()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic_store_or_explicit.html&#34;&gt;std::atomic_store_or_explicit()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic_store_xor.html&#34;&gt;std::atomic_store_xor()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic_store_xor_explicit.html&#34;&gt;std::atomic_store_xor_explicit()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic_store_max.html&#34;&gt;std::atomic_store_max()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic_store_max_explicit.html&#34;&gt;std::atomic_store_max_explicit()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic_store_min.html&#34;&gt;std::atomic_store_min()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic_store_min_explicit.html&#34;&gt;std::atomic_store_min_explicit()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic_ref.html&#34;&gt;std::atomic_ref&lt;/a&gt;&lt;/code&gt;クラスに、参照するオブジェクトのアドレスを取得する&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic_ref/address.html&#34;&gt;address()&lt;/a&gt;&lt;/code&gt;メンバ関数を追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic.html&#34;&gt;std::atomic&lt;/a&gt;&lt;/code&gt;クラスのテンプレートパラメータとしてCV修飾された型を禁止&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic_ref.html&#34;&gt;std::atomic_ref&lt;/a&gt;&lt;/code&gt;クラスのテンプレートパラメータとして、CV修飾された型を受け取れるようにした (内部でCV修飾が外される)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic.html&#34;&gt;&amp;lt;atomic&amp;gt;&lt;/a&gt;&lt;/code&gt;ライブラリのアトミック操作を&lt;code&gt;constexpr&lt;/code&gt;対応&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;スマートポインタ・メモリ関連&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;動的確保したオブジェクトに値の意味論をもたせてディープコピーさせるユーティリティクラスとして、&lt;code&gt;&lt;a href=&#34;../reference/memory.html&#34;&gt;&amp;lt;memory&amp;gt;&lt;/a&gt;&lt;/code&gt;に&lt;code&gt;&lt;a href=&#34;../reference/memory/indirect.html&#34;&gt;std::indirect&lt;/a&gt;&lt;/code&gt;クラスと&lt;code&gt;&lt;a href=&#34;../reference/memory/polymorphic.html&#34;&gt;std::polymorphic&lt;/a&gt;&lt;/code&gt;クラスを追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/memory/weak_ptr.html&#34;&gt;std::weak_ptr&lt;/a&gt;&lt;/code&gt;を非順序連想コンテナのキーとして使用できるよう、&lt;code&gt;&lt;a href=&#34;../reference/memory.html&#34;&gt;&amp;lt;memory&amp;gt;&lt;/a&gt;&lt;/code&gt;に所有権ベースのハッシュ値を取得する関数オブジェクト&lt;code&gt;&lt;a href=&#34;../reference/memory/owner_hash.html&#34;&gt;std::owner_hash&lt;/a&gt;&lt;/code&gt;、および所有権ベースの等値比較を行う関数オブジェクト&lt;code&gt;&lt;a href=&#34;../reference/memory/owner_equal.html&#34;&gt;std::owner_equal&lt;/a&gt;&lt;/code&gt;を追加&lt;ul&gt;
&lt;li&gt;関連して、&lt;code&gt;&lt;a href=&#34;../reference/memory/shared_ptr.html&#34;&gt;std::shared_ptr&lt;/a&gt;&lt;/code&gt;クラスと&lt;code&gt;&lt;a href=&#34;../reference/memory/weak_ptr.html&#34;&gt;std::weak_ptr&lt;/a&gt;&lt;/code&gt;クラスのメンバ関数として、&lt;code&gt;owner_hash()&lt;/code&gt;と&lt;code&gt;owner_equal()&lt;/code&gt;を追加&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/memory/shared_ptr.html&#34;&gt;std::shared_ptr&lt;/a&gt;&lt;/code&gt;クラスとその関連機能を&lt;code&gt;constexpr&lt;/code&gt;対応&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;日付・時間&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/chrono.html&#34;&gt;&amp;lt;chrono&amp;gt;&lt;/a&gt;&lt;/code&gt;の以下のクラスに、ハッシュ値サポートとして&lt;code&gt;&lt;a href=&#34;../reference/functional/hash.html&#34;&gt;std::hash&lt;/a&gt;&lt;/code&gt;の特殊化を追加&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/chrono/duration.html&#34;&gt;std::chrono::duration&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/chrono/time_point.html&#34;&gt;std::chrono::time_point&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/chrono/day.html&#34;&gt;std::chrono::day&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/chrono/month.html&#34;&gt;std::chrono::month&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/chrono/year.html&#34;&gt;std::chrono::year&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/chrono/weekday.html&#34;&gt;std::chrono::weekday&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/chrono/weekday_indexed.html&#34;&gt;std::chrono::weekday_indexed&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/chrono/weekday_last.html&#34;&gt;std::chrono::weekday_last&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/chrono/month_day.html&#34;&gt;std::chrono::month_day&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/chrono/month_day_last.html&#34;&gt;std::chrono::month_day_last&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/chrono/month_weekday.html&#34;&gt;std::chrono::month_weekday&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/chrono/month_weekday_last.html&#34;&gt;std::chrono::month_weekday_last&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/chrono/year_month.html&#34;&gt;std::chrono::year_month&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/chrono/year_month_day.html&#34;&gt;std::chrono::year_month_day&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/chrono/year_month_day_last.html&#34;&gt;std::chrono::year_month_day_last&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/chrono/year_month_weekday.html&#34;&gt;std::chrono::year_month_weekday&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/chrono/year_month_weekday_last.html&#34;&gt;std::chrono::year_month_weekday_last&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/chrono/zoned_time.html&#34;&gt;std::chrono::zoned_time&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/chrono/leap_second.html&#34;&gt;std::chrono::leap_second&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;数値&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cmath.html&#34;&gt;&amp;lt;cmath&amp;gt;&lt;/a&gt;&lt;/code&gt;に、浮動小数点数の最大値・最小値を求める以下の関数を追加&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cmath/fmaximum.html&#34;&gt;std::fmaximum()&lt;/a&gt;&lt;/code&gt; (-0.0と+0.0では+0.0を返し、NaNと数値ではNaNを返す)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cmath/fmaximum_num.html&#34;&gt;std::fmaximum_num()&lt;/a&gt;&lt;/code&gt; (-0.0と+0.0では+0.0を返し、NaNと数値では数値を返す)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cmath/fminimum.html&#34;&gt;std::fminimum()&lt;/a&gt;&lt;/code&gt; (-0.0と+0.0では-0.0を返し、NaNと数値ではNaNを返す)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cmath/fminimum_num.html&#34;&gt;std::fminimum_num()&lt;/a&gt;&lt;/code&gt; (-0.0と-0.0では+0.0を返し、NaNと数値では数値を返す)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/numeric.html&#34;&gt;&amp;lt;numeric&amp;gt;&lt;/a&gt;&lt;/code&gt;に、飽和演算 (Saturation Arithmetic) として、型の表現可能な範囲で演算を行う以下の関数を追加&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/numeric/saturating_add.html&#34;&gt;std::saturating_add()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/numeric/saturating_sub.html&#34;&gt;std::saturating_sub()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/numeric/saturating_mul.html&#34;&gt;std::saturating_mul()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/numeric/saturating_div.html&#34;&gt;std::saturating_div()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/numeric/saturating_cast.html&#34;&gt;std::saturating_cast()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/complex/complex.html&#34;&gt;std::complex&lt;/a&gt;&lt;/code&gt;を構造化束縛や、将来のパターンマッチで使用できるようタプルインタフェースの特殊化を追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/random.html&#34;&gt;&amp;lt;random&amp;gt;&lt;/a&gt;&lt;/code&gt;の範囲&lt;code&gt;[0, 1)&lt;/code&gt;の乱数を生成する&lt;code&gt;&lt;a href=&#34;../reference/random/generate_canonical.html&#34;&gt;std::generate_canonical()&lt;/a&gt;&lt;/code&gt;を、望ましい統計的性質を保証するようアルゴリズムと制約を変更&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/random.html&#34;&gt;&amp;lt;random&amp;gt;&lt;/a&gt;&lt;/code&gt;に、乱数列を生成する&lt;code&gt;&lt;a href=&#34;../reference/random/generate_random.html&#34;&gt;std::ranges::generate_random()&lt;/a&gt;&lt;/code&gt;関数を追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/random.html&#34;&gt;&amp;lt;random&amp;gt;&lt;/a&gt;&lt;/code&gt;に、乱数生成器は並列シミュレーションに効果的なカウンターベースのPhilox乱数生成器として、&lt;code&gt;&lt;a href=&#34;../reference/random/philox_engine.html&#34;&gt;std::philox_engine&lt;/a&gt;&lt;/code&gt;クラス、およびその別名である&lt;code&gt;&lt;a href=&#34;../reference/random/philox4x32.html&#34;&gt;std::philox4x32&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../reference/random/philox4x64.html&#34;&gt;std::philox4x64&lt;/a&gt;&lt;/code&gt;を追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/random.html&#34;&gt;&amp;lt;random&amp;gt;&lt;/a&gt;&lt;/code&gt;の乱数生成器に&lt;code&gt;signed char&lt;/code&gt;と&lt;code&gt;unsigned char&lt;/code&gt;のサポートを追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cmath.html&#34;&gt;&amp;lt;cmath&amp;gt;&lt;/a&gt;&lt;/code&gt;の以下の関数を、&lt;code&gt;constexpr&lt;/code&gt;に対応 (特殊関数と、グローバルの丸めモードに依存する丸め関数以外の全て)&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cmath/cos.html&#34;&gt;std::cos()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cmath/sin.html&#34;&gt;std::sin()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cmath/tan.html&#34;&gt;std::tan()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cmath/cosh.html&#34;&gt;std::cosh()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cmath/sinh.html&#34;&gt;std::sinh()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cmath/tanh.html&#34;&gt;std::tanh()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cmath/acos.html&#34;&gt;std::acos()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cmath/asin.html&#34;&gt;std::asin()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cmath/atan.html&#34;&gt;std::atan()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cmath/atan2.html&#34;&gt;std::atan2()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cmath/acosh.html&#34;&gt;std::acosh()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cmath/asinh.html&#34;&gt;std::asinh()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cmath/atanh.html&#34;&gt;std::atanh()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cmath/exp.html&#34;&gt;std::exp()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cmath/exp2.html&#34;&gt;std::exp2()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cmath/expm1.html&#34;&gt;std::expm1()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cmath/log.html&#34;&gt;std::log()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cmath/log10.html&#34;&gt;std::log10()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cmath/log1p.html&#34;&gt;std::log1p()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cmath/log2.html&#34;&gt;std::log2()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cmath/pow.html&#34;&gt;std::pow()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cmath/sqrt.html&#34;&gt;std::sqrt()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cmath/cbrt.html&#34;&gt;std::cbrt()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cmath/hypot.html&#34;&gt;std::hypot()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cmath/erf.html&#34;&gt;std::erf()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cmath/erfc.html&#34;&gt;std::erfc()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cmath/lgamma.html&#34;&gt;std::lgamma()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cmath/tgamma.html&#34;&gt;std::tgamma()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/complex.html&#34;&gt;&amp;lt;complex&amp;gt;&lt;/a&gt;&lt;/code&gt;の以下の関数を、&lt;code&gt;constexpr&lt;/code&gt;に対応 (すべて)&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/complex/complex/abs.html&#34;&gt;std::abs()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/complex/complex/arg.html&#34;&gt;std::arg()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/complex/complex/proj.html&#34;&gt;std::proj()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/complex/complex/polar.html&#34;&gt;std::polar()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/complex/complex/cos.html&#34;&gt;std::cos()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/complex/complex/sin.html&#34;&gt;std::sin()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/complex/complex/tan.html&#34;&gt;std::tan()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/complex/complex/cosh.html&#34;&gt;std::cosh()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/complex/complex/sinh.html&#34;&gt;std::sinh()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/complex/complex/tanh.html&#34;&gt;std::tanh()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/complex/complex/acos.html&#34;&gt;std::acos()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/complex/complex/asin.html&#34;&gt;std::asin()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/complex/complex/atan.html&#34;&gt;std::atan()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/complex/complex/acosh.html&#34;&gt;std::acosh()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/complex/complex/asinh.html&#34;&gt;std::asinh()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/complex/complex/atanh.html&#34;&gt;std::atanh()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/complex/complex/exp.html&#34;&gt;std::exp()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/complex/complex/log.html&#34;&gt;std::log()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/complex/complex/log10.html&#34;&gt;std::log10()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/complex/complex/pow.html&#34;&gt;std::pow()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/complex/complex/sqrt.html&#34;&gt;std::sqrt()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/complex/complex/norm.html&#34;&gt;std::norm()&lt;/a&gt;&lt;/code&gt; (算術型オーバーロード)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/complex/complex/conj.html&#34;&gt;std::conj()&lt;/a&gt;&lt;/code&gt; (算術型オーバーロード)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/complex/complex/imag_free.html&#34;&gt;std::imag()&lt;/a&gt;&lt;/code&gt; (算術型オーバーロード)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/complex/complex/real_free.html&#34;&gt;std::real()&lt;/a&gt;&lt;/code&gt; (算術型オーバーロード)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;ユーティリティ&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/variant/variant.html&#34;&gt;std::variant&lt;/a&gt;&lt;/code&gt;クラスに、メンバ関数版の&lt;code&gt;&lt;a href=&#34;../reference/variant/variant/visit.html&#34;&gt;visit()&lt;/a&gt;&lt;/code&gt;を追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;std::monostate&lt;/code&gt;を&lt;code&gt;&lt;a href=&#34;../reference/variant.html&#34;&gt;&amp;lt;variant&amp;gt;&lt;/a&gt;&lt;/code&gt;から&lt;code&gt;&lt;a href=&#34;../reference/utility.html&#34;&gt;&amp;lt;utility&amp;gt;&lt;/a&gt;&lt;/code&gt;に移動&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/optional/optional.html&#34;&gt;std::optional&lt;/a&gt;&lt;/code&gt;クラスに、0もしくは1要素のRangeとして扱えるようにするための拡張として、イテレータインタフェースを追加&lt;ul&gt;
&lt;li&gt;&lt;code&gt;iterator&lt;/code&gt;型&lt;/li&gt;
&lt;li&gt;&lt;code&gt;const_iterator&lt;/code&gt;型&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/optional/optional/begin.html&#34;&gt;begin()&lt;/a&gt;&lt;/code&gt;メンバ関数&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/optional/optional/end.html&#34;&gt;end()&lt;/a&gt;&lt;/code&gt;メンバ関数&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/optional/optional.html&#34;&gt;std::optional&lt;/a&gt;&lt;/code&gt;に、参照を保持するための&lt;code&gt;T&amp;amp;&lt;/code&gt;の部分特殊化を追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/tuple/apply.html&#34;&gt;std::apply&lt;/a&gt;&lt;/code&gt;の戻り値型推論をやめて、戻り値型用の&lt;code&gt;&lt;a href=&#34;../reference/type_traits/apply_result.html&#34;&gt;std::apply_result&lt;/a&gt;&lt;/code&gt;クラスを追加し、関連する以下の機能を追加&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/type_traits/is_applicable.html&#34;&gt;std::is_applicable&lt;/a&gt;&lt;/code&gt;型特性&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/type_traits/is_nothrow_applicable.html&#34;&gt;std::is_nothrow_applicable&lt;/a&gt;&lt;/code&gt;型特性&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/tuple/ignore.html&#34;&gt;std::ignore&lt;/a&gt;&lt;/code&gt;をファーストクラス・オブジェクトとして型を詳細に定義&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/bitset/bitset.html&#34;&gt;std::bitset&lt;/a&gt;&lt;/code&gt;に、&lt;code&gt;&lt;a href=&#34;../reference/string_view/basic_string_view.html&#34;&gt;std::basic_string_view&lt;/a&gt;&lt;/code&gt;を受け取るコンストラクタを追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/ratio.html&#34;&gt;&amp;lt;ratio&amp;gt;&lt;/a&gt;&lt;/code&gt;に、新たなSI接頭辞として、以下を追加&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/ratio/si_prefix.html&#34;&gt;ronna&lt;/a&gt;&lt;/code&gt; (10&lt;sup&gt;27&lt;/sup&gt;)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/ratio/si_prefix.html&#34;&gt;ronto&lt;/a&gt;&lt;/code&gt; (10&lt;sup&gt;−27&lt;/sup&gt;)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/ratio/si_prefix.html&#34;&gt;quetta&lt;/a&gt;&lt;/code&gt; (10&lt;sup&gt;30&lt;/sup&gt;)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/ratio/si_prefix.html&#34;&gt;quecto&lt;/a&gt;&lt;/code&gt; (10&lt;sup&gt;−30&lt;/sup&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;定数式での例外送出が許可されることにともない、以下を&lt;code&gt;constexpr&lt;/code&gt;化&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/exception.html&#34;&gt;&amp;lt;exception&amp;gt;&lt;/a&gt;&lt;/code&gt;ヘッダの以下の機能&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/exception/exception.html&#34;&gt;std::exception&lt;/a&gt;&lt;/code&gt;クラスの全メンバ関数&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/exception/bad_exception.html&#34;&gt;std::bad_exception&lt;/a&gt;&lt;/code&gt;クラスの&lt;code&gt;what()&lt;/code&gt;メンバ関数&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/exception/rethrow_exception.html&#34;&gt;std::rethrow_exception()&lt;/a&gt;&lt;/code&gt;関数&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/exception/make_exception_ptr.html&#34;&gt;std::make_exception_ptr()&lt;/a&gt;&lt;/code&gt;関数&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/new.html&#34;&gt;&amp;lt;new&amp;gt;&lt;/a&gt;&lt;/code&gt;ヘッダの以下の機能&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/new/bad_alloc.html&#34;&gt;std::bad_alloc&lt;/a&gt;&lt;/code&gt;クラスの&lt;code&gt;what()&lt;/code&gt;メンバ関数&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/new/bad_array_new_length.html&#34;&gt;std::bad_array_new_length&lt;/a&gt;&lt;/code&gt;クラスの&lt;code&gt;what()&lt;/code&gt;メンバ関数&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/typeinfo.html&#34;&gt;&amp;lt;typeinfo&amp;gt;&lt;/a&gt;&lt;/code&gt;ヘッダの以下の機能&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/typeinfo/bad_cast.html&#34;&gt;std::bad_cast&lt;/a&gt;&lt;/code&gt;クラスの&lt;code&gt;what()&lt;/code&gt;メンバ関数&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/typeinfo/bad_typeid.html&#34;&gt;std::bad_typeid&lt;/a&gt;&lt;/code&gt;クラスの&lt;code&gt;what()&lt;/code&gt;メンバ関数&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/stdexcept.html&#34;&gt;&amp;lt;stdexcept&amp;gt;&lt;/a&gt;&lt;/code&gt;ヘッダの以下の機能&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/stdexcept.html&#34;&gt;std::domain_error&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/stdexcept.html&#34;&gt;std::invalid_argument&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/stdexcept.html&#34;&gt;std::length_error&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/stdexcept.html&#34;&gt;std::logic_error&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/stdexcept.html&#34;&gt;std::out_of_range&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/stdexcept.html&#34;&gt;std::runtime_error&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/stdexcept.html&#34;&gt;std::range_error&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/stdexcept.html&#34;&gt;std::overflow_error&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/stdexcept.html&#34;&gt;std::underflow_error&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/expected.html&#34;&gt;&amp;lt;expected&amp;gt;&lt;/a&gt;&lt;/code&gt;ヘッダの以下の機能&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/expected/bad_expected_access.html&#34;&gt;std::bad_expected_access&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/optional.html&#34;&gt;&amp;lt;optional&amp;gt;&lt;/a&gt;&lt;/code&gt;ヘッダの以下の機能&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/optional/bad_optional_access.html&#34;&gt;std::bad_optional_access&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/variant.html&#34;&gt;&amp;lt;variant&amp;gt;&lt;/a&gt;&lt;/code&gt;ヘッダの以下の機能&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/variant/bad_variant_access.html&#34;&gt;std::bad_variant_access&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/format.html&#34;&gt;&amp;lt;format&amp;gt;&lt;/a&gt;&lt;/code&gt;ヘッダの以下の機能&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/format/format_error.html&#34;&gt;std::format_error&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/memory.html&#34;&gt;&amp;lt;memory&amp;gt;&lt;/a&gt;&lt;/code&gt;に、ポインタのアライメントを判定する&lt;code&gt;&lt;a href=&#34;../reference/memory/is_sufficiently_aligned.html&#34;&gt;std::is_sufficiently_aligned()&lt;/a&gt;&lt;/code&gt;関数を追加。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/utility.html&#34;&gt;&amp;lt;utility&amp;gt;&lt;/a&gt;&lt;/code&gt;に、タイムトラベル最適化を抑止するための観測可能ポイントとして&lt;code&gt;&lt;a href=&#34;../reference/utility/observable_checkpoint.html&#34;&gt;std::observable_checkpoint()&lt;/a&gt;&lt;/code&gt;を追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/exception/exception_ptr.html&#34;&gt;std::exception_ptr&lt;/a&gt;&lt;/code&gt;を指定した例外型にキャストする&lt;code&gt;&lt;a href=&#34;../reference/exception/exception_ptr_cast.html&#34;&gt;std::exception_ptr_cast()&lt;/a&gt;&lt;/code&gt;関数を追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/compare.html&#34;&gt;&amp;lt;compare&amp;gt;&lt;/a&gt;&lt;/code&gt;に、型の順序を取得する&lt;code&gt;&lt;a href=&#34;../reference/compare/type_order.html&#34;&gt;std::type_order&lt;/a&gt;&lt;/code&gt;クラスを追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/utility.html&#34;&gt;&amp;lt;utility&amp;gt;&lt;/a&gt;&lt;/code&gt;に、定数を型として包むことで、関数の引数として渡しても定数式として扱えるようにする定数ラッパー&lt;code&gt;&lt;a href=&#34;../reference/utility/constant_wrapper.html&#34;&gt;std::constant_wrapper&lt;/a&gt;&lt;/code&gt;クラスと、それを簡潔に生成する変数テンプレート&lt;code&gt;&lt;a href=&#34;../reference/utility/constant_wrapper.html&#34;&gt;std::cw&lt;/a&gt;&lt;/code&gt;を追加&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;デバッグ&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cassert/assert.html&#34;&gt;assert&lt;/a&gt;&lt;/code&gt;マクロの引数としてカンマを含む式を指定できるよう、可変引数化&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;型特性&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/type_traits.html&#34;&gt;&amp;lt;type_traits&amp;gt;&lt;/a&gt;&lt;/code&gt;に、共用体の指定されたメンバがアクティブかを定数式で判定するための関数として&lt;code&gt;&lt;a href=&#34;../reference/type_traits/is_within_lifetime.html&#34;&gt;std::is_within_lifetime()&lt;/a&gt;&lt;/code&gt;を追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/type_traits.html&#34;&gt;&amp;lt;type_traits&amp;gt;&lt;/a&gt;&lt;/code&gt;に、仮想継承の関係を判定する&lt;code&gt;&lt;a href=&#34;../reference/type_traits/is_virtual_base_of.html&#34;&gt;std::is_virtual_base_of&lt;/a&gt;&lt;/code&gt;を追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/utility/integer_sequence.html&#34;&gt;std::integer_sequence&lt;/a&gt;&lt;/code&gt;クラスを&lt;a href=&#34;cpp17/structured_bindings.html&#34;&gt;構造化束縛&lt;/a&gt;と&lt;a href=&#34;cpp26/expansion_statements.html&#34;&gt;template for文&lt;/a&gt;で使用できるようにするため、タプルインタフェースの特殊化を追加&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;制約&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;間接実行に関連する制約から、共通参照の要件を削除&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/iterator/indirectly_unary_invocable.html&#34;&gt;std::indirectly_unary_invocable&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/iterator/indirectly_unary_invocable.html&#34;&gt;std::indirectly_regular_unary_invocable&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/iterator/indirect_unary_predicate.html&#34;&gt;std::indirect_unary_predicate&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/iterator/indirect_binary_predicate.html&#34;&gt;std::indirect_binary_predicate&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/iterator/indirect_equivalence_relation.html&#34;&gt;std::indirect_equivalence_relation&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/iterator/indirect_strict_weak_order.html&#34;&gt;std::indirect_strict_weak_order&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;機能の非推奨化&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/type_traits.html&#34;&gt;&amp;lt;type_traits&amp;gt;&lt;/a&gt;&lt;/code&gt;の&lt;code&gt;&lt;a href=&#34;../reference/type_traits/is_trivial.html&#34;&gt;std::is_trivial&lt;/a&gt;&lt;/code&gt;を非推奨化&lt;ul&gt;
&lt;li&gt;これは&lt;code&gt;&lt;a href=&#34;../reference/type_traits/is_trivially_copyable.html&#34;&gt;std::is_trivially_copyable&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../reference/type_traits/is_trivially_default_constructible.html&#34;&gt;std::is_trivially_default_constructible&lt;/a&gt;&lt;/code&gt;の2つが合わさったものであるが、それらは異なる状況で必要になるものであった&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/memory_order.html&#34;&gt;std::memory_order::consume&lt;/a&gt;&lt;/code&gt;と、それに関連して&lt;code&gt;&lt;a href=&#34;../reference/atomic/kill_dependency.html&#34;&gt;std::kill_dependency()&lt;/a&gt;&lt;/code&gt;を非推奨化し、&lt;code&gt;&lt;a href=&#34;cpp11/attributes.html&#34;&gt;[[carries_dependency]]&lt;/a&gt;&lt;/code&gt;属性を削除&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/filesystem/path.html&#34;&gt;std::filesystem::path&lt;/a&gt;&lt;/code&gt;クラスの、以下の非テンプレート版メンバ関数を非推奨化&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/filesystem/path/string.html&#34;&gt;string()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/filesystem/path/generic_string.html&#34;&gt;generic_string()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;これらはOS依存のパス名エンコーディングへ変換するため、&lt;a href=&#34;../reference/iostream.html&#34;&gt;iostream&lt;/a&gt;・&lt;code&gt;&lt;a href=&#34;../reference/format/format.html&#34;&gt;std::format()&lt;/a&gt;&lt;/code&gt;・&lt;code&gt;&lt;a href=&#34;../reference/print/print.html&#34;&gt;std::print()&lt;/a&gt;&lt;/code&gt;を含むほぼすべての標準のテキスト処理・入出力機能と互換性がなく、文字化けやデータ損失の原因になりやすい&lt;/li&gt;
&lt;li&gt;レガシーなシステムAPIにパスを渡す用途では、システム依存エンコーディングへの変換であることを明確にした&lt;code&gt;&lt;a href=&#34;../reference/filesystem/path/system_encoded_string.html&#34;&gt;system_encoded_string()&lt;/a&gt;&lt;/code&gt;・&lt;code&gt;&lt;a href=&#34;../reference/filesystem/path/generic_system_encoded_string.html&#34;&gt;generic_system_encoded_string()&lt;/a&gt;&lt;/code&gt;を使用する&lt;/li&gt;
&lt;li&gt;表示・フォーマットの用途では、&lt;code&gt;&lt;a href=&#34;../reference/filesystem/path/display_string.html&#34;&gt;display_string()&lt;/a&gt;&lt;/code&gt;・&lt;code&gt;&lt;a href=&#34;../reference/filesystem/path/generic_display_string.html&#34;&gt;generic_display_string()&lt;/a&gt;&lt;/code&gt;、もしくは&lt;code&gt;&lt;a href=&#34;../reference/format/format.html&#34;&gt;std::format()&lt;/a&gt;&lt;/code&gt;・&lt;code&gt;&lt;a href=&#34;../reference/print/print.html&#34;&gt;std::print()&lt;/a&gt;&lt;/code&gt;を使用する&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;非推奨の取り消し&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/memory_resource/polymorphic_allocator.html&#34;&gt;std::polymorphic_allocator&lt;/a&gt;::&lt;a href=&#34;../reference/memory_resource/polymorphic_allocator/destroy.html&#34;&gt;destroy()&lt;/a&gt;&lt;/code&gt;の非推奨を取り消し&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;機能の削除&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;C++98から非推奨となっていた&lt;code&gt;&amp;lt;strstream&amp;gt;&lt;/code&gt;ライブラリを削除&lt;/li&gt;
&lt;li&gt;C++17から非推奨となっていたUnicode変換ライブラリ&lt;code&gt;&lt;a href=&#34;../reference/codecvt.html&#34;&gt;&amp;lt;codecvt&amp;gt;&lt;/a&gt;&lt;/code&gt;と、&lt;code&gt;&lt;a href=&#34;../reference/locale/wstring_convert.html&#34;&gt;std::wstring_convert&lt;/a&gt;&lt;/code&gt;クラス、&lt;code&gt;&lt;a href=&#34;../reference/locale/wbuffer_convert.html&#34;&gt;std::wbuffer_convert&lt;/a&gt;&lt;/code&gt;クラスを削除&lt;/li&gt;
&lt;li&gt;C++20から非推奨となっていた、&lt;code&gt;&lt;a href=&#34;../reference/string/basic_string.html&#34;&gt;std::basic_string&lt;/a&gt;::&lt;a href=&#34;../reference/string/basic_string/reserve.html&#34;&gt;reserve()&lt;/a&gt;&lt;/code&gt;のパラメータなしのオーバーロードを削除&lt;/li&gt;
&lt;li&gt;C++20から非推奨となっていた&lt;code&gt;&lt;a href=&#34;../reference/memory/shared_ptr.html&#34;&gt;std::shared_ptr&lt;/a&gt;&lt;/code&gt;に対する、以下の古いアトミック操作関数のオーバーロードを削除&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/memory/shared_ptr/atomic_is_lock_free.html&#34;&gt;std::atomic_is_lock_free&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/memory/shared_ptr/atomic_load.html&#34;&gt;std::atomic_load&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/memory/shared_ptr/atomic_load_explicit.html&#34;&gt;std::atomic_load_explicit&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/memory/shared_ptr/atomic_store.html&#34;&gt;std::atomic_store&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/memory/shared_ptr/atomic_store_explicit.html&#34;&gt;std::atomic_store_explicit&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/memory/shared_ptr/atomic_exchange.html&#34;&gt;std::atomic_exchange&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/memory/shared_ptr/atomic_exchange_explicit.html&#34;&gt;std::atomic_exchange_explicit&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/memory/shared_ptr/atomic_compare_exchange_weak.html&#34;&gt;std::atomic_compare_exchange_weak&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/memory/shared_ptr/atomic_compare_exchange_strong.html&#34;&gt;std::atomic_compare_exchange_strong&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/memory/shared_ptr/atomic_compare_exchange_weak_explicit.html&#34;&gt;std::atomic_compare_exchange_weak_explicit&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/memory/shared_ptr/atomic_compare_exchange_strong_explicit.html&#34;&gt;std::atomic_compare_exchange_strong_explicit&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;C++23から非推奨となっていた、&lt;code&gt;&lt;a href=&#34;../reference/memory/allocator.html&#34;&gt;std::allocator&lt;/a&gt;&lt;/code&gt;のメンバ型&lt;code&gt;is_always_equal&lt;/code&gt;を削除&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;取り決め&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;C言語の参照をC17からC23に更新。これにともない、Cライブラリ由来のヘッダに以下の変更が入った&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cstdlib.html&#34;&gt;&amp;lt;cstdlib&amp;gt;&lt;/a&gt;&lt;/code&gt;: &lt;code&gt;&lt;a href=&#34;../reference/cstdlib/free_sized.html&#34;&gt;free_sized()&lt;/a&gt;&lt;/code&gt;・&lt;code&gt;&lt;a href=&#34;../reference/cstdlib/free_aligned_sized.html&#34;&gt;free_aligned_sized()&lt;/a&gt;&lt;/code&gt;・&lt;code&gt;&lt;a href=&#34;../reference/cstdlib/memalignment.html&#34;&gt;memalignment()&lt;/a&gt;&lt;/code&gt;・&lt;code&gt;&lt;a href=&#34;../reference/cstdlib/strfromf.html&#34;&gt;strfromf()&lt;/a&gt;&lt;/code&gt;・&lt;code&gt;&lt;a href=&#34;../reference/cstdlib/strfromd.html&#34;&gt;strfromd()&lt;/a&gt;&lt;/code&gt;・&lt;code&gt;&lt;a href=&#34;../reference/cstdlib/strfroml.html&#34;&gt;strfroml()&lt;/a&gt;&lt;/code&gt;を追加。&lt;code&gt;&lt;a href=&#34;../reference/cstdlib/bsearch.html&#34;&gt;bsearch()&lt;/a&gt;&lt;/code&gt;に&lt;code&gt;const&lt;/code&gt;版オーバーロードを追加。&lt;code&gt;&lt;a href=&#34;../reference/cstdlib/realloc.html&#34;&gt;realloc()&lt;/a&gt;&lt;/code&gt;にサイズ&lt;code&gt;0&lt;/code&gt;を渡した場合がエラー性動作となった&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/ctime.html&#34;&gt;&amp;lt;ctime&amp;gt;&lt;/a&gt;&lt;/code&gt;: &lt;code&gt;&lt;a href=&#34;../reference/ctime/timespec_getres.html&#34;&gt;timespec_getres()&lt;/a&gt;&lt;/code&gt;・&lt;code&gt;timegm()&lt;/code&gt;・&lt;code&gt;gmtime_r()&lt;/code&gt;・&lt;code&gt;localtime_r()&lt;/code&gt;と、&lt;code&gt;TIME_MONOTONIC&lt;/code&gt;・&lt;code&gt;TIME_ACTIVE&lt;/code&gt;・&lt;code&gt;TIME_THREAD_ACTIVE&lt;/code&gt;・&lt;code&gt;__STDC_VERSION_TIME_H__&lt;/code&gt;を追加。&lt;code&gt;asctime()&lt;/code&gt;・&lt;code&gt;ctime()&lt;/code&gt;を非推奨化&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cmath.html&#34;&gt;&amp;lt;cmath&amp;gt;&lt;/a&gt;&lt;/code&gt;: &lt;code&gt;&lt;a href=&#34;../reference/cmath/nextup.html&#34;&gt;nextup()&lt;/a&gt;&lt;/code&gt;・&lt;code&gt;&lt;a href=&#34;../reference/cmath/nextdown.html&#34;&gt;nextdown()&lt;/a&gt;&lt;/code&gt;を追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cstdio.html&#34;&gt;&amp;lt;cstdio&amp;gt;&lt;/a&gt;&lt;/code&gt;: &lt;code&gt;_PRINTF_NAN_LEN_MAX&lt;/code&gt;・&lt;code&gt;__STDC_VERSION_STDIO_H__&lt;/code&gt;を追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cinttypes.html&#34;&gt;&amp;lt;cinttypes&amp;gt;&lt;/a&gt;&lt;/code&gt;: 2進数用の書式指定マクロ (&lt;code&gt;PRIb&lt;/code&gt;&lt;em&gt;N&lt;/em&gt;・&lt;code&gt;SCNb&lt;/code&gt;&lt;em&gt;N&lt;/em&gt;等) と&lt;code&gt;__STDC_VERSION_INTTYPES_H__&lt;/code&gt;を追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cfloat.html&#34;&gt;&amp;lt;cfloat&amp;gt;&lt;/a&gt;&lt;/code&gt;: &lt;code&gt;&lt;a href=&#34;../reference/cmath/infinity.html&#34;&gt;INFINITY&lt;/a&gt;&lt;/code&gt;・&lt;code&gt;&lt;a href=&#34;../reference/cmath/nan.html&#34;&gt;NAN&lt;/a&gt;&lt;/code&gt;・&lt;code&gt;&lt;a href=&#34;../reference/cfloat/flt_snan.html&#34;&gt;FLT_SNAN&lt;/a&gt;&lt;/code&gt;・&lt;code&gt;&lt;a href=&#34;../reference/cfloat/dbl_snan.html&#34;&gt;DBL_SNAN&lt;/a&gt;&lt;/code&gt;・&lt;code&gt;&lt;a href=&#34;../reference/cfloat/ldbl_snan.html&#34;&gt;LDBL_SNAN&lt;/a&gt;&lt;/code&gt;・&lt;code&gt;__STDC_VERSION_FLOAT_H__&lt;/code&gt;を追加。&lt;code&gt;&lt;a href=&#34;../reference/cfloat/decimal_dig.html&#34;&gt;DECIMAL_DIG&lt;/a&gt;&lt;/code&gt;を非推奨化し、&lt;code&gt;&lt;a href=&#34;../reference/cfloat/flt_has_subnorm.html&#34;&gt;FLT_HAS_SUBNORM&lt;/a&gt;&lt;/code&gt;・&lt;code&gt;&lt;a href=&#34;../reference/cfloat/dbl_has_subnorm.html&#34;&gt;DBL_HAS_SUBNORM&lt;/a&gt;&lt;/code&gt;・&lt;code&gt;&lt;a href=&#34;../reference/cfloat/ldbl_has_subnorm.html&#34;&gt;LDBL_HAS_SUBNORM&lt;/a&gt;&lt;/code&gt;を廃止予定 (obsolescent) とした&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/climits.html&#34;&gt;&amp;lt;climits&amp;gt;&lt;/a&gt;&lt;/code&gt;: 各整数型の幅 (ビット数) を表す&lt;code&gt;&lt;a href=&#34;../reference/climits/bool_width.html&#34;&gt;BOOL_WIDTH&lt;/a&gt;&lt;/code&gt;等のマクロを追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cstdint.html&#34;&gt;&amp;lt;cstdint&amp;gt;&lt;/a&gt;&lt;/code&gt;: 各整数型の幅 (ビット数) を表す&lt;code&gt;&lt;a href=&#34;../reference/cstdint/int8_width.html&#34;&gt;INT8_WIDTH&lt;/a&gt;&lt;/code&gt;等のマクロと、&lt;code&gt;__STDC_VERSION_STDINT_H__&lt;/code&gt;を追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cstring.html&#34;&gt;&amp;lt;cstring&amp;gt;&lt;/a&gt;&lt;/code&gt;: &lt;code&gt;memccpy()&lt;/code&gt;・&lt;code&gt;strdup()&lt;/code&gt;・&lt;code&gt;strndup()&lt;/code&gt;・&lt;code&gt;memset_explicit()&lt;/code&gt;を追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cuchar.html&#34;&gt;&amp;lt;cuchar&amp;gt;&lt;/a&gt;&lt;/code&gt;: &lt;code&gt;mbrtoc8()&lt;/code&gt;・&lt;code&gt;c8rtomb()&lt;/code&gt;・&lt;code&gt;__STDC_VERSION_UCHAR_H__&lt;/code&gt;を追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cstddef.html&#34;&gt;&amp;lt;cstddef&amp;gt;&lt;/a&gt;&lt;/code&gt;: &lt;code&gt;unreachable&lt;/code&gt;マクロおよび&lt;code&gt;__STDC_VERSION_STDDEF_H__&lt;/code&gt;は定義しないことを明記&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</content>
      
      <author>
        <name>Akira Takahashi</name>
        <email>faithandbrave@gmail.com</email>
      </author>
    </entry>
  
    <entry>
      <title>機能テストマクロ -- Merge pull request #1661 from cpprefjp/indirect_polymorphic</title>
      <link href="https://cpprefjp.github.io/lang/cpp26/feature_test_macros.html"/>
      <id>83e1e23ae95fd3b652908152cf8de66cbcf5f65d:lang/cpp26/feature_test_macros.md</id>
      <updated>2026-06-24T10:24:58+09:00</updated>
      
        <content type="html">&lt;h1 itemprop=&#34;name&#34;&gt;&lt;span class=&#34;token&#34;&gt;機能テストマクロ&lt;/span&gt;&lt;span class=&#34;cpp cpp26&#34; title=&#34;C++26で追加&#34;&gt;(C++26)&lt;/span&gt;&lt;/h1&gt;
&lt;div itemprop=&#34;articleBody&#34;&gt;&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;このページはC++26に採用された言語機能の変更を解説しています。&lt;/p&gt;
&lt;p&gt;のちのC++規格でさらに変更される場合があるため&lt;a href=&#34;#relative-page&#34;&gt;関連項目&lt;/a&gt;を参照してください。&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;h2&gt;概要&lt;/h2&gt;
&lt;h3&gt;言語機能&lt;/h3&gt;
&lt;table border=&#34;1&#34; bordercolor=&#34;#888&#34; style=&#34;border-collapse:collapse&#34;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;マクロ名&lt;/th&gt;
&lt;th&gt;値&lt;/th&gt;
&lt;th&gt;機能&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_constexpr&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202406L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;constexpr_cast_from_voidptr.html&#34;&gt;定数式での&lt;code&gt;void*&lt;/code&gt;からポインタ型へのキャストを許可&lt;/a&gt;&lt;br /&gt;&lt;a href=&#34;constexpr_placement_new.html&#34;&gt;&lt;code&gt;constexpr&lt;/code&gt;配置&lt;code&gt;new&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_constexpr_exceptions&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202411L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;allowing_exception_throwing_in_constant-evaluation.html&#34;&gt;定数評価での例外送出を許可&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_constexpr_virtual_inheritance&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;constexpr&lt;/code&gt;仮想継承を許可&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_contracts&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;contracts.html&#34;&gt;契約プログラミングをサポートする&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_deleted_function&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202403L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;delete_reason.html&#34;&gt;関数宣言を削除する理由を指定できるようにする&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_expansion_statements&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;expansion_statements.html&#34;&gt;コンパイル時のタプルやリストを展開処理する&lt;code&gt;template for&lt;/code&gt;文&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_impl_reflection&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;reflection.html&#34;&gt;静的リフレクション&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_pack_indexing&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202311L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;pack_indexing.html&#34;&gt;パラメータパックへのインデックスアクセスを許可&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_placeholder_variables&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;nice_placeholder_with_no_name.html&#34;&gt;宣言のみで使用しない変数の名前として&lt;code&gt;_&lt;/code&gt;をサポート&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_pp_embed&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;embed.html&#34;&gt;ファイルを読み込む&lt;code&gt;#embed&lt;/code&gt;命令を追加&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_static_assert&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;user-generated_static_assert_messages.html&#34;&gt;&lt;code&gt;static_assert&lt;/code&gt;の診断メッセージにユーザーが生成した文字列の指定を許可&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_structured_bindings&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202411L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;attributes_for_structured_bindings.html&#34;&gt;構造化束縛への属性を許可&lt;/a&gt;&lt;br /&gt;&lt;a href=&#34;structured_bindings_can_introduce_a_pack.html&#34;&gt;構造化束縛でパックを導入できるようにする&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_template_parameters&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;concept_and_variable-template_template-parameters.html&#34;&gt;コンセプトと変数テンプレートをテンプレート引数として渡せるようにする&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_trivial_relocatability&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;トリビアルな再配置&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_trivial_union&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;trivial_unions.html&#34;&gt;共用体の特殊メンバ関数のトリビアル化&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_variadic_friend&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202403L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;variadic_friends.html&#34;&gt;可変引数テンプレートで&lt;code&gt;friend&lt;/code&gt;宣言をできるようにする&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3&gt;ライブラリ&lt;/h3&gt;
&lt;p&gt;ライブラリの機能テストマクロは全て&lt;code&gt;&lt;a href=&#34;../../reference/version.html&#34;&gt;&amp;lt;version&amp;gt;&lt;/a&gt;&lt;/code&gt;でも提供される。&lt;/p&gt;
&lt;table border=&#34;1&#34; bordercolor=&#34;#888&#34; style=&#34;border-collapse:collapse&#34;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;マクロ名&lt;/th&gt;
&lt;th&gt;値&lt;/th&gt;
&lt;th&gt;機能&lt;/th&gt;
&lt;th&gt;ヘッダ&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_algorithm_default_value_type&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202603L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;一部アルゴリズムに、値を波カッコ初期化で渡せるよう制約を追加 (P3787R2で&lt;code&gt;&lt;a href=&#34;../../reference/memory/uninitialized_fill.html&#34;&gt;uninitialized_fill&lt;/a&gt;&lt;/code&gt;/&lt;code&gt;&lt;a href=&#34;../../reference/memory/uninitialized_fill_n.html&#34;&gt;uninitialized_fill_n&lt;/a&gt;&lt;/code&gt;を追加)&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/algorithm.html&#34;&gt;&amp;lt;algorithm&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/ranges.html&#34;&gt;&amp;lt;ranges&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/string.html&#34;&gt;&amp;lt;string&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/deque.html&#34;&gt;&amp;lt;deque&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/list.html&#34;&gt;&amp;lt;list&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/forward_list.html&#34;&gt;&amp;lt;forward_list&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/vector.html&#34;&gt;&amp;lt;vector&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/memory.html&#34;&gt;&amp;lt;memory&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_aligned_accessor&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202411L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/mdspan.html&#34;&gt;&amp;lt;mdspan&amp;gt;&lt;/a&gt;&lt;/code&gt;に、要素アクセスにアライメント保証を与える&lt;code&gt;&lt;a href=&#34;../../reference/mdspan/aligned_accessor.html&#34;&gt;std::aligned_accessor&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/mdspan.html&#34;&gt;&amp;lt;mdspan&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_associative_heterogeneous_insertion&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;連想コンテナの一部メンバ関数に、一時オブジェクト生成のコストを抑える拡張を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/map.html&#34;&gt;&amp;lt;map&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/set.html&#34;&gt;&amp;lt;set&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/unordered_map.html&#34;&gt;&amp;lt;unordered_map&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/unordered_set.html&#34;&gt;&amp;lt;unordered_set&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_apply&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/tuple/apply.html&#34;&gt;std::apply&lt;/a&gt;&lt;/code&gt;の戻り値型推論をやめて、戻り値型用の&lt;code&gt;&lt;a href=&#34;../../reference/tuple/apply_result.md.nolink&#34;&gt;std::apply_result&lt;/a&gt;&lt;/code&gt;クラスを追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/tuple.html&#34;&gt;&amp;lt;tuple&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/type_traits.html&#34;&gt;&amp;lt;type_traits&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_atomic_min_max&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/atomic/atomic.html&#34;&gt;std::atomic&lt;/a&gt;&lt;/code&gt;オブジェクトに対する2つの値の最大値・最小値を取得する関数を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/atomic.html&#34;&gt;&amp;lt;atomic&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_atomic_reductions&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/atomic/atomic.html&#34;&gt;std::atomic&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../../reference/atomic/atomic_ref.html&#34;&gt;std::atomic_ref&lt;/a&gt;&lt;/code&gt;に高速な縮約用の操作を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/atomic.html&#34;&gt;&amp;lt;atomic&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_atomic_ref&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202411L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/atomic/atomic_ref.html&#34;&gt;std::atomic_ref&lt;/a&gt;&lt;/code&gt;に&lt;code&gt;&lt;a href=&#34;../../reference/atomic/atomic_ref/address.html&#34;&gt;address()&lt;/a&gt;&lt;/code&gt;メンバ関数を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/atomic.html&#34;&gt;&amp;lt;atomic&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_bind_back&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/functional/bind_back.html&#34;&gt;std::bind_back()&lt;/a&gt;&lt;/code&gt;に、非型テンプレート引数として関数を指定するオーバーロードを追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/functional.html&#34;&gt;&amp;lt;functional&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_bind_front&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/functional/bind_front.html&#34;&gt;std::bind_front()&lt;/a&gt;&lt;/code&gt;に、非型テンプレート引数として関数を指定するオーバーロードを追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/functional.html&#34;&gt;&amp;lt;functional&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_bitset&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/bitset/bitset.html&#34;&gt;std::bitset&lt;/a&gt;&lt;/code&gt;に、&lt;code&gt;&lt;a href=&#34;../../reference/string_view/basic_string_view.html&#34;&gt;std::basic_string_view&lt;/a&gt;&lt;/code&gt;を受け取るコンストラクタを追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/bitset.html&#34;&gt;&amp;lt;bitset&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_chrono&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/chrono.html&#34;&gt;&amp;lt;chrono&amp;gt;&lt;/a&gt;&lt;/code&gt;のクラスに、ハッシュ値サポートとして&lt;code&gt;&lt;a href=&#34;../../reference/functional/hash.html&#34;&gt;std::hash&lt;/a&gt;&lt;/code&gt;の特殊化を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/chrono.html&#34;&gt;&amp;lt;chrono&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_constant_wrapper&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202606L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/utility.html&#34;&gt;&amp;lt;utility&amp;gt;&lt;/a&gt;&lt;/code&gt;に&lt;code&gt;&lt;a href=&#34;../../reference/utility/constant_wrapper.html&#34;&gt;std::constant_wrapper&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/utility.html&#34;&gt;&amp;lt;utility&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_constexpr_algorithms&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/algorithm/stable_sort.html&#34;&gt;std::stable_sort()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../../reference/algorithm/ranges_stable_sort.html&#34;&gt;std::ranges::stable_sort()&lt;/a&gt;&lt;/code&gt;を&lt;code&gt;constexpr&lt;/code&gt;対応&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/algorithm.html&#34;&gt;&amp;lt;algorithm&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/utility.html&#34;&gt;&amp;lt;utility&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_constexpr_atomic&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202411L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/atomic.html&#34;&gt;&amp;lt;atomic&amp;gt;&lt;/a&gt;&lt;/code&gt;ライブラリのアトミック操作を&lt;code&gt;constexpr&lt;/code&gt;対応&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/atomic.html&#34;&gt;&amp;lt;atomic&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_constexpr_cmath&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/cmath.html&#34;&gt;&amp;lt;cmath&amp;gt;&lt;/a&gt;&lt;/code&gt;の関数 (特殊関数と丸めモードに依存する関数以外の全て) を&lt;code&gt;constexpr&lt;/code&gt;対応&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/cmath.html&#34;&gt;&amp;lt;cmath&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/cstdlib.html&#34;&gt;&amp;lt;cstdlib&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_constexpr_complex&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/complex/complex.html&#34;&gt;std::complex&lt;/a&gt;&lt;/code&gt;の全関数を&lt;code&gt;constexpr&lt;/code&gt;対応&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/complex.html&#34;&gt;&amp;lt;complex&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_constexpr_deque&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/deque/deque.html&#34;&gt;std::deque&lt;/a&gt;&lt;/code&gt;を&lt;code&gt;constexpr&lt;/code&gt;対応&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/deque.html&#34;&gt;&amp;lt;deque&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_constexpr_exceptions&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;allowing_exception_throwing_in_constant-evaluation.html&#34;&gt;定数式での例外送出が許可されること&lt;/a&gt;にともない、例外クラスの関連機能を&lt;code&gt;constexpr&lt;/code&gt;対応&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/exception.html&#34;&gt;&amp;lt;exception&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/stdexcept.html&#34;&gt;&amp;lt;stdexcept&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/expected.html&#34;&gt;&amp;lt;expected&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/optional.html&#34;&gt;&amp;lt;optional&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/variant.html&#34;&gt;&amp;lt;variant&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/format.html&#34;&gt;&amp;lt;format&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_constexpr_flat_map&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/flat_map/flat_map.html&#34;&gt;std::flat_map&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../../reference/flat_map/flat_multimap.html&#34;&gt;std::flat_multimap&lt;/a&gt;&lt;/code&gt;を&lt;code&gt;constexpr&lt;/code&gt;対応&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/flat_map.html&#34;&gt;&amp;lt;flat_map&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_constexpr_flat_set&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/flat_set/flat_set.html&#34;&gt;std::flat_set&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../../reference/flat_set/flat_multiset.html&#34;&gt;std::flat_multiset&lt;/a&gt;&lt;/code&gt;を&lt;code&gt;constexpr&lt;/code&gt;対応&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/flat_set.html&#34;&gt;&amp;lt;flat_set&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_constexpr_forward_list&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/forward_list/forward_list.html&#34;&gt;std::forward_list&lt;/a&gt;&lt;/code&gt;を&lt;code&gt;constexpr&lt;/code&gt;対応&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/forward_list.html&#34;&gt;&amp;lt;forward_list&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_constexpr_inplace_vector&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202603L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/inplace_vector/inplace_vector.html&#34;&gt;std::inplace_vector&lt;/a&gt;&lt;/code&gt;を&lt;code&gt;constexpr&lt;/code&gt;対応&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/inplace_vector.html&#34;&gt;&amp;lt;inplace_vector&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_constexpr_list&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/list/list.html&#34;&gt;std::list&lt;/a&gt;&lt;/code&gt;を&lt;code&gt;constexpr&lt;/code&gt;対応&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/list.html&#34;&gt;&amp;lt;list&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_constexpr_map&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/map/map.html&#34;&gt;std::map&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../../reference/map/multimap.html&#34;&gt;std::multimap&lt;/a&gt;&lt;/code&gt;を&lt;code&gt;constexpr&lt;/code&gt;対応&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/map.html&#34;&gt;&amp;lt;map&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_constexpr_memory&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/memory/shared_ptr.html&#34;&gt;std::shared_ptr&lt;/a&gt;&lt;/code&gt;クラスとその関連機能を&lt;code&gt;constexpr&lt;/code&gt;対応&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/memory.html&#34;&gt;&amp;lt;memory&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_constexpr_new&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202406L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;constexpr_placement_new.html&#34;&gt;&lt;code&gt;constexpr&lt;/code&gt;配置&lt;code&gt;new&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/new.html&#34;&gt;&amp;lt;new&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_constexpr_queue&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/queue/queue.html&#34;&gt;std::queue&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../../reference/queue/priority_queue.html&#34;&gt;std::priority_queue&lt;/a&gt;&lt;/code&gt;を&lt;code&gt;constexpr&lt;/code&gt;対応&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/queue.html&#34;&gt;&amp;lt;queue&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_constexpr_set&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/set/set.html&#34;&gt;std::set&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../../reference/set/multiset.html&#34;&gt;std::multiset&lt;/a&gt;&lt;/code&gt;を&lt;code&gt;constexpr&lt;/code&gt;対応&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/set.html&#34;&gt;&amp;lt;set&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_constexpr_stack&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/stack/stack.html&#34;&gt;std::stack&lt;/a&gt;&lt;/code&gt;を&lt;code&gt;constexpr&lt;/code&gt;対応&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/stack.html&#34;&gt;&amp;lt;stack&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_constexpr_unordered_map&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/unordered_map/unordered_map.html&#34;&gt;std::unordered_map&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../../reference/unordered_map/unordered_multimap.html&#34;&gt;std::unordered_multimap&lt;/a&gt;&lt;/code&gt;を&lt;code&gt;constexpr&lt;/code&gt;対応&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/unordered_map.html&#34;&gt;&amp;lt;unordered_map&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_constexpr_unordered_set&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/unordered_set/unordered_set.html&#34;&gt;std::unordered_set&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../../reference/unordered_set/unordered_multiset.html&#34;&gt;std::unordered_multiset&lt;/a&gt;&lt;/code&gt;を&lt;code&gt;constexpr&lt;/code&gt;対応&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/unordered_set.html&#34;&gt;&amp;lt;unordered_set&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_constrained_equality&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202411L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/functional/reference_wrapper.html&#34;&gt;std::reference_wrapper&lt;/a&gt;&lt;/code&gt;に、比較演算子&lt;code&gt;&lt;a href=&#34;../../reference/functional/reference_wrapper/op_equal.html&#34;&gt;==&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../../reference/functional/reference_wrapper/op_compare_3way.html&#34;&gt;&amp;lt;=&amp;gt;&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/utility.html&#34;&gt;&amp;lt;utility&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/tuple.html&#34;&gt;&amp;lt;tuple&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/optional.html&#34;&gt;&amp;lt;optional&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/variant.html&#34;&gt;&amp;lt;variant&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/expected.html&#34;&gt;&amp;lt;expected&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_contracts&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;contracts.html&#34;&gt;契約プログラミングをサポートする&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/contracts.html&#34;&gt;&amp;lt;contracts&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_copyable_function&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/functional.html&#34;&gt;&amp;lt;functional&amp;gt;&lt;/a&gt;&lt;/code&gt;に&lt;code&gt;&lt;a href=&#34;../../reference/functional/copyable_function.html&#34;&gt;std::copyable_function&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/functional.html&#34;&gt;&amp;lt;functional&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_counting_scope&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/execution.html&#34;&gt;&amp;lt;execution&amp;gt;&lt;/a&gt;&lt;/code&gt;に&lt;code&gt;&lt;a href=&#34;../../reference/execution/execution/spawn.html&#34;&gt;std::execution::spawn&lt;/a&gt;&lt;/code&gt;、&lt;code&gt;&lt;a href=&#34;../../reference/execution/execution/scope_token.html&#34;&gt;std::execution::scope_token&lt;/a&gt;&lt;/code&gt;などを追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/execution.html&#34;&gt;&amp;lt;execution&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_debugging&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202403L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;デバッグサポートのライブラリとして&lt;code&gt;&lt;a href=&#34;../../reference/debugging.html&#34;&gt;&amp;lt;debugging&amp;gt;&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/debugging.html&#34;&gt;&amp;lt;debugging&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_define_static&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/meta.html&#34;&gt;&amp;lt;meta&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_exception_ptr_cast&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202603L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/exception/exception_ptr.html&#34;&gt;std::exception_ptr&lt;/a&gt;&lt;/code&gt;を指定した例外型にキャストする&lt;code&gt;&lt;a href=&#34;../../reference/exception/exception_ptr_cast.html&#34;&gt;std::exception_ptr_cast()&lt;/a&gt;&lt;/code&gt;関数を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/exception.html&#34;&gt;&amp;lt;exception&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_format&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202603L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/format/dynamic_format.html&#34;&gt;std::dynamic_format&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/format.html&#34;&gt;&amp;lt;format&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_format_path&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/filesystem/path.html&#34;&gt;std::filesystem::path&lt;/a&gt;&lt;/code&gt;クラスに、文字列フォーマットのサポートを追加&lt;br /&gt;&lt;code&gt;&lt;a href=&#34;../../reference/filesystem/path.html&#34;&gt;std::filesystem::path&lt;/a&gt;&lt;/code&gt;クラスに、出力用の文字列を取得するためのメンバ関数を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/filesystem.html&#34;&gt;&amp;lt;filesystem&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_format_uchar&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202311L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/format/format.html&#34;&gt;std::format&lt;/a&gt;&lt;/code&gt;が&lt;code&gt;char&lt;/code&gt;を数値出力する際は符号なしとして扱う&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/format.html&#34;&gt;&amp;lt;format&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_algorithm&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/algorithm.html&#34;&gt;&amp;lt;algorithm&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_array&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202311L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/array.html&#34;&gt;&amp;lt;array&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_char_traits&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/string.html&#34;&gt;&amp;lt;string&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_charconv&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/charconv.html&#34;&gt;&amp;lt;charconv&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_cstdlib&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/cstdlib.html&#34;&gt;&amp;lt;cstdlib&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/cmath.html&#34;&gt;&amp;lt;cmath&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_cstring&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202311L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/cstring.html&#34;&gt;&amp;lt;cstring&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_cwchar&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/cwchar.md.nolink&#34;&gt;&amp;lt;cwchar&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_errc&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/cerrno.html&#34;&gt;&amp;lt;cerrno&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/system_error.html&#34;&gt;&amp;lt;system_error&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_execution&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/execution.html&#34;&gt;&amp;lt;execution&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_expected&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202311L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/expected.html&#34;&gt;&amp;lt;expected&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_feature_test_macros&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_functional&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/functional.html&#34;&gt;&amp;lt;functional&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_iterator&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/iterator.html&#34;&gt;&amp;lt;iterator&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_mdspan&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202311L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/mdspan.html&#34;&gt;&amp;lt;mdspan&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_memory&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/memory.html&#34;&gt;&amp;lt;memory&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_numeric&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/numeric.html&#34;&gt;&amp;lt;numeric&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_operator_new&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt; or &lt;code&gt;0&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/new.html&#34;&gt;&amp;lt;new&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_optional&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/optional.html&#34;&gt;&amp;lt;optional&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_random&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/random.html&#34;&gt;&amp;lt;random&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_ranges&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/ranges.html&#34;&gt;&amp;lt;ranges&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_ratio&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/ratio.html&#34;&gt;&amp;lt;ratio&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_string_view&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202311L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/string_view.html&#34;&gt;&amp;lt;string_view&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_tuple&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/tuple.html&#34;&gt;&amp;lt;tuple&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_utility&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/utility.html&#34;&gt;&amp;lt;utility&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_variant&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202311L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/variant.html&#34;&gt;&amp;lt;variant&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_fstream_native_handle&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/fstream/basic_fstream.html&#34;&gt;std::basic_fstream&lt;/a&gt;&lt;/code&gt;などのメンバに、ファイルのネイティブハンドルを追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/fstream.html&#34;&gt;&amp;lt;fstream&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_function_ref&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/functional.html&#34;&gt;&amp;lt;functional&amp;gt;&lt;/a&gt;&lt;/code&gt;に&lt;code&gt;&lt;a href=&#34;../../reference/functional/function_ref.html&#34;&gt;std::function_ref&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/functional.html&#34;&gt;&amp;lt;functional&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_hazard_pointer&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;ハザードポインタのライブラリ&lt;code&gt;&lt;a href=&#34;../../reference/hazard_pointer.md.nolink&#34;&gt;&amp;lt;hazard_pointer&amp;gt;&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/hazard_pointer.md.nolink&#34;&gt;&amp;lt;hazard_pointer&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_hive&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;シーケンスコンテナのライブラリ&lt;code&gt;&lt;a href=&#34;../../reference/hive.md.nolink&#34;&gt;&amp;lt;hive&amp;gt;&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/hive.md.nolink&#34;&gt;&amp;lt;hive&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_indirect&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/memory.html&#34;&gt;&amp;lt;memory&amp;gt;&lt;/a&gt;&lt;/code&gt;に&lt;code&gt;&lt;a href=&#34;../../reference/memory/indirect.html&#34;&gt;std::indirect&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../../reference/memory/polymorphic.html&#34;&gt;std::polymorphic&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/memory.html&#34;&gt;&amp;lt;memory&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_inplace_vector&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202603L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;容量固定の可変長配列のライブラリ&lt;code&gt;&lt;a href=&#34;../../reference/inplace_vector.html&#34;&gt;&amp;lt;inplace_vector&amp;gt;&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/inplace_vector.html&#34;&gt;&amp;lt;inplace_vector&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_integer_sequence&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202511L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/utility/integer_sequence.html&#34;&gt;std::integer_sequence&lt;/a&gt;&lt;/code&gt;を&lt;a href=&#34;../cpp17/structured_bindings.html&#34;&gt;構造化束縛&lt;/a&gt;と&lt;a href=&#34;expansion_statements.html&#34;&gt;&lt;code&gt;template for&lt;/code&gt;文&lt;/a&gt;で使用できるよう、タプルインタフェースの特殊化を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/utility.html&#34;&gt;&amp;lt;utility&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_is_sufficiently_aligned&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202411L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/mdspan.html&#34;&gt;&amp;lt;mdspan&amp;gt;&lt;/a&gt;&lt;/code&gt;に、要素アクセスにアライメント保証を与える&lt;code&gt;&lt;a href=&#34;../../reference/mdspan/aligned_accessor.html&#34;&gt;std::aligned_accessor&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/memory.html&#34;&gt;&amp;lt;memory&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_is_structural&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202603L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/type_traits.html&#34;&gt;&amp;lt;type_traits&amp;gt;&lt;/a&gt;&lt;/code&gt;に&lt;code&gt;&lt;a href=&#34;../../reference/type_traits/is_structural.html&#34;&gt;std::is_structural&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/type_traits.html&#34;&gt;&amp;lt;type_traits&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/meta.html&#34;&gt;&amp;lt;meta&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_is_virtual_base_of&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202406L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/type_traits.html&#34;&gt;&amp;lt;type_traits&amp;gt;&lt;/a&gt;&lt;/code&gt;に&lt;code&gt;&lt;a href=&#34;../../reference/type_traits/is_virtual_base_of.html&#34;&gt;std::is_virtual_base_of&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/type_traits.html&#34;&gt;&amp;lt;type_traits&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_is_within_lifetime&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/type_traits.html&#34;&gt;&amp;lt;type_traits&amp;gt;&lt;/a&gt;&lt;/code&gt;に&lt;code&gt;&lt;a href=&#34;../../reference/type_traits/is_within_lifetime.html&#34;&gt;std::is_within_lifetime()&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/type_traits.html&#34;&gt;&amp;lt;type_traits&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_linalg&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202412L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;線形代数ライブラリとして&lt;code&gt;&lt;a href=&#34;../../reference/linalg.html&#34;&gt;&amp;lt;linalg&amp;gt;&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/linalg.html&#34;&gt;&amp;lt;linalg&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_mdspan&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202406L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/mdspan/mdspan.html&#34;&gt;std::mdspan&lt;/a&gt;&lt;/code&gt;に対する&lt;code&gt;&lt;a href=&#34;../../reference/mdspan/extents.html&#34;&gt;std::dextents&lt;/a&gt;&lt;/code&gt;指定の冗長さを解決する&lt;code&gt;&lt;a href=&#34;../../reference/mdspan/extents.html&#34;&gt;std::dims&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/mdspan.html&#34;&gt;&amp;lt;mdspan&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_not_fn&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/functional/not_fn.html&#34;&gt;std::not_fn()&lt;/a&gt;&lt;/code&gt;に、非型テンプレート引数として関数を指定するオーバーロードを追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/functional.html&#34;&gt;&amp;lt;functional&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_observable_checkpoint&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/utility.html&#34;&gt;&amp;lt;utility&amp;gt;&lt;/a&gt;&lt;/code&gt;に&lt;code&gt;&lt;a href=&#34;../../reference/utility/observable_checkpoint.html&#34;&gt;std::observable_checkpoint()&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/utility.html&#34;&gt;&amp;lt;utility&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_optional&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/optional/optional.html&#34;&gt;std::optional&lt;/a&gt;&lt;/code&gt;に、参照を保持するための&lt;code&gt;T&amp;amp;&lt;/code&gt;の部分特殊化を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/optional.html&#34;&gt;&amp;lt;optional&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_optional_range_support&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202406L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/optional/optional.html&#34;&gt;std::optional&lt;/a&gt;&lt;/code&gt;にイテレータインタフェースを追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/optional.html&#34;&gt;&amp;lt;optional&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_out_ptr&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202311L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/memory.html&#34;&gt;&amp;lt;memory&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_parallel_algorithm&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/algorithm.html&#34;&gt;&amp;lt;algorithm&amp;gt;&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../../reference/memory.html&#34;&gt;&amp;lt;memory&amp;gt;&lt;/a&gt;&lt;/code&gt;のアルゴリズムを並列実行に対応&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/algorithm.html&#34;&gt;&amp;lt;algorithm&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/numeric.html&#34;&gt;&amp;lt;numeric&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/memory.html&#34;&gt;&amp;lt;memory&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_parallel_scheduler&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/execution.html&#34;&gt;&amp;lt;execution&amp;gt;&lt;/a&gt;&lt;/code&gt;に&lt;code&gt;&lt;a href=&#34;../../reference/execution/execution/parallel_scheduler.html&#34;&gt;std::execution::parallel_scheduler&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/execution.html&#34;&gt;&amp;lt;execution&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_philox_engine&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202406L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/random.html&#34;&gt;&amp;lt;random&amp;gt;&lt;/a&gt;&lt;/code&gt;に&lt;code&gt;&lt;a href=&#34;../../reference/random/philox_engine.html&#34;&gt;std::philox_engine&lt;/a&gt;&lt;/code&gt;、&lt;code&gt;&lt;a href=&#34;../../reference/random/philox4x32.html&#34;&gt;std::philox4x32&lt;/a&gt;&lt;/code&gt;、&lt;code&gt;&lt;a href=&#34;../../reference/random/philox4x64.html&#34;&gt;std::philox4x64&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/random.html&#34;&gt;&amp;lt;random&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_polymorphic&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/memory.html&#34;&gt;&amp;lt;memory&amp;gt;&lt;/a&gt;&lt;/code&gt;に&lt;code&gt;&lt;a href=&#34;../../reference/memory/indirect.html&#34;&gt;std::indirect&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../../reference/memory/polymorphic.html&#34;&gt;std::polymorphic&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/memory.html&#34;&gt;&amp;lt;memory&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_print&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202406L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/print/print.html&#34;&gt;std::print()&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../../reference/print/println.html&#34;&gt;std::println()&lt;/a&gt;&lt;/code&gt;にロックを取得せず高速に書き出す最適化を許可&lt;br /&gt;&lt;code&gt;&lt;a href=&#34;../../reference/format/enable_nonlocking_formatter_optimization.html&#34;&gt;std::enable_nonlocking_formatter_optimization&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/print.html&#34;&gt;&amp;lt;print&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/ostream.html&#34;&gt;&amp;lt;ostream&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_ranges&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202406L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/iterator/indirectly_unary_invocable.html&#34;&gt;std::indirectly_unary_invocable&lt;/a&gt;&lt;/code&gt;などのコンセプトの共通参照要件を削除&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/algorithm.html&#34;&gt;&amp;lt;algorithm&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/functional.html&#34;&gt;&amp;lt;functional&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/iterator.html&#34;&gt;&amp;lt;iterator&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/memory.html&#34;&gt;&amp;lt;memory&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/ranges.html&#34;&gt;&amp;lt;ranges&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_ranges_as_const&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202311L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/iterator/basic_const_iterator.html&#34;&gt;std::basic_const_iterator&lt;/a&gt;&lt;/code&gt;を元の要素へのキャストを可能にする&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/ranges.html&#34;&gt;&amp;lt;ranges&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_ranges_cache_latest&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202411L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/ranges/cache_latest_view.html&#34;&gt;std::views::cache_latest&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/ranges.html&#34;&gt;&amp;lt;ranges&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_ranges_concat&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202403L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/ranges/concat_view.html&#34;&gt;std::views::concat&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/ranges.html&#34;&gt;&amp;lt;ranges&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_ranges_filter&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202603L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/ranges/filter_view.html&#34;&gt;std::ranges::filter_view&lt;/a&gt;&lt;/code&gt;に、入力Rangeに対する&lt;code&gt;const&lt;/code&gt;版の&lt;code&gt;&lt;a href=&#34;../../reference/ranges/filter_view/begin.html&#34;&gt;begin()&lt;/a&gt;&lt;/code&gt;/&lt;code&gt;&lt;a href=&#34;../../reference/ranges/filter_view/end.html&#34;&gt;end()&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/ranges.html&#34;&gt;&amp;lt;ranges&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_ranges_generate_random&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202403L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/random.html&#34;&gt;&amp;lt;random&amp;gt;&lt;/a&gt;&lt;/code&gt;に、乱数列を生成する&lt;code&gt;&lt;a href=&#34;../../reference/random/generate_random.html&#34;&gt;std::ranges::generate_random()&lt;/a&gt;&lt;/code&gt;関数を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/random.html&#34;&gt;&amp;lt;random&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_ranges_indices&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;インデックス列を生成する&lt;code&gt;&lt;a href=&#34;../../reference/ranges/indices.html&#34;&gt;std::views::indices&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/ranges.html&#34;&gt;&amp;lt;ranges&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_ranges_reserve_hint&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;各viewクラスに&lt;code&gt;reserve_hint()&lt;/code&gt;メンバ関数を追加&lt;br /&gt;&lt;code&gt;&lt;a href=&#34;../../reference/ranges/reserve_hint.html&#34;&gt;std::ranges::reserve_hint()&lt;/a&gt;&lt;/code&gt;関数を追加&lt;br /&gt;&lt;code&gt;&lt;a href=&#34;../../reference/ranges/approximately_sized_range.html&#34;&gt;std::ranges::approximately_sized_range&lt;/a&gt;&lt;/code&gt;コンセプトを追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/ranges.html&#34;&gt;&amp;lt;ranges&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_ranges_as_input&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/ranges/as_input_view.html&#34;&gt;std::views::as_input&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/ranges.html&#34;&gt;&amp;lt;ranges&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_ratio&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/ratio.html&#34;&gt;&amp;lt;ratio&amp;gt;&lt;/a&gt;&lt;/code&gt;に、新たなSI接頭辞を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/ratio.html&#34;&gt;&amp;lt;ratio&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_raw_memory_algorithms&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202411L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/memory/uninitialized_default_construct.html&#34;&gt;std::uninitialized_default_construct()&lt;/a&gt;&lt;/code&gt;などの未初期化領域に対する操作を&lt;code&gt;constexpr&lt;/code&gt;対応&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/memory.html&#34;&gt;&amp;lt;memory&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_rcu&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;RCU (Read Copy Update) のライブラリとして&lt;code&gt;&lt;a href=&#34;../../reference/rcu.html&#34;&gt;&amp;lt;rcu&amp;gt;&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/rcu.html&#34;&gt;&amp;lt;rcu&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_reference_wrapper&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202403L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/functional/reference_wrapper.html&#34;&gt;std::reference_wrapper&lt;/a&gt;&lt;/code&gt;に、比較演算子&lt;code&gt;&lt;a href=&#34;../../reference/functional/reference_wrapper/op_equal.html&#34;&gt;==&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../../reference/functional/reference_wrapper/op_compare_3way.html&#34;&gt;&amp;lt;=&amp;gt;&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/functional.html&#34;&gt;&amp;lt;functional&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_reflection&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;reflection.html&#34;&gt;静的リフレクション&lt;/a&gt;のライブラリ機能&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/meta.html&#34;&gt;&amp;lt;meta&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_saturation_arithmetic&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202603L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/numeric.html&#34;&gt;&amp;lt;numeric&amp;gt;&lt;/a&gt;&lt;/code&gt;に飽和演算 (Saturation Arithmetic) として&lt;code&gt;&lt;a href=&#34;../../reference/numeric/saturating_add.html&#34;&gt;std::saturating_add()&lt;/a&gt;&lt;/code&gt;などの関数を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/numeric.html&#34;&gt;&amp;lt;numeric&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_senders&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/execution.html&#34;&gt;&amp;lt;execution&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_simd&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;データ並列ライブラリとして、&lt;code&gt;&lt;a href=&#34;../../reference/simd.md.nolink&#34;&gt;&amp;lt;simd&amp;gt;&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/simd.md.nolink&#34;&gt;&amp;lt;simd&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_simd_complex&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/simd.md.nolink&#34;&gt;&amp;lt;simd&amp;gt;&lt;/a&gt;&lt;/code&gt;が&lt;code&gt;&lt;a href=&#34;../../reference/complex/complex.html&#34;&gt;std::complex&lt;/a&gt;&lt;/code&gt;をサポートする&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/simd.md.nolink&#34;&gt;&amp;lt;simd&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_simd_permutations&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/simd.md.nolink&#34;&gt;&amp;lt;simd&amp;gt;&lt;/a&gt;&lt;/code&gt;に&lt;code&gt;permute()&lt;/code&gt;などを追加する&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/simd.md.nolink&#34;&gt;&amp;lt;simd&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_smart_ptr_owner_equality&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/memory.html&#34;&gt;&amp;lt;memory&amp;gt;&lt;/a&gt;&lt;/code&gt;に&lt;code&gt;&lt;a href=&#34;../../reference/memory/owner_hash.html&#34;&gt;std::owner_hash&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../../reference/memory/owner_equal.html&#34;&gt;std::owner_equal&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/memory.html&#34;&gt;&amp;lt;memory&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_span&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202311L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/mdspan/mdspan.html&#34;&gt;std::mdspan&lt;/a&gt;&lt;/code&gt;に&lt;code&gt;&lt;a href=&#34;../../reference/mdspan/mdspan/at.html&#34;&gt;at()&lt;/a&gt;&lt;/code&gt;メンバ関数を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/span.html&#34;&gt;&amp;lt;span&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_span_initializer_list&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202311L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/span/span.html&#34;&gt;std::span&lt;/a&gt;&lt;/code&gt;に&lt;code&gt;&lt;a href=&#34;../../reference/initializer_list/initializer_list.html&#34;&gt;std::initializer_list&lt;/a&gt;&lt;/code&gt;をとるコンストラクタを追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/span.html&#34;&gt;&amp;lt;span&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_sstream_from_string_view&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/sstream/basic_stringstream.html&#34;&gt;std::basic_stringstream&lt;/a&gt;&lt;/code&gt;などが&lt;code&gt;&lt;a href=&#34;../../reference/string_view/basic_string_view.html&#34;&gt;std::basic_string_view&lt;/a&gt;&lt;/code&gt;から構築可能に&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/sstream.html&#34;&gt;&amp;lt;sstream&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_string_subview&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/string/basic_string.html&#34;&gt;std::basic_string&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../../reference/string_view/basic_string_view.html&#34;&gt;std::basic_string_view&lt;/a&gt;&lt;/code&gt;に&lt;code&gt;subview()&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/string.html&#34;&gt;&amp;lt;string&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/string_view.html&#34;&gt;&amp;lt;string_view&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_string_view&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202403L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/string/basic_string.html&#34;&gt;std::basic_string&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../../reference/string_view/basic_string_view.html&#34;&gt;std::basic_string_view&lt;/a&gt;&lt;/code&gt;を連結させる&lt;code&gt;operator+&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/string.html&#34;&gt;&amp;lt;string&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/string_view.html&#34;&gt;&amp;lt;string_view&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_submdspan&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202411L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/mdspan/mdspan.html&#34;&gt;std::mdspan&lt;/a&gt;&lt;/code&gt;から部分ビューを取り出す&lt;code&gt;&lt;a href=&#34;../../reference/mdspan/submdspan.html&#34;&gt;std::submdspan()&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/mdspan.html&#34;&gt;&amp;lt;mdspan&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_task&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/execution.html&#34;&gt;&amp;lt;execution&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_text_encoding&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;文字列エンコーディングを識別するライブラリ&lt;code&gt;&lt;a href=&#34;../../reference/text_encoding.html&#34;&gt;&amp;lt;text_encoding&amp;gt;&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/text_encoding.html&#34;&gt;&amp;lt;text_encoding&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_to_chars&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/charconv/to_chars_result.html&#34;&gt;std::to_chars_result&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../../reference/charconv/from_chars_result.html&#34;&gt;std::from_chars_result&lt;/a&gt;&lt;/code&gt;に&lt;code&gt;operator bool&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/charconv.html&#34;&gt;&amp;lt;charconv&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_to_string&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/string/to_string.html&#34;&gt;std::to_string&lt;/a&gt;&lt;/code&gt;の変換結果を&lt;code&gt;sprintf()&lt;/code&gt;ベースから&lt;code&gt;std::format()&lt;/code&gt;ベースに変更&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/string.html&#34;&gt;&amp;lt;string&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_trivially_relocatable&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;トリビアルな再配置&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/memory.html&#34;&gt;&amp;lt;memory&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/type_traits.html&#34;&gt;&amp;lt;type_traits&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_tuple_like&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202311L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/complex/complex.html&#34;&gt;std::complex&lt;/a&gt;&lt;/code&gt;にタプルインタフェースの特殊化を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/utility.html&#34;&gt;&amp;lt;utility&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/tuple.html&#34;&gt;&amp;lt;tuple&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/map.html&#34;&gt;&amp;lt;map&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/unordered_map.html&#34;&gt;&amp;lt;unordered_map&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_type_order&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/compare/type_order.html&#34;&gt;std::type_order&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/compare.html&#34;&gt;&amp;lt;compare&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_variant&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/variant/variant.html&#34;&gt;std::variant&lt;/a&gt;&lt;/code&gt;クラスに、メンバ関数版の&lt;code&gt;&lt;a href=&#34;../../reference/variant/variant/visit.html&#34;&gt;visit()&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/variant.html&#34;&gt;&amp;lt;variant&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;実装依存のマクロ。&lt;/p&gt;
&lt;table border=&#34;1&#34; bordercolor=&#34;#888&#34; style=&#34;border-collapse:collapse&#34;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;マクロ名&lt;/th&gt;
&lt;th&gt;値&lt;/th&gt;
&lt;th&gt;機能&lt;/th&gt;
&lt;th&gt;ヘッダ&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_hardened_array&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/array.html&#34;&gt;&amp;lt;array&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_hardened_basic_stacktrace&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/stacktrace.html&#34;&gt;&amp;lt;stacktrace&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_hardened_basic_string&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/string.html&#34;&gt;&amp;lt;string&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_hardened_basic_string_view&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/string_view.html&#34;&gt;&amp;lt;string_view&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_hardened_bitset&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/bitset.html&#34;&gt;&amp;lt;bitset&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_hardened_common_iterator&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/iterator.html&#34;&gt;&amp;lt;iterator&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_hardened_counted_iterator&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/iterator.html&#34;&gt;&amp;lt;iterator&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_hardened_deque&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/deque.html&#34;&gt;&amp;lt;deque&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_hardened_expected&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/expected.html&#34;&gt;&amp;lt;expected&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_hardened_forward_list&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/forward_list.html&#34;&gt;&amp;lt;forward_list&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_hardened_inplace_vector&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/inplace_vector.html&#34;&gt;&amp;lt;inplace_vector&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_hardened_list&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/list.html&#34;&gt;&amp;lt;list&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_hardened_mdspan&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/mdspan.html&#34;&gt;&amp;lt;mdspan&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_hardened_optional&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/optional.html&#34;&gt;&amp;lt;optional&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_hardened_shared_ptr_array&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/memory.html&#34;&gt;&amp;lt;memory&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_hardened_span&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/span.html&#34;&gt;&amp;lt;span&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_hardened_valarray&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/valarray.html&#34;&gt;&amp;lt;valarray&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_hardened_vector&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/vector.html&#34;&gt;&amp;lt;vector&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_hardened_view_interface&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/ranges.html&#34;&gt;&amp;lt;ranges&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;参照&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://isocpp.org/std/standing-documents/sd-6-sg10-feature-test-recommendations&#34; target=&#34;_blank&#34;&gt;SD-FeatureTest: Feature-Test Macros and Policies - isocpp&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</content>
      
      <author>
        <name>Akira Takahashi</name>
        <email>faithandbrave@gmail.com</email>
      </author>
    </entry>
  
    <entry>
      <title>memory -- Merge pull request #1661 from cpprefjp/indirect_polymorphic</title>
      <link href="https://cpprefjp.github.io/reference/memory.html"/>
      <id>83e1e23ae95fd3b652908152cf8de66cbcf5f65d:reference/memory.md</id>
      <updated>2026-06-24T10:24:58+09:00</updated>
      
        <content type="html">&lt;div class=&#34;header&#34;&gt;&amp;lt;memory&amp;gt;&lt;/div&gt;&lt;h1 itemprop=&#34;name&#34;&gt;&lt;span class=&#34;token&#34;&gt;memory&lt;/span&gt;&lt;/h1&gt;
&lt;div itemprop=&#34;articleBody&#34;&gt;&lt;p&gt;&lt;code&gt;&amp;lt;memory&amp;gt;&lt;/code&gt;ヘッダでは、メモリアロケータ、未初期化領域に関する関数群、スマートポインタ、アライメントに関するユーティリティ関数といった、メモリを扱うための機能を定義する。&lt;/p&gt;
&lt;p&gt;このヘッダでは、以下の標準ヘッダをインクルードする：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;compare.html&#34;&gt;&amp;lt;compare&amp;gt;&lt;/a&gt;&lt;/code&gt; (C++20)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;メモリアロケータ&lt;/h2&gt;
&lt;table border=&#34;1&#34; bordercolor=&#34;#888&#34; style=&#34;border-collapse:collapse&#34;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;名前&lt;/th&gt;
&lt;th&gt;説明&lt;/th&gt;
&lt;th&gt;対応バージョン&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/allocator.html&#34;&gt;allocator&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;メモリアロケータの標準実装(class template)&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/allocator_traits.html&#34;&gt;allocator_traits&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;アロケータクラスへの間接的なアクセス(class template)&lt;/td&gt;
&lt;td&gt;C++11&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/allocation_result.html&#34;&gt;allocation_result&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/allocator/allocate_at_least.html&#34;&gt;allocate_at_least()&lt;/a&gt;&lt;/code&gt;関数の戻り値型&lt;/td&gt;
&lt;td&gt;C++23&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/allocator_arg_t.html&#34;&gt;allocator_arg_t&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;アロケータを引数として渡す際の、オーバーロード解決のためのタグ(class)&lt;/td&gt;
&lt;td&gt;C++11&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/allocator_arg_t.html&#34;&gt;allocator_arg&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;アロケータを引数として渡す際の、オーバーロード解決のためのタグ(constant value)&lt;/td&gt;
&lt;td&gt;C++11&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/uses_allocator.html&#34;&gt;uses_allocator&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;型&lt;code&gt;T&lt;/code&gt;がアロケータを使用するか調べる&lt;/td&gt;
&lt;td&gt;C++11&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/uses_allocator_construction_args.html&#34;&gt;uses_allocator_construction_args&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;uses-allocator 構築のためのコンストラクタ引数を &lt;code&gt;&lt;a href=&#34;tuple/tuple.html&#34;&gt;tuple&lt;/a&gt;&lt;/code&gt; 型にして返す&lt;/td&gt;
&lt;td&gt;C++20&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/make_obj_using_allocator.html&#34;&gt;make_obj_using_allocator&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;uses-allocator 構築する&lt;/td&gt;
&lt;td&gt;C++20&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/uninitialized_construct_using_allocator.html&#34;&gt;uninitialized_construct_using_allocator&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;指定された領域に uses-allocator 構築する&lt;/td&gt;
&lt;td&gt;C++20&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;メモリ特化のコンセプト&lt;/h2&gt;
&lt;table border=&#34;1&#34; bordercolor=&#34;#888&#34; style=&#34;border-collapse:collapse&#34;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;名前&lt;/th&gt;
&lt;th&gt;説明&lt;/th&gt;
&lt;th&gt;対応バージョン&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/no-throw-input-iterator.html&#34;&gt;no-throw-input-iterator&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;各操作で例外送出をしない説明用の入力イテレータ (concept)&lt;/td&gt;
&lt;td&gt;C++20&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/no-throw-forward-iterator.html&#34;&gt;no-throw-forward-iterator&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;各操作で例外送出をしない説明用の前方向イテレータ (concept)&lt;/td&gt;
&lt;td&gt;C++20&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/no-throw-sentinel.html&#34;&gt;no-throw-sentinel&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;各操作で例外送出をしない説明用の番兵 (concept)&lt;/td&gt;
&lt;td&gt;C++20&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/no-throw-input-range.html&#34;&gt;no-throw-input-range&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;各操作で例外送出をしない入力Range (concept)&lt;/td&gt;
&lt;td&gt;C++20&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/no-throw-forward-range.html&#34;&gt;no-throw-forward-range&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;各操作で例外送出をしない前方向Range (concept)&lt;/td&gt;
&lt;td&gt;C++20&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;未初期化領域に対する操作&lt;/h2&gt;
&lt;table border=&#34;1&#34; bordercolor=&#34;#888&#34; style=&#34;border-collapse:collapse&#34;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;名前&lt;/th&gt;
&lt;th&gt;説明&lt;/th&gt;
&lt;th&gt;対応バージョン&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/uninitialized_default_construct.html&#34;&gt;uninitialized_default_construct&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;未初期化領域の範囲の各要素をデフォルト構築する(function template)&lt;/td&gt;
&lt;td&gt;C++17&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/uninitialized_default_construct_n.html&#34;&gt;uninitialized_default_construct_n&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;未初期化領域の範囲のうち、先頭&lt;code&gt;N&lt;/code&gt;個の要素をデフォルト構築する(function template)&lt;/td&gt;
&lt;td&gt;C++17&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/uninitialized_value_construct.html&#34;&gt;uninitialized_value_construct&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;未初期化領域の範囲の各要素配置を値構築する(function template)&lt;/td&gt;
&lt;td&gt;C++17&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/uninitialized_value_construct_n.html&#34;&gt;uninitialized_value_construct_n&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;未初期化領域の範囲のうち、先頭&lt;code&gt;N&lt;/code&gt;個の要素を値構築する(function template)&lt;/td&gt;
&lt;td&gt;C++17&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/uninitialized_copy.html&#34;&gt;uninitialized_copy&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;未初期化領域の範囲を配置&lt;code&gt;new&lt;/code&gt;で初期化してコピー出力する(function template)&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/uninitialized_copy_n.html&#34;&gt;uninitialized_copy_n&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;未初期化領域の範囲のうち、先頭&lt;code&gt;N&lt;/code&gt;個の要素を配置&lt;code&gt;new&lt;/code&gt;で初期化してコピー出力する(function template)&lt;/td&gt;
&lt;td&gt;C++11&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/uninitialized_move.html&#34;&gt;uninitialized_move&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;未初期化領域の範囲を配置&lt;code&gt;new&lt;/code&gt;で初期化してムーブ出力する(function template)&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/uninitialized_move_n.html&#34;&gt;uninitialized_move_n&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;未初期化領域の範囲のうち、先頭&lt;code&gt;N&lt;/code&gt;個の要素を配置&lt;code&gt;new&lt;/code&gt;で初期化してムーブ出力する(function template)&lt;/td&gt;
&lt;td&gt;C++11&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/uninitialized_fill.html&#34;&gt;uninitialized_fill&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;未初期化領域の範囲を、指定された値で配置&lt;code&gt;new&lt;/code&gt;する(function template)&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/uninitialized_fill_n.html&#34;&gt;uninitialized_fill_n&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;未初期化領域の範囲のうち、先頭&lt;code&gt;N&lt;/code&gt;個の要素を指定された値で配置&lt;code&gt;new&lt;/code&gt;する(function template)&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/construct_at.html&#34;&gt;construct_at&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;コンストラクタを呼び出す(function template)&lt;/td&gt;
&lt;td&gt;C++20&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/destroy_at.html&#34;&gt;destroy_at&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;デストラクタを呼び出す(function template)&lt;/td&gt;
&lt;td&gt;C++17&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/destroy.html&#34;&gt;destroy&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;範囲の各要素に対してデストラクタを呼び出す(function template)&lt;/td&gt;
&lt;td&gt;C++17&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/destroy_n.html&#34;&gt;destroy_n&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;範囲のうち、先頭&lt;code&gt;N&lt;/code&gt;個の要素に対してデストラクタを呼び出す(function template)&lt;/td&gt;
&lt;td&gt;C++17&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/ranges_uninitialized_default_construct.html&#34;&gt;ranges::uninitialized_default_construct&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;未初期化領域の範囲の各要素をデフォルト構築する(function template)&lt;/td&gt;
&lt;td&gt;C++20&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/ranges_uninitialized_default_construct_n.html&#34;&gt;ranges::uninitialized_default_construct_n&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;未初期化領域の範囲のうち、先頭&lt;code&gt;N&lt;/code&gt;個の要素をデフォルト構築する(function template)&lt;/td&gt;
&lt;td&gt;C++20&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/ranges_uninitialized_value_construct.html&#34;&gt;ranges::uninitialized_value_construct&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;未初期化領域の範囲の各要素配置を値構築する(function template)&lt;/td&gt;
&lt;td&gt;C++20&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/ranges_uninitialized_value_construct_n.html&#34;&gt;ranges::uninitialized_value_construct_n&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;未初期化領域の範囲のうち、先頭&lt;code&gt;N&lt;/code&gt;個の要素を値構築する(function template)&lt;/td&gt;
&lt;td&gt;C++20&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/ranges_uninitialized_copy.html&#34;&gt;ranges::uninitialized_copy&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;未初期化領域の範囲を配置&lt;code&gt;new&lt;/code&gt;で初期化してコピー出力する(function template)&lt;/td&gt;
&lt;td&gt;C++20&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/ranges_uninitialized_copy_n.html&#34;&gt;ranges::uninitialized_copy_n&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;未初期化領域の範囲のうち、先頭&lt;code&gt;N&lt;/code&gt;個の要素を配置&lt;code&gt;new&lt;/code&gt;で初期化してコピー出力する(function template)&lt;/td&gt;
&lt;td&gt;C++20&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/ranges_uninitialized_move.html&#34;&gt;ranges::uninitialized_move&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;未初期化領域の範囲を配置&lt;code&gt;new&lt;/code&gt;で初期化してムーブ出力する(function template)&lt;/td&gt;
&lt;td&gt;C++20&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/ranges_uninitialized_move_n.html&#34;&gt;ranges::uninitialized_move_n&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;未初期化領域の範囲のうち、先頭&lt;code&gt;N&lt;/code&gt;個の要素を配置&lt;code&gt;new&lt;/code&gt;で初期化してムーブ出力する(function template)&lt;/td&gt;
&lt;td&gt;C++20&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/ranges_uninitialized_fill.html&#34;&gt;ranges::uninitialized_fill&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;未初期化領域の範囲を、指定された値で配置&lt;code&gt;new&lt;/code&gt;する(function template)&lt;/td&gt;
&lt;td&gt;C++20&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/ranges_uninitialized_fill_n.html&#34;&gt;ranges::uninitialized_fill_n&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;未初期化領域の範囲のうち、先頭&lt;code&gt;N&lt;/code&gt;個の要素を指定された値で配置&lt;code&gt;new&lt;/code&gt;する(function template)&lt;/td&gt;
&lt;td&gt;C++20&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/ranges_construct_at.html&#34;&gt;ranges::construct_at&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;コンストラクタを呼び出す(function template)&lt;/td&gt;
&lt;td&gt;C++20&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/ranges_destroy_at.html&#34;&gt;ranges::destroy_at&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;デストラクタを呼び出す(function template)&lt;/td&gt;
&lt;td&gt;C++20&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/ranges_destroy.html&#34;&gt;ranges::destroy&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;範囲の各要素に対してデストラクタを呼び出す(function template)&lt;/td&gt;
&lt;td&gt;C++20&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/ranges_destroy_n.html&#34;&gt;ranges::destroy_n&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;範囲のうち、先頭&lt;code&gt;N&lt;/code&gt;個の要素に対してデストラクタを呼び出す(function template)&lt;/td&gt;
&lt;td&gt;C++20&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/raw_storage_iterator.html&#34;&gt;raw_storage_iterator&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;未初期化領域に書き込むための出力イテレータ(class template)&lt;/td&gt;
&lt;td&gt;C++17から非推奨&lt;br /&gt; C++20で削除&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/get_temporary_buffer.html&#34;&gt;get_temporary_buffer&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;短期的なメモリ領域を確保する(function template)&lt;/td&gt;
&lt;td&gt;C++17から非推奨&lt;br /&gt; C++20で削除&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/return_temporary_buffer.html&#34;&gt;return_temporary_buffer&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;get_temporary_buffer()&lt;/code&gt;で確保された領域を解放する(function)&lt;/td&gt;
&lt;td&gt;C++17から非推奨&lt;br /&gt; C++20で削除&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;スマートポインタ&lt;/h2&gt;
&lt;table border=&#34;1&#34; bordercolor=&#34;#888&#34; style=&#34;border-collapse:collapse&#34;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;名前&lt;/th&gt;
&lt;th&gt;説明&lt;/th&gt;
&lt;th&gt;対応バージョン&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/shared_ptr.html&#34;&gt;shared_ptr&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;共有方式スマートポインタ(class template)&lt;/td&gt;
&lt;td&gt;C++11&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/make_shared.html&#34;&gt;make_shared&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;shared_ptr&lt;/code&gt;を構築するヘルパ関数(function template)&lt;/td&gt;
&lt;td&gt;C++11&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/make_shared_for_overwrite.html&#34;&gt;make_shared_for_overwrite&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;shared_ptr&lt;/code&gt;を構築するヘルパ関数(function template)&lt;/td&gt;
&lt;td&gt;C++20&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/allocate_shared.html&#34;&gt;allocate_shared&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;アロケータを指定して&lt;code&gt;shared_ptr&lt;/code&gt;を構築するヘルパ関数(function template)&lt;/td&gt;
&lt;td&gt;C++11&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/allocate_shared_for_overwrite.html&#34;&gt;allocate_shared_for_overwrite&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;アロケータを指定して&lt;code&gt;shared_ptr&lt;/code&gt;を構築するヘルパ関数(function template)&lt;/td&gt;
&lt;td&gt;C++20&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/enable_shared_from_this.html&#34;&gt;enable_shared_from_this&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;this&lt;/code&gt;を指す&lt;code&gt;shared_ptr&lt;/code&gt;を可能にする(class template)&lt;/td&gt;
&lt;td&gt;C++11&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/weak_ptr.html&#34;&gt;weak_ptr&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;shared_ptr&lt;/code&gt;のインスタンス監視(class template)&lt;/td&gt;
&lt;td&gt;C++11&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/bad_weak_ptr.html&#34;&gt;bad_weak_ptr&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;weak_ptr&lt;/code&gt;から投げられる例外クラス(class template)&lt;/td&gt;
&lt;td&gt;C++11&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/owner_less.html&#34;&gt;owner_less&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;所有権ベースの小なり比較(class template)&lt;/td&gt;
&lt;td&gt;C++11&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/unique_ptr.html&#34;&gt;unique_ptr&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;専有方式スマートポインタ(class template)&lt;/td&gt;
&lt;td&gt;C++11&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/make_unique.html&#34;&gt;make_unique&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;unique_ptr&lt;/code&gt;を構築するヘルパ関数(function template)&lt;/td&gt;
&lt;td&gt;C++14&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/make_unique_for_overwrite.html&#34;&gt;make_unique_for_overwrite&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;unique_ptr&lt;/code&gt;を構築するヘルパ関数(function template)&lt;/td&gt;
&lt;td&gt;C++20&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/default_delete.html&#34;&gt;default_delete&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;unique_ptr&lt;/code&gt;のデフォルトの削除子(class template)&lt;/td&gt;
&lt;td&gt;C++11&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;auto_ptr&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;古い専有方式スマートポインタ(class template)&lt;/td&gt;
&lt;td&gt;C++11から非推奨&lt;br /&gt; C++17で削除&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;スマートポインタアダプタ&lt;/h2&gt;
&lt;table border=&#34;1&#34; bordercolor=&#34;#888&#34; style=&#34;border-collapse:collapse&#34;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;名前&lt;/th&gt;
&lt;th&gt;説明&lt;/th&gt;
&lt;th&gt;対応バージョン&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/out_ptr_t.html&#34;&gt;out_ptr_t&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;スマートポインタへの出力サポート(class template)&lt;/td&gt;
&lt;td&gt;C++23&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/out_ptr.html&#34;&gt;out_ptr&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;スマートポインタへの出力サポートヘルパ関数(function template)&lt;/td&gt;
&lt;td&gt;C++23&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/inout_ptr_t.html&#34;&gt;inout_ptr_t&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;スマートポインタへの入出力サポート(class template)&lt;/td&gt;
&lt;td&gt;C++23&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/inout_ptr.html&#34;&gt;inout_ptr&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;スマートポインタへの入出力サポートヘルパ関数(function template)&lt;/td&gt;
&lt;td&gt;C++23&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;値の意味論をもつ間接ストレージ&lt;/h2&gt;
&lt;table border=&#34;1&#34; bordercolor=&#34;#888&#34; style=&#34;border-collapse:collapse&#34;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;名前&lt;/th&gt;
&lt;th&gt;説明&lt;/th&gt;
&lt;th&gt;対応バージョン&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/indirect.html&#34;&gt;indirect&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;動的確保したオブジェクトに値の意味論をもたせるクラス(class template)&lt;/td&gt;
&lt;td&gt;C++26&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/polymorphic.html&#34;&gt;polymorphic&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;動的確保したオブジェクトに値の意味論をもたせ、派生型を多態的に保持するクラス(class template)&lt;/td&gt;
&lt;td&gt;C++26&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;スマートポインタのアトミック操作&lt;/h2&gt;
&lt;table border=&#34;1&#34; bordercolor=&#34;#888&#34; style=&#34;border-collapse:collapse&#34;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;名前&lt;/th&gt;
&lt;th&gt;説明&lt;/th&gt;
&lt;th&gt;対応バージョン&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;template&amp;lt;class T&amp;gt; struct atomic&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;atomic&lt;/code&gt;クラスの先行宣言 (class template)&lt;/td&gt;
&lt;td&gt;C++20&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/atomic.html&#34;&gt;template&amp;lt;class T&amp;gt; struct atomic&amp;lt;shared_ptr&amp;lt;T&amp;gt;&amp;gt;;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;atomic&lt;/code&gt;クラスの&lt;code&gt;shared_ptr&lt;/code&gt;に対する特殊化 (class template)&lt;/td&gt;
&lt;td&gt;C++20&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/atomic.html&#34;&gt;template&amp;lt;class T&amp;gt; struct atomic&amp;lt;weak_ptr&amp;lt;T&amp;gt;&amp;gt;;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;atomic&lt;/code&gt;クラスの&lt;code&gt;weak_ptr&lt;/code&gt;に対する特殊化 (class template)&lt;/td&gt;
&lt;td&gt;C++20&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;atomic_is_lock_free&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;shared_ptr&lt;/code&gt;に対するアトミック操作がロックフリーに振る舞うことができるかを調べる (function template)&lt;/td&gt;
&lt;td&gt;C++11&lt;br /&gt; C++20で非推奨&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;atomic_load&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;shared_ptr&lt;/code&gt;の値をアトミックに読み込む (function template)&lt;/td&gt;
&lt;td&gt;C++11&lt;br /&gt; C++20で非推奨&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;atomic_load_explicit&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;メモリオーダーを指定して、&lt;code&gt;shared_ptr&lt;/code&gt;の値をアトミックに読み込む (function template)&lt;/td&gt;
&lt;td&gt;C++11&lt;br /&gt; C++20で非推奨&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;atomic_store&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;shared_ptr&lt;/code&gt;値をアトミックに書き込む (function template)&lt;/td&gt;
&lt;td&gt;C++11&lt;br /&gt; C++20で非推奨&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;atomic_store_explicit&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;メモリオーダーを指定して、&lt;code&gt;shared_ptr&lt;/code&gt;の値をアトミックに書き込む (function template)&lt;/td&gt;
&lt;td&gt;C++11&lt;br /&gt; C++20で非推奨&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;atomic_exchange&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;shared_ptr&lt;/code&gt;の値をアトミックに入れ替える (function template)&lt;/td&gt;
&lt;td&gt;C++11&lt;br /&gt; C++20で非推奨&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;atomic_exchange_explicit&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;メモリオーダーを指定して、&lt;code&gt;shared_ptr&lt;/code&gt;の値をアトミックに入れ替える (function template)&lt;/td&gt;
&lt;td&gt;C++11&lt;br /&gt; C++20で非推奨&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;atomic_compare_exchange_weak&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;弱い比較で&lt;code&gt;shared_ptr&lt;/code&gt;の値の入れ替えをアトミックに行う (function template)&lt;/td&gt;
&lt;td&gt;C++11&lt;br /&gt; C++20で非推奨&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;atomic_compare_exchange_strong&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;強い比較で&lt;code&gt;shared_ptr&lt;/code&gt;の値の入れ替えをアトミックに行う (function template)&lt;/td&gt;
&lt;td&gt;C++11&lt;br /&gt; C++20で非推奨&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;atomic_compare_exchange_weak_explicit&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;弱い比較でメモリオーダーを指定して、&lt;code&gt;shared_ptr&lt;/code&gt;の値の入れ替えをアトミックに行う (function template)&lt;/td&gt;
&lt;td&gt;C++11&lt;br /&gt; C++20で非推奨&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;atomic_compare_exchange_strong_explicit&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;強い比較でメモリオーダーを指定して、&lt;code&gt;shared_ptr&lt;/code&gt;の値の入れ替えをアトミックに行う (function template)&lt;/td&gt;
&lt;td&gt;C++11&lt;br /&gt; C++20で非推奨&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;ポインタのユーティリティ&lt;/h2&gt;
&lt;table border=&#34;1&#34; bordercolor=&#34;#888&#34; style=&#34;border-collapse:collapse&#34;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;名前&lt;/th&gt;
&lt;th&gt;説明&lt;/th&gt;
&lt;th&gt;対応バージョン&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/pointer_traits.html&#34;&gt;pointer_traits&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;ポインタの型特性(class template)&lt;/td&gt;
&lt;td&gt;C++11&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/to_address.html&#34;&gt;to_address&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;ポインタと見なせるオブジェクトからアドレスを取得する (function template)&lt;/td&gt;
&lt;td&gt;C++20&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/addressof.html&#34;&gt;addressof&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;変数のアドレスを必ず取得する(function template)&lt;/td&gt;
&lt;td&gt;C++11&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/align.html&#34;&gt;align&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;アライメント調整された領域を得る(function)&lt;/td&gt;
&lt;td&gt;C++11&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/assume_aligned.html&#34;&gt;assume_aligned&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;コンパイラへアライメントのヒントを与える(function template)&lt;/td&gt;
&lt;td&gt;C++20&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/is_sufficiently_aligned.html&#34;&gt;is_sufficiently_aligned&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;ポインタのアライメントを判定する(function template)&lt;/td&gt;
&lt;td&gt;C++26&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/start_lifetime_as.html&#34;&gt;start_lifetime_as&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;オブジェクトの生存期間を開始することを明示する(function template)&lt;/td&gt;
&lt;td&gt;C++23&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/start_lifetime_as_array.html&#34;&gt;start_lifetime_as_array&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;配列オブジェクトの生存期間を開始することを明示する(function template)&lt;/td&gt;
&lt;td&gt;C++23&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;ガベージコレクション支援（C++23で削除）&lt;/h2&gt;
&lt;table border=&#34;1&#34; bordercolor=&#34;#888&#34; style=&#34;border-collapse:collapse&#34;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;名前&lt;/th&gt;
&lt;th&gt;説明&lt;/th&gt;
&lt;th&gt;対応バージョン&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/pointer_safety.html&#34;&gt;pointer_safety&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;ポインタ安全性について実装/挙動を示す列挙型(enum class)&lt;/td&gt;
&lt;td&gt;C++11&lt;br /&gt;C++23で削除&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/get_pointer_safety.html&#34;&gt;get_pointer_safety&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;処理系の、ポインタ安全性についての実装/挙動を取得する(function)&lt;/td&gt;
&lt;td&gt;C++11&lt;br /&gt;C++23で削除&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/declare_reachable.html&#34;&gt;declare_reachable&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;ポインタが到達可能であることを宣言する(function)&lt;/td&gt;
&lt;td&gt;C++11&lt;br /&gt;C++23で削除&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/undeclare_reachable.html&#34;&gt;undeclare_reachable&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;ポインタが到達可能であるという宣言を削除する(function template)&lt;/td&gt;
&lt;td&gt;C++11&lt;br /&gt;C++23で削除&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/declare_no_pointers.html&#34;&gt;declare_no_pointers&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;指定された範囲のポインタが、追跡可能ではないことを宣言する(function)&lt;/td&gt;
&lt;td&gt;C++11&lt;br /&gt;C++23で削除&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/undeclare_no_pointers.html&#34;&gt;undeclare_no_pointers&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;declare_no_pointers&lt;/code&gt;で宣言された範囲を無効化する(function)&lt;/td&gt;
&lt;td&gt;C++11&lt;br /&gt;C++23で削除&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;参照&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4190.htm&#34; target=&#34;_blank&#34;&gt;N4190 Removing &lt;code&gt;auto_ptr&lt;/code&gt;, &lt;code&gt;random_shuffle()&lt;/code&gt;, And Old &lt;code&gt;&amp;lt;functional&amp;gt;&lt;/code&gt; Stuff&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0718r2.html&#34; target=&#34;_blank&#34;&gt;P0718R2 Revising &lt;code&gt;atomic_shared_ptr&lt;/code&gt; for C++20&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p2051r0.html&#34; target=&#34;_blank&#34;&gt;P2051R0 C++ Standard Library Issues to be moved in Prague&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2186r2.html&#34; target=&#34;_blank&#34;&gt;P2186R2 Removing Garbage Collection Support&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p1132r8.html&#34; target=&#34;_blank&#34;&gt;P1132R8 out_ptr - a scalable output pointer abstraction&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</content>
      
      <author>
        <name>Akira Takahashi</name>
        <email>faithandbrave@gmail.com</email>
      </author>
    </entry>
  
    <entry>
      <title>indirect -- Merge pull request #1661 from cpprefjp/indirect_polymorphic</title>
      <link href="https://cpprefjp.github.io/reference/memory/indirect.html"/>
      <id>83e1e23ae95fd3b652908152cf8de66cbcf5f65d:reference/memory/indirect.md</id>
      <updated>2026-06-24T10:24:58+09:00</updated>
      
        <summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/memory/indirect.md b/reference/memory/indirect.md
new file mode 100644
index 000000000..50bd4fd58
--- /dev/null
+++ b/reference/memory/indirect.md
@@ -0,0 +1,165 @@
+# indirect
+* memory[meta header]
+* std[meta namespace]
+* class template[meta id-type]
+* cpp26[meta cpp]
+
+```cpp
+namespace std {
+  template &amp;lt;class T, class Allocator = allocator&amp;lt;T&amp;gt;&amp;gt;
+  class indirect;
+
+  namespace pmr {
+    template &amp;lt;class T&amp;gt;
+    using indirect = std::indirect&amp;lt;T, polymorphic_allocator&amp;lt;T&amp;gt;&amp;gt;;
+  }
+}
+```
+* allocator[link allocator.md]
+* polymorphic_allocator[link /reference/memory_resource/polymorphic_allocator.md]
+
+## 概要
+`std::indirect`クラスは、動的確保したオブジェクトに値の意味論をもたせる型である。
+
+ポインタやスマートポインタは参照の意味論をもつため、クラスのメンバとして使うとコピーや`const`の伝播が正しく行われず、クラスの特殊メンバ関数を正しく生成できないことがある。
+
+`std::indirect`クラスは所有するオブジェクトを動的確保しつつ、以下のように値型として振る舞う：
+
+- ディープコピー: `std::indirect`オブジェクトをコピーすると、所有するオブジェクト`T`がそのコピーコンストラクタによって複製される
+- `const`の伝播: `const`なアクセス経路から所有オブジェクトにアクセスすると、所有オブジェクトにも`const`が伝播する（`operator*`/`operator-&amp;gt;`に`const`版と非`const`版がある）
+- 不完全型のサポート: テンプレートパラメータ`T`は不完全型でもよい。これにより、再帰的なデータ構造を表現できる
+
+これらの性質によって、`std::indirect`クラスのオブジェクトはクラスのメンバとして保持するのに適しており、コンパイラによる特殊メンバ関数の自動生成と協調して動作する。
+
+所有オブジェクトを持たない状態を「無効値状態 (valueless state)」と呼ぶ。`std::indirect`オブジェクトが無効値状態になるのは、ムーブ後に空となった場合のみである。無効値状態のオブジェクトに対する`operator*`や`operator-&amp;gt;`の呼び出しは未定義動作を引き起こす。無効値状態かどうかは[`valueless_after_move()`](indirect/valueless_after_move.md)メンバ関数で判定できる。
+
+派生型のオブジェクトを多態的に保持したい場合は、[`std::polymorphic`](polymorphic.md)クラスを使用する。
+
+
+## テンプレートパラメータ制約
+- `Allocator`はCpp17Allocator要件を満たすこと
+- [`std::allocator_traits`](/reference/memory/allocator_traits.md)`&amp;lt;Allocator&amp;gt;::value_type`が`T`と同じ型であること
+
+
+## 適格要件
+- 以下のいずれかの場合に、プログラムは不適格となる
+    - `T`がオブジェクト型でない
+    - 配列型である
+    - (CV修飾された) [`std::in_place_t`](/reference/utility/in_place_t.md)である
+    - (CV修飾された) [`std::in_place_type_t`](/reference/utility/in_place_type_t.md)の特殊化である
+- `std::indirect`の明示的特殊化・部分特殊化をユーザーが宣言した場合、動作は未定義である
+
+
+## メンバ関数
+### 構築・破棄
+
+| 名前 | 説明 | 対応バージョン |
+|------|------|----------------|
+| [`(constructor)`](indirect/op_constructor.md) | コンストラクタ | C++26 |
+| [`(destructor)`](indirect/op_destructor.md) | デストラクタ | C++26 |
+| [`operator=`](indirect/op_assign.md) | 代入演算子 | C++26 |
+
+### 値へのアクセス
+
+| 名前 | 説明 | 対応バージョン |
+|------|------|----------------|
+| [`operator*`](indirect/op_deref.md) | 所有するオブジェクトへの参照を取得する | C++26 |
+| [`operator-&amp;gt;`](indirect/op_arrow.md) | 所有するオブジェクトのメンバへアクセスする | C++26 |
+| [`valueless_after_move`](indirect/valueless_after_move.md) | 無効値状態かどうかを判定する | C++26 |
+
+### その他
+
+| 名前 | 説明 | 対応バージョン |
+|------|------|----------------|
+| [`get_allocator`](indirect/get_allocator.md) | アロケータを取得する | C++26 |
+| [`swap`](indirect/swap.md) | 他の`indirect`オブジェクトと値を交換する | C++26 |
+
+
+## メンバ型
+
+| 名前 | 定義 | 対応バージョン |
+|------|------|----------------|
+| `value_type` | `T` | C++26 |
+| `allocator_type` | `Allocator` | C++26 |
+| `pointer` | [`allocator_traits`](/reference/memory/allocator_traits.md)`&amp;lt;Allocator&amp;gt;::pointer` | C++26 |
+| `const_pointer` | [`allocator_traits`](/reference/memory/allocator_traits.md)`&amp;lt;Allocator&amp;gt;::const_pointer` | C++26 |
+
+
+## 非メンバ（*Hidden friends*）関数
+
+| 名前 | 説明 | 対応バージョン |
+|------|------|----------------|
+| [`swap`](indirect/swap_free.md) | 2つの`indirect`オブジェクトを交換する | C++26 |
+
+### 比較演算子
+
+| 名前 | 説明 | 対応バージョン |
+|------|------|----------------|
+| [`operator==`](indirect/op_equal.md) | 等値比較を行う | C++26 |
+| [`operator&amp;lt;=&amp;gt;`](indirect/op_compare_3way.md) | 三方比較を行う | C++26 |
+
+`operator==`から`operator!=`が、`operator&amp;lt;=&amp;gt;`から`operator&amp;lt;` / `operator&amp;lt;=` / `operator&amp;gt;` / `operator&amp;gt;=`が導出される。
+
+
+## 推論補助
+
+| 名前 | 説明 | 対応バージョン |
+|------|------|----------------|
+| [`(deduction_guide)`](indirect/op_deduction_guide.md) | クラステンプレートの推論補助 | C++26 |
+
+
+## ハッシュサポート
+
+| 名前 | 説明 | 対応バージョン |
+|------|------|----------------|
+| [`hash`](indirect/hash.md) | `hash`クラスの特殊化 | C++26 |
+
+
+## 例
+```cpp example
+#include &amp;lt;cassert&amp;gt;
+#include &amp;lt;memory&amp;gt;
+
+int main()
+{
+  // 動的確保したintを、値の意味論で保持する
+  std::indirect&amp;lt;int&amp;gt; a{42};
+  assert(*a == 42);
+
+  // コピーは所有オブジェクトのディープコピー
+  std::indirect&amp;lt;int&amp;gt; b = a;
+  *b = 10;
+  assert(*a == 42); // aは影響を受けない
+  assert(*b == 10);
+
+  // 比較は所有オブジェクトの比較に転送される
+  assert(a == std::indirect&amp;lt;int&amp;gt;{42});
+  assert(b &amp;lt; a);
+}
+```
+* std::indirect[color ff0000]
+
+### 出力
+```
+```
+
+
+## バージョン
+### 言語
+- C++26
+
+### 処理系
+- [Clang](/implementation.md#clang): 22 [mark noimpl]
+- [GCC](/implementation.md#gcc): 16.1 [mark verified]
+- [Visual C++](/implementation.md#visual_cpp): 2026 Update 2 [mark noimpl]
+
+
+## 関連項目
+- [`std::polymorphic`](polymorphic.md) 派生型を多態的に保持する値型
+- [`std::unique_ptr`](unique_ptr.md) 所有権をもつが参照の意味論をもつスマートポインタ
+- [`std::optional`](/reference/optional/optional.md) 動的確保せずに無効値状態を表現する型
+
+
+## 参照
+- [P3019R14 `indirect` and `polymorphic`: Vocabulary Types for Composite Class Design](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3019r14.pdf)
+    - C++26で`indirect`と`polymorphic`が追加された
&lt;/code&gt;&lt;/pre&gt;</summary>
      
      <author>
        <name>Akira Takahashi</name>
        <email>faithandbrave@gmail.com</email>
      </author>
    </entry>
  
    <entry>
      <title>get_allocator -- Merge pull request #1661 from cpprefjp/indirect_polymorphic</title>
      <link href="https://cpprefjp.github.io/reference/memory/indirect/get_allocator.html"/>
      <id>83e1e23ae95fd3b652908152cf8de66cbcf5f65d:reference/memory/indirect/get_allocator.md</id>
      <updated>2026-06-24T10:24:58+09:00</updated>
      
        <summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/memory/indirect/get_allocator.md b/reference/memory/indirect/get_allocator.md
new file mode 100644
index 000000000..f51c173bc
--- /dev/null
+++ b/reference/memory/indirect/get_allocator.md
@@ -0,0 +1,39 @@
+# get_allocator
+* memory[meta header]
+* std[meta namespace]
+* indirect[meta class]
+* function[meta id-type]
+* cpp26[meta cpp]
+
+```cpp
+constexpr allocator_type get_allocator() const noexcept;
+```
+
+## 概要
+このオブジェクトが使用するアロケータを取得する。
+
+
+## 戻り値
+所有するアロケータのコピー。
+
+
+## 例外
+投げない。
+
+
+## バージョン
+### 言語
+- C++26
+
+### 処理系
+- [Clang](/implementation.md#clang): 22 [mark noimpl]
+- [GCC](/implementation.md#gcc): 16.1 [mark verified]
+- [Visual C++](/implementation.md#visual_cpp): 2026 Update 2 [mark noimpl]
+
+
+## 関連項目
+- [`std::indirect`](../indirect.md)
+
+
+## 参照
+- [P3019R14 `indirect` and `polymorphic`: Vocabulary Types for Composite Class Design](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3019r14.pdf)
&lt;/code&gt;&lt;/pre&gt;</summary>
      
      <author>
        <name>Akira Takahashi</name>
        <email>faithandbrave@gmail.com</email>
      </author>
    </entry>
  
    <entry>
      <title>hash -- Merge pull request #1661 from cpprefjp/indirect_polymorphic</title>
      <link href="https://cpprefjp.github.io/reference/memory/indirect/hash.html"/>
      <id>83e1e23ae95fd3b652908152cf8de66cbcf5f65d:reference/memory/indirect/hash.md</id>
      <updated>2026-06-24T10:24:58+09:00</updated>
      
        <summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/memory/indirect/hash.md b/reference/memory/indirect/hash.md
new file mode 100644
index 000000000..6aa893188
--- /dev/null
+++ b/reference/memory/indirect/hash.md
@@ -0,0 +1,66 @@
+# hash
+* memory[meta header]
+* std[meta namespace]
+* indirect[meta class]
+* class template[meta id-type]
+* cpp26[meta cpp]
+
+```cpp
+namespace std {
+  template &amp;lt;class T, class Allocator&amp;gt;
+  struct hash&amp;lt;indirect&amp;lt;T, Allocator&amp;gt;&amp;gt;;
+}
+```
+* hash[link /reference/functional/hash.md]
+
+## 概要
+[`std::hash`](/reference/functional/hash.md)クラスの、`std::indirect`に対する特殊化。
+
+この特殊化は、`hash&amp;lt;T&amp;gt;`が有効である場合にのみ有効となる。
+
+
+## 効果
+`indirect&amp;lt;T, Allocator&amp;gt;`型のオブジェクト`i`に対して、`hash&amp;lt;indirect&amp;lt;T, Allocator&amp;gt;&amp;gt;()(i)`は、`i`が無効値状態でなければ`hash&amp;lt;T&amp;gt;()(*i)`と同じ値を返し、無効値状態であれば処理系定義の値を返す。
+
+
+## 備考
+メンバ関数が`noexcept`である保証はない。
+
+
+## 例
+```cpp example
+#include &amp;lt;cassert&amp;gt;
+#include &amp;lt;functional&amp;gt;
+#include &amp;lt;memory&amp;gt;
+
+int main()
+{
+  std::indirect&amp;lt;int&amp;gt; a{42};
+  // 所有する値のハッシュ値と一致する
+  assert((std::hash&amp;lt;std::indirect&amp;lt;int&amp;gt;&amp;gt;{}(a) == std::hash&amp;lt;int&amp;gt;{}(42)));
+}
+```
+* std::indirect[color ff0000]
+* std::hash[link /reference/functional/hash.md]
+
+### 出力
+```
+```
+
+
+## バージョン
+### 言語
+- C++26
+
+### 処理系
+- [Clang](/implementation.md#clang): 22 [mark noimpl]
+- [GCC](/implementation.md#gcc): 16.1 [mark verified]
+- [Visual C++](/implementation.md#visual_cpp): 2026 Update 2 [mark noimpl]
+
+
+## 関連項目
+- [`std::indirect`](../indirect.md)
+
+
+## 参照
+- [P3019R14 `indirect` and `polymorphic`: Vocabulary Types for Composite Class Design](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3019r14.pdf)
&lt;/code&gt;&lt;/pre&gt;</summary>
      
      <author>
        <name>Akira Takahashi</name>
        <email>faithandbrave@gmail.com</email>
      </author>
    </entry>
  
    <entry>
      <title>operator-&gt; -- Merge pull request #1661 from cpprefjp/indirect_polymorphic</title>
      <link href="https://cpprefjp.github.io/reference/memory/indirect/op_arrow.html"/>
      <id>83e1e23ae95fd3b652908152cf8de66cbcf5f65d:reference/memory/indirect/op_arrow.md</id>
      <updated>2026-06-24T10:24:58+09:00</updated>
      
        <summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/memory/indirect/op_arrow.md b/reference/memory/indirect/op_arrow.md
new file mode 100644
index 000000000..a04a30351
--- /dev/null
+++ b/reference/memory/indirect/op_arrow.md
@@ -0,0 +1,65 @@
+# operator-&amp;gt;
+* memory[meta header]
+* std[meta namespace]
+* indirect[meta class]
+* function[meta id-type]
+* cpp26[meta cpp]
+
+```cpp
+constexpr const_pointer operator-&amp;gt;() const noexcept; // (1)
+constexpr pointer operator-&amp;gt;() noexcept;             // (2)
+```
+
+## 概要
+所有するオブジェクトのメンバへアクセスするためのポインタを取得する。
+
+
+## 事前条件
+`*this`が無効値状態でないこと。
+
+
+## 戻り値
+所有するオブジェクトを指すポインタ。
+
+
+## 例外
+投げない。
+
+
+## 例
+```cpp example
+#include &amp;lt;cassert&amp;gt;
+#include &amp;lt;memory&amp;gt;
+#include &amp;lt;string&amp;gt;
+
+int main()
+{
+  std::indirect&amp;lt;std::string&amp;gt; s{std::string{&amp;#34;hello&amp;#34;}};
+  assert(s-&amp;gt;size() == 5);  // 所有するstringのメンバにアクセス
+  s-&amp;gt;push_back(&amp;#39;!&amp;#39;);
+  assert(*s == &amp;#34;hello!&amp;#34;);
+}
+```
+* std::indirect[color ff0000]
+
+### 出力
+```
+```
+
+
+## バージョン
+### 言語
+- C++26
+
+### 処理系
+- [Clang](/implementation.md#clang): 22 [mark noimpl]
+- [GCC](/implementation.md#gcc): 16.1 [mark verified]
+- [Visual C++](/implementation.md#visual_cpp): 2026 Update 2 [mark noimpl]
+
+
+## 関連項目
+- [`std::indirect`](../indirect.md)
+
+
+## 参照
+- [P3019R14 `indirect` and `polymorphic`: Vocabulary Types for Composite Class Design](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3019r14.pdf)
&lt;/code&gt;&lt;/pre&gt;</summary>
      
      <author>
        <name>Akira Takahashi</name>
        <email>faithandbrave@gmail.com</email>
      </author>
    </entry>
  
    <entry>
      <title>代入演算子 -- Merge pull request #1661 from cpprefjp/indirect_polymorphic</title>
      <link href="https://cpprefjp.github.io/reference/memory/indirect/op_assign.html"/>
      <id>83e1e23ae95fd3b652908152cf8de66cbcf5f65d:reference/memory/indirect/op_assign.md</id>
      <updated>2026-06-24T10:24:58+09:00</updated>
      
        <summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/memory/indirect/op_assign.md b/reference/memory/indirect/op_assign.md
new file mode 100644
index 000000000..7048d1eda
--- /dev/null
+++ b/reference/memory/indirect/op_assign.md
@@ -0,0 +1,97 @@
+# 代入演算子
+* memory[meta header]
+* std[meta namespace]
+* indirect[meta class]
+* function[meta id-type]
+* cpp26[meta cpp]
+
+```cpp
+constexpr indirect&amp;amp; operator=(const indirect&amp;amp; other);              // (1)
+constexpr indirect&amp;amp; operator=(indirect&amp;amp;&amp;amp; other) noexcept(see below); // (2)
+template &amp;lt;class U = T&amp;gt;
+constexpr indirect&amp;amp; operator=(U&amp;amp;&amp;amp; u);                              // (3)
+```
+
+## 概要
+- (1) : コピー代入。`other`が所有するオブジェクトをディープコピーする。
+- (2) : ムーブ代入。`other`から所有権を移す。
+- (3) : 所有するオブジェクトに値`u`を代入する。
+
+
+## テンプレートパラメータ制約
+- (3) : [`remove_cvref_t`](/reference/type_traits/remove_cvref.md)`&amp;lt;U&amp;gt;`が`indirect`でなく、[`is_constructible_v`](/reference/type_traits/is_constructible.md)`&amp;lt;T, U&amp;gt;`と[`is_assignable_v`](/reference/type_traits/is_assignable.md)`&amp;lt;T&amp;amp;, U&amp;gt;`がともに`true`であること。
+
+
+## 適格要件
+- (1) : [`is_copy_assignable_v`](/reference/type_traits/is_copy_assignable.md)`&amp;lt;T&amp;gt;`と[`is_copy_constructible_v`](/reference/type_traits/is_copy_constructible.md)`&amp;lt;T&amp;gt;`がともに`true`であること。
+- (2) : [`is_copy_constructible_v`](/reference/type_traits/is_copy_constructible.md)`&amp;lt;T&amp;gt;`が`true`であること。
+
+
+## 効果
+- (1) : `other`が無効値状態であれば`*this`も無効値状態にする。そうでなければ、アロケータの伝播規則に従い、`other`が所有するオブジェクトのコピーを`*this`がもつようにする。
+- (2) : `other`が無効値状態であれば`*this`も無効値状態にする。そうでなければ、所有権を移すかムーブ構築する。`other`は無効値状態となる。
+- (3) : `*this`が無効値状態であれば`u`から`T`を構築して所有する。そうでなければ`**this = std::forward&amp;lt;U&amp;gt;(u)`と等価。
+
+
+## 戻り値
+`*this`への参照。
+
+
+## 例外
+- (1) : 強い例外安全性を保証する。例外が送出された場合、[`this-&amp;gt;valueless_after_move()`](valueless_after_move.md)の結果は変化しない。
+- (2) : 以下と等価な`noexcept`指定を持つ：
+```cpp
+noexcept(allocator_traits&amp;lt;Allocator&amp;gt;::propagate_on_container_move_assignment::value ||
+         allocator_traits&amp;lt;Allocator&amp;gt;::is_always_equal::value)
+```
+* allocator_traits[link /reference/memory/allocator_traits.md]
+
+
+## 例
+```cpp example
+#include &amp;lt;cassert&amp;gt;
+#include &amp;lt;memory&amp;gt;
+
+int main()
+{
+  std::indirect&amp;lt;int&amp;gt; a{1};
+  std::indirect&amp;lt;int&amp;gt; b{2};
+
+  a = b;                  // (1) コピー代入（ディープコピー）
+  assert(*a == 2);
+  *a = 3;
+  assert(*b == 2);        // bは影響を受けない
+
+  a = 10;                 // (3) 値の代入
+  assert(*a == 10);
+
+  a = std::move(b);       // (2) ムーブ代入
+  assert(*a == 2);
+  assert(b.valueless_after_move());
+}
+```
+* std::indirect[color ff0000]
+* std::move[link /reference/utility/move.md]
+* valueless_after_move[link valueless_after_move.md]
+
+### 出力
+```
+```
+
+
+## バージョン
+### 言語
+- C++26
+
+### 処理系
+- [Clang](/implementation.md#clang): 22 [mark noimpl]
+- [GCC](/implementation.md#gcc): 16.1 [mark verified]
+- [Visual C++](/implementation.md#visual_cpp): 2026 Update 2 [mark noimpl]
+
+
+## 関連項目
+- [`std::indirect`](../indirect.md)
+
+
+## 参照
+- [P3019R14 `indirect` and `polymorphic`: Vocabulary Types for Composite Class Design](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3019r14.pdf)
&lt;/code&gt;&lt;/pre&gt;</summary>
      
      <author>
        <name>Akira Takahashi</name>
        <email>faithandbrave@gmail.com</email>
      </author>
    </entry>
  
    <entry>
      <title>operator&lt;=&gt; -- Merge pull request #1661 from cpprefjp/indirect_polymorphic</title>
      <link href="https://cpprefjp.github.io/reference/memory/indirect/op_compare_3way.html"/>
      <id>83e1e23ae95fd3b652908152cf8de66cbcf5f65d:reference/memory/indirect/op_compare_3way.md</id>
      <updated>2026-06-24T10:24:58+09:00</updated>
      
        <summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/memory/indirect/op_compare_3way.md b/reference/memory/indirect/op_compare_3way.md
new file mode 100644
index 000000000..021ff8c0d
--- /dev/null
+++ b/reference/memory/indirect/op_compare_3way.md
@@ -0,0 +1,72 @@
+# operator&amp;lt;=&amp;gt;
+* memory[meta header]
+* std[meta namespace]
+* indirect[meta class]
+* function[meta id-type]
+* cpp26[meta cpp]
+
+```cpp
+template &amp;lt;class U, class AA&amp;gt;
+friend constexpr auto operator&amp;lt;=&amp;gt;(
+  const indirect&amp;amp; lhs, const indirect&amp;lt;U, AA&amp;gt;&amp;amp; rhs)
+    -&amp;gt; synth-three-way-result&amp;lt;T, U&amp;gt;; // (1)
+
+template &amp;lt;class U&amp;gt;
+friend constexpr auto operator&amp;lt;=&amp;gt;(
+  const indirect&amp;amp; lhs, const U&amp;amp; rhs)
+    -&amp;gt; synth-three-way-result&amp;lt;T, U&amp;gt;; // (2)
+```
+
+## 概要
+- (1) : 2つの`indirect`オブジェクトが所有する値を三方比較する。
+- (2) : `indirect`オブジェクトが所有する値と、別の値`rhs`を三方比較する。
+
+いずれも*Hidden friends*として定義される。
+
+
+## 戻り値
+- (1) : `lhs`と`rhs`のいずれかが無効値状態であれば`!lhs.valueless_after_move() &amp;lt;=&amp;gt; !rhs.valueless_after_move()`、そうでなければ`synth-three-way(*lhs, *rhs)`。
+- (2) : `lhs`が無効値状態であれば[`std::strong_ordering::less`](/reference/compare/strong_ordering.md)、そうでなければ`synth-three-way(*lhs, rhs)`。
+
+
+## 備考
+この演算子により、`operator&amp;lt;` / `operator&amp;lt;=` / `operator&amp;gt;` / `operator&amp;gt;=`が使用可能になる。
+
+
+## 例
+```cpp example
+#include &amp;lt;cassert&amp;gt;
+#include &amp;lt;memory&amp;gt;
+
+int main()
+{
+  std::indirect&amp;lt;int&amp;gt; a{1};
+  std::indirect&amp;lt;int&amp;gt; b{2};
+  assert(a &amp;lt; b);          // (1) indirect同士の比較
+  assert((a &amp;lt;=&amp;gt; b) &amp;lt; 0);
+  assert(a &amp;lt; 2);          // (2) 値との比較
+}
+```
+* std::indirect[color ff0000]
+
+### 出力
+```
+```
+
+
+## バージョン
+### 言語
+- C++26
+
+### 処理系
+- [Clang](/implementation.md#clang): 22 [mark noimpl]
+- [GCC](/implementation.md#gcc): 16.1 [mark verified]
+- [Visual C++](/implementation.md#visual_cpp): 2026 Update 2 [mark noimpl]
+
+
+## 関連項目
+- [`std::indirect`](../indirect.md)
+
+
+## 参照
+- [P3019R14 `indirect` and `polymorphic`: Vocabulary Types for Composite Class Design](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3019r14.pdf)
&lt;/code&gt;&lt;/pre&gt;</summary>
      
      <author>
        <name>Akira Takahashi</name>
        <email>faithandbrave@gmail.com</email>
      </author>
    </entry>
  
    <entry>
      <title>コンストラクタ -- Merge pull request #1661 from cpprefjp/indirect_polymorphic</title>
      <link href="https://cpprefjp.github.io/reference/memory/indirect/op_constructor.html"/>
      <id>83e1e23ae95fd3b652908152cf8de66cbcf5f65d:reference/memory/indirect/op_constructor.md</id>
      <updated>2026-06-24T10:24:58+09:00</updated>
      
        <summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/memory/indirect/op_constructor.md b/reference/memory/indirect/op_constructor.md
new file mode 100644
index 000000000..756c50dc8
--- /dev/null
+++ b/reference/memory/indirect/op_constructor.md
@@ -0,0 +1,156 @@
+# コンストラクタ
+* memory[meta header]
+* std[meta namespace]
+* indirect[meta class]
+* function[meta id-type]
+* cpp26[meta cpp]
+
+```cpp
+explicit constexpr
+  indirect();                          // (1)
+
+explicit constexpr
+  indirect(allocator_arg_t,
+           const Allocator&amp;amp; a);        // (2)
+
+constexpr
+  indirect(const indirect&amp;amp; other);     // (3)
+
+constexpr
+  indirect(allocator_arg_t,
+           const Allocator&amp;amp; a,
+           const indirect&amp;amp; other);     // (4)
+
+constexpr
+  indirect(indirect&amp;amp;&amp;amp; other) noexcept; // (5)
+
+constexpr
+  indirect(allocator_arg_t,
+           const Allocator&amp;amp; a,
+           indirect&amp;amp;&amp;amp; other) noexcept(see below); // (6)
+
+template &amp;lt;class U = T&amp;gt;
+explicit constexpr
+  indirect(U&amp;amp;&amp;amp; u);                     // (7)
+
+template &amp;lt;class U = T&amp;gt;
+explicit constexpr
+  indirect(allocator_arg_t,
+           const Allocator&amp;amp; a, U&amp;amp;&amp;amp; u); // (8)
+
+template &amp;lt;class... Us&amp;gt;
+explicit constexpr
+  indirect(in_place_t,
+           Us&amp;amp;&amp;amp;... us);                // (9)
+
+template &amp;lt;class... Us&amp;gt;
+explicit constexpr
+  indirect(allocator_arg_t,
+           const Allocator&amp;amp; a,
+           in_place_t,
+           Us&amp;amp;&amp;amp;... us);                // (10)
+
+template &amp;lt;class I, class... Us&amp;gt;
+explicit constexpr
+  indirect(in_place_t,
+           initializer_list&amp;lt;I&amp;gt; ilist,
+           Us&amp;amp;&amp;amp;... us);                // (11)
+
+template &amp;lt;class I, class... Us&amp;gt;
+explicit constexpr
+  indirect(allocator_arg_t,
+           const Allocator&amp;amp; a,
+           in_place_t,
+           initializer_list&amp;lt;I&amp;gt; ilist,
+           Us&amp;amp;&amp;amp;... us);                // (12)
+```
+* allocator_arg_t[link /reference/memory/allocator_arg_t.md]
+* in_place_t[link /reference/utility/in_place_t.md]
+* initializer_list[link /reference/initializer_list/initializer_list.md]
+
+## 概要
+`indirect`オブジェクトを構築する。`allocator_arg_t`を第1引数に取るオーバーロードは、使用するアロケータ`a`を明示的に指定する。
+
+- (1), (2) : デフォルトコンストラクタ。`T`をデフォルト構築して所有する。
+- (3), (4) : コピーコンストラクタ。`other`が所有するオブジェクトをディープコピーして所有する。`other`が無効値状態の場合、構築されるオブジェクトも無効値状態となる。
+- (5), (6) : ムーブコンストラクタ。`other`が所有するオブジェクトの所有権を移す。ムーブ後の`other`は無効値状態となる。
+- (7), (8) : 単一の引数`u`から`T`を構築して所有する。
+- (9), (10) : `in_place_t`をマーカーとして、引数`us...`から`T`を直接構築して所有する。
+- (11), (12) : `in_place_t`をマーカーとして、初期化子リストと引数`us...`から`T`を直接構築して所有する。
+
+
+## テンプレートパラメータ制約
+- (7), (8) : [`remove_cvref_t`](/reference/type_traits/remove_cvref.md)`&amp;lt;U&amp;gt;`が`indirect`でも`in_place_t`でもなく、かつ[`is_constructible_v`](/reference/type_traits/is_constructible.md)`&amp;lt;T, U&amp;gt;`が`true`であること。(7)はさらに[`is_default_constructible_v`](/reference/type_traits/is_default_constructible.md)`&amp;lt;Allocator&amp;gt;`が`true`であること。
+- (9), (10) : [`is_constructible_v`](/reference/type_traits/is_constructible.md)`&amp;lt;T, Us...&amp;gt;`が`true`であること。(9)はさらに[`is_default_constructible_v`](/reference/type_traits/is_default_constructible.md)`&amp;lt;Allocator&amp;gt;`が`true`であること。
+- (11), (12) : [`is_constructible_v`](/reference/type_traits/is_constructible.md)`&amp;lt;T, initializer_list&amp;lt;I&amp;gt;&amp;amp;, Us...&amp;gt;`が`true`であること。(11)はさらに[`is_default_constructible_v`](/reference/type_traits/is_default_constructible.md)`&amp;lt;Allocator&amp;gt;`が`true`であること。
+
+
+## 適格要件
+- (1), (2) : [`is_default_constructible_v`](/reference/type_traits/is_default_constructible.md)`&amp;lt;T&amp;gt;`が`true`であること。
+- (3), (4) : [`is_copy_constructible_v`](/reference/type_traits/is_copy_constructible.md)`&amp;lt;T&amp;gt;`が`true`であること。
+- (6) : [`allocator_traits`](/reference/memory/allocator_traits.md)`&amp;lt;Allocator&amp;gt;::is_always_equal::value`が`false`の場合、`T`が完全型であること。
+
+
+## 例外
+- すべてのオーバーロード : [`allocator_traits`](/reference/memory/allocator_traits.md)`&amp;lt;Allocator&amp;gt;::allocate()`または[`allocator_traits`](/reference/memory/allocator_traits.md)`&amp;lt;Allocator&amp;gt;::construct()`が例外を送出した場合を除いて、例外を送出しない。
+- (6) : 以下と等価な`noexcept`指定を持つ：
+```cpp
+noexcept(allocator_traits&amp;lt;Allocator&amp;gt;::is_always_equal::value)
+```
+* allocator_traits[link /reference/memory/allocator_traits.md]
+
+
+## 事後条件
+- (5), (6) : `other`は無効値状態となる。
+
+
+## 例
+```cpp example
+#include &amp;lt;cassert&amp;gt;
+#include &amp;lt;memory&amp;gt;
+#include &amp;lt;string&amp;gt;
+#include &amp;lt;utility&amp;gt;
+
+int main()
+{
+  std::indirect&amp;lt;int&amp;gt; a;                          // (1) デフォルト構築
+  assert(*a == 0);
+
+  std::indirect&amp;lt;int&amp;gt; b{42};                       // (7) 単一の引数から構築
+  assert(*b == 42);
+
+  std::indirect&amp;lt;std::string&amp;gt; c{std::in_place, 3, &amp;#39;x&amp;#39;}; // (9) in_placeで直接構築
+  assert(*c == &amp;#34;xxx&amp;#34;);
+
+  std::indirect&amp;lt;int&amp;gt; d = b;                       // (3) コピー構築（ディープコピー）
+  assert(*d == 42);
+
+  std::indirect&amp;lt;int&amp;gt; e = std::move(d);            // (5) ムーブ構築
+  assert(*e == 42);
+  assert(d.valueless_after_move());               // ムーブ後は無効値状態
+}
+```
+* std::indirect[color ff0000]
+* std::in_place[link /reference/utility/in_place_t.md]
+
+### 出力
+```
+```
+
+
+## バージョン
+### 言語
+- C++26
+
+### 処理系
+- [Clang](/implementation.md#clang): 22 [mark noimpl]
+- [GCC](/implementation.md#gcc): 16.1 [mark verified]
+- [Visual C++](/implementation.md#visual_cpp): 2026 Update 2 [mark noimpl]
+
+
+## 関連項目
+- [`std::indirect`](../indirect.md)
+
+
+## 参照
+- [P3019R14 `indirect` and `polymorphic`: Vocabulary Types for Composite Class Design](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3019r14.pdf)
&lt;/code&gt;&lt;/pre&gt;</summary>
      
      <author>
        <name>Akira Takahashi</name>
        <email>faithandbrave@gmail.com</email>
      </author>
    </entry>
  
    <entry>
      <title>推論補助 -- Merge pull request #1661 from cpprefjp/indirect_polymorphic</title>
      <link href="https://cpprefjp.github.io/reference/memory/indirect/op_deduction_guide.html"/>
      <id>83e1e23ae95fd3b652908152cf8de66cbcf5f65d:reference/memory/indirect/op_deduction_guide.md</id>
      <updated>2026-06-24T10:24:58+09:00</updated>
      
        <summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/memory/indirect/op_deduction_guide.md b/reference/memory/indirect/op_deduction_guide.md
new file mode 100644
index 000000000..e1544a47b
--- /dev/null
+++ b/reference/memory/indirect/op_deduction_guide.md
@@ -0,0 +1,59 @@
+# 推論補助
+* memory[meta header]
+* std[meta namespace]
+* indirect[meta class]
+* function[meta id-type]
+* cpp26[meta cpp]
+
+```cpp
+template &amp;lt;class Value&amp;gt;
+indirect(Value) -&amp;gt; indirect&amp;lt;Value&amp;gt;; // (1)
+
+template &amp;lt;class Allocator, class Value&amp;gt;
+indirect(allocator_arg_t, Allocator, Value)
+  -&amp;gt; indirect&amp;lt;Value,
+       typename allocator_traits&amp;lt;Allocator&amp;gt;::template rebind_alloc&amp;lt;Value&amp;gt;&amp;gt;; // (2)
+```
+* allocator_arg_t[link /reference/memory/allocator_arg_t.md]
+
+## 概要
+`std::indirect`クラステンプレートの型推論を補助する。
+
+- (1) : 単一の値から`indirect`を構築する場合、その値の型を`T`として推論する。
+- (2) : アロケータと値から構築する場合、値の型を`T`とし、アロケータを`Value`向けに`rebind`した型を`Allocator`として推論する。
+
+
+## 例
+```cpp example
+#include &amp;lt;memory&amp;gt;
+#include &amp;lt;type_traits&amp;gt;
+
+int main()
+{
+  std::indirect a{42};
+  static_assert(std::is_same_v&amp;lt;decltype(a), std::indirect&amp;lt;int&amp;gt;&amp;gt;);
+}
+```
+* std::indirect[color ff0000]
+
+### 出力
+```
+```
+
+
+## バージョン
+### 言語
+- C++26
+
+### 処理系
+- [Clang](/implementation.md#clang): 22 [mark noimpl]
+- [GCC](/implementation.md#gcc): 16.1 [mark verified]
+- [Visual C++](/implementation.md#visual_cpp): 2026 Update 2 [mark noimpl]
+
+
+## 関連項目
+- [`std::indirect`](../indirect.md)
+
+
+## 参照
+- [P3019R14 `indirect` and `polymorphic`: Vocabulary Types for Composite Class Design](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3019r14.pdf)
&lt;/code&gt;&lt;/pre&gt;</summary>
      
      <author>
        <name>Akira Takahashi</name>
        <email>faithandbrave@gmail.com</email>
      </author>
    </entry>
  
    <entry>
      <title>operator* -- Merge pull request #1661 from cpprefjp/indirect_polymorphic</title>
      <link href="https://cpprefjp.github.io/reference/memory/indirect/op_deref.html"/>
      <id>83e1e23ae95fd3b652908152cf8de66cbcf5f65d:reference/memory/indirect/op_deref.md</id>
      <updated>2026-06-24T10:24:58+09:00</updated>
      
        <summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/memory/indirect/op_deref.md b/reference/memory/indirect/op_deref.md
new file mode 100644
index 000000000..ef08fcf8a
--- /dev/null
+++ b/reference/memory/indirect/op_deref.md
@@ -0,0 +1,72 @@
+# operator*
+* memory[meta header]
+* std[meta namespace]
+* indirect[meta class]
+* function[meta id-type]
+* cpp26[meta cpp]
+
+```cpp
+constexpr const T&amp;amp; operator*() const &amp;amp; noexcept;   // (1)
+constexpr T&amp;amp; operator*() &amp;amp; noexcept;               // (2)
+constexpr const T&amp;amp;&amp;amp; operator*() const &amp;amp;&amp;amp; noexcept; // (3)
+constexpr T&amp;amp;&amp;amp; operator*() &amp;amp;&amp;amp; noexcept;             // (4)
+```
+
+## 概要
+所有するオブジェクトへの参照を取得する。`const`なアクセス経路では`const`が所有オブジェクトに伝播する。
+
+
+## 事前条件
+`*this`が無効値状態でないこと。
+
+
+## 戻り値
+- (1), (2) : 所有するオブジェクトへの参照。
+- (3), (4) : 所有するオブジェクトへの右辺値参照（`std::move(*p)`）。
+
+
+## 例外
+投げない。
+
+
+## 例
+```cpp example
+#include &amp;lt;cassert&amp;gt;
+#include &amp;lt;memory&amp;gt;
+#include &amp;lt;type_traits&amp;gt;
+
+int main()
+{
+  std::indirect&amp;lt;int&amp;gt; a{42};
+  assert(*a == 42);       // 参照の取得
+  *a = 10;                // 非const版で書き換え
+  assert(*a == 10);
+
+  // constなアクセス経路ではconstが伝播する
+  const std::indirect&amp;lt;int&amp;gt; b{5};
+  static_assert(std::is_same_v&amp;lt;decltype(*b), const int&amp;amp;&amp;gt;);
+}
+```
+* std::indirect[color ff0000]
+
+### 出力
+```
+```
+
+
+## バージョン
+### 言語
+- C++26
+
+### 処理系
+- [Clang](/implementation.md#clang): 22 [mark noimpl]
+- [GCC](/implementation.md#gcc): 16.1 [mark verified]
+- [Visual C++](/implementation.md#visual_cpp): 2026 Update 2 [mark noimpl]
+
+
+## 関連項目
+- [`std::indirect`](../indirect.md)
+
+
+## 参照
+- [P3019R14 `indirect` and `polymorphic`: Vocabulary Types for Composite Class Design](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3019r14.pdf)
&lt;/code&gt;&lt;/pre&gt;</summary>
      
      <author>
        <name>Akira Takahashi</name>
        <email>faithandbrave@gmail.com</email>
      </author>
    </entry>
  
    <entry>
      <title>デストラクタ -- Merge pull request #1661 from cpprefjp/indirect_polymorphic</title>
      <link href="https://cpprefjp.github.io/reference/memory/indirect/op_destructor.html"/>
      <id>83e1e23ae95fd3b652908152cf8de66cbcf5f65d:reference/memory/indirect/op_destructor.md</id>
      <updated>2026-06-24T10:24:58+09:00</updated>
      
        <summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/memory/indirect/op_destructor.md b/reference/memory/indirect/op_destructor.md
new file mode 100644
index 000000000..4769f7624
--- /dev/null
+++ b/reference/memory/indirect/op_destructor.md
@@ -0,0 +1,39 @@
+# デストラクタ
+* memory[meta header]
+* std[meta namespace]
+* indirect[meta class]
+* function[meta id-type]
+* cpp26[meta cpp]
+
+```cpp
+constexpr ~indirect();
+```
+
+## 概要
+`indirect`オブジェクトを破棄する。
+
+
+## 適格要件
+`T`は完全型であること。
+
+
+## 効果
+`*this`が無効値状態でなければ、所有するオブジェクトを[`allocator_traits`](/reference/memory/allocator_traits.md)`&amp;lt;Allocator&amp;gt;::destroy`で破棄し、ストレージを解放する。
+
+
+## バージョン
+### 言語
+- C++26
+
+### 処理系
+- [Clang](/implementation.md#clang): 22 [mark noimpl]
+- [GCC](/implementation.md#gcc): 16.1 [mark verified]
+- [Visual C++](/implementation.md#visual_cpp): 2026 Update 2 [mark noimpl]
+
+
+## 関連項目
+- [`std::indirect`](../indirect.md)
+
+
+## 参照
+- [P3019R14 `indirect` and `polymorphic`: Vocabulary Types for Composite Class Design](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3019r14.pdf)
&lt;/code&gt;&lt;/pre&gt;</summary>
      
      <author>
        <name>Akira Takahashi</name>
        <email>faithandbrave@gmail.com</email>
      </author>
    </entry>
  
    <entry>
      <title>operator== -- Merge pull request #1661 from cpprefjp/indirect_polymorphic</title>
      <link href="https://cpprefjp.github.io/reference/memory/indirect/op_equal.html"/>
      <id>83e1e23ae95fd3b652908152cf8de66cbcf5f65d:reference/memory/indirect/op_equal.md</id>
      <updated>2026-06-24T10:24:58+09:00</updated>
      
        <summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/memory/indirect/op_equal.md b/reference/memory/indirect/op_equal.md
new file mode 100644
index 000000000..91417707f
--- /dev/null
+++ b/reference/memory/indirect/op_equal.md
@@ -0,0 +1,75 @@
+# operator==
+* memory[meta header]
+* std[meta namespace]
+* indirect[meta class]
+* function[meta id-type]
+* cpp26[meta cpp]
+
+```cpp
+template &amp;lt;class U, class AA&amp;gt;
+friend constexpr bool operator==(
+  const indirect&amp;amp; lhs, const indirect&amp;lt;U, AA&amp;gt;&amp;amp; rhs) noexcept(see below); // (1)
+
+template &amp;lt;class U&amp;gt;
+friend constexpr bool operator==(
+  const indirect&amp;amp; lhs, const U&amp;amp; rhs) noexcept(see below);               // (2)
+```
+
+## 概要
+- (1) : 2つの`indirect`オブジェクトが所有する値を等値比較する。
+- (2) : `indirect`オブジェクトが所有する値と、別の値`rhs`を等値比較する。
+
+いずれも*Hidden friends*として定義される。
+
+
+## 適格要件
+- (1) : 式`*lhs == *rhs`が適格であり、その結果が`bool`に変換可能であること。
+- (2) : 式`*lhs == rhs`が適格であり、その結果が`bool`に変換可能であること。
+
+
+## 戻り値
+- (1) : `lhs`と`rhs`のいずれかが無効値状態であれば`lhs.valueless_after_move() == rhs.valueless_after_move()`、そうでなければ`*lhs == *rhs`。
+- (2) : `lhs`が無効値状態であれば`false`、そうでなければ`*lhs == rhs`。
+
+
+## 備考
+この演算子により、`operator!=`が使用可能になる。
+
+
+## 例
+```cpp example
+#include &amp;lt;cassert&amp;gt;
+#include &amp;lt;memory&amp;gt;
+
+int main()
+{
+  std::indirect&amp;lt;int&amp;gt; a{42};
+  std::indirect&amp;lt;int&amp;gt; b{42};
+  assert(a == b);    // (1) indirect同士の比較
+  assert(a == 42);   // (2) 値との比較
+  assert(a != 0);
+}
+```
+* std::indirect[color ff0000]
+
+### 出力
+```
+```
+
+
+## バージョン
+### 言語
+- C++26
+
+### 処理系
+- [Clang](/implementation.md#clang): 22 [mark noimpl]
+- [GCC](/implementation.md#gcc): 16.1 [mark verified]
+- [Visual C++](/implementation.md#visual_cpp): 2026 Update 2 [mark noimpl]
+
+
+## 関連項目
+- [`std::indirect`](../indirect.md)
+
+
+## 参照
+- [P3019R14 `indirect` and `polymorphic`: Vocabulary Types for Composite Class Design](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3019r14.pdf)
&lt;/code&gt;&lt;/pre&gt;</summary>
      
      <author>
        <name>Akira Takahashi</name>
        <email>faithandbrave@gmail.com</email>
      </author>
    </entry>
  
    <entry>
      <title>swap -- Merge pull request #1661 from cpprefjp/indirect_polymorphic</title>
      <link href="https://cpprefjp.github.io/reference/memory/indirect/swap.html"/>
      <id>83e1e23ae95fd3b652908152cf8de66cbcf5f65d:reference/memory/indirect/swap.md</id>
      <updated>2026-06-24T10:24:58+09:00</updated>
      
        <summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/memory/indirect/swap.md b/reference/memory/indirect/swap.md
new file mode 100644
index 000000000..f48250199
--- /dev/null
+++ b/reference/memory/indirect/swap.md
@@ -0,0 +1,69 @@
+# swap
+* memory[meta header]
+* std[meta namespace]
+* indirect[meta class]
+* function[meta id-type]
+* cpp26[meta cpp]
+
+```cpp
+constexpr void swap(indirect&amp;amp; other) noexcept(see below);
+```
+
+## 概要
+`*this`と`other`の状態を交換する。所有オブジェクトまたは無効値状態を交換する。
+
+
+## 事前条件
+[`allocator_traits`](/reference/memory/allocator_traits.md)`&amp;lt;Allocator&amp;gt;::propagate_on_container_swap::value`が`true`の場合、`Allocator`はCpp17Swappable要件を満たすこと。そうでない場合、`get_allocator() == other.get_allocator()`が`true`であること。
+
+
+## 効果
+`*this`と`other`の状態（所有オブジェクトまたは無効値状態）を交換する。`propagate_on_container_swap::value`が`true`の場合はアロケータも交換する。所有オブジェクトに対して直接`swap`を呼ぶわけではない。
+
+
+## 例外
+以下と等価な`noexcept`指定を持つ：
+
+```cpp
+noexcept(allocator_traits&amp;lt;Allocator&amp;gt;::propagate_on_container_swap::value ||
+         allocator_traits&amp;lt;Allocator&amp;gt;::is_always_equal::value)
+```
+* allocator_traits[link /reference/memory/allocator_traits.md]
+
+
+## 例
+```cpp example
+#include &amp;lt;cassert&amp;gt;
+#include &amp;lt;memory&amp;gt;
+
+int main()
+{
+  std::indirect&amp;lt;int&amp;gt; a{1};
+  std::indirect&amp;lt;int&amp;gt; b{2};
+  a.swap(b);
+  assert(*a == 2 &amp;amp;&amp;amp; *b == 1);
+}
+```
+* std::indirect[color ff0000]
+
+### 出力
+```
+```
+
+
+## バージョン
+### 言語
+- C++26
+
+### 処理系
+- [Clang](/implementation.md#clang): 22 [mark noimpl]
+- [GCC](/implementation.md#gcc): 16.1 [mark verified]
+- [Visual C++](/implementation.md#visual_cpp): 2026 Update 2 [mark noimpl]
+
+
+## 関連項目
+- [`std::indirect`](../indirect.md)
+
+
+## 参照
+- [P3019R14 `indirect` and `polymorphic`: Vocabulary Types for Composite Class Design](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3019r14.pdf)
&lt;/code&gt;&lt;/pre&gt;</summary>
      
      <author>
        <name>Akira Takahashi</name>
        <email>faithandbrave@gmail.com</email>
      </author>
    </entry>
  
    <entry>
      <title>swap -- Merge pull request #1661 from cpprefjp/indirect_polymorphic</title>
      <link href="https://cpprefjp.github.io/reference/memory/indirect/swap_free.html"/>
      <id>83e1e23ae95fd3b652908152cf8de66cbcf5f65d:reference/memory/indirect/swap_free.md</id>
      <updated>2026-06-24T10:24:58+09:00</updated>
      
        <summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/memory/indirect/swap_free.md b/reference/memory/indirect/swap_free.md
new file mode 100644
index 000000000..b85df0bd7
--- /dev/null
+++ b/reference/memory/indirect/swap_free.md
@@ -0,0 +1,63 @@
+# swap
+* memory[meta header]
+* std[meta namespace]
+* indirect[meta class]
+* function[meta id-type]
+* cpp26[meta cpp]
+
+```cpp
+friend constexpr void swap(indirect&amp;amp; lhs, indirect&amp;amp; rhs) noexcept(see below);
+```
+
+## 概要
+2つの`indirect`オブジェクトを交換する。*Hidden friends*として定義される。
+
+
+## 効果
+`lhs.swap(rhs)`と等価。
+
+
+## 例外
+以下と等価な`noexcept`指定を持つ：
+
+```cpp
+noexcept(noexcept(lhs.swap(rhs)))
+```
+
+
+## 例
+```cpp example
+#include &amp;lt;cassert&amp;gt;
+#include &amp;lt;memory&amp;gt;
+
+int main()
+{
+  std::indirect&amp;lt;int&amp;gt; a{1};
+  std::indirect&amp;lt;int&amp;gt; b{2};
+  swap(a, b);   // ADLにより非メンバswapが呼ばれる
+  assert(*a == 2 &amp;amp;&amp;amp; *b == 1);
+}
+```
+* std::indirect[color ff0000]
+
+### 出力
+```
+```
+
+
+## バージョン
+### 言語
+- C++26
+
+### 処理系
+- [Clang](/implementation.md#clang): 22 [mark noimpl]
+- [GCC](/implementation.md#gcc): 16.1 [mark verified]
+- [Visual C++](/implementation.md#visual_cpp): 2026 Update 2 [mark noimpl]
+
+
+## 関連項目
+- [`std::indirect`](../indirect.md)
+
+
+## 参照
+- [P3019R14 `indirect` and `polymorphic`: Vocabulary Types for Composite Class Design](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3019r14.pdf)
&lt;/code&gt;&lt;/pre&gt;</summary>
      
      <author>
        <name>Akira Takahashi</name>
        <email>faithandbrave@gmail.com</email>
      </author>
    </entry>
  
    <entry>
      <title>valueless_after_move -- Merge pull request #1661 from cpprefjp/indirect_polymorphic</title>
      <link href="https://cpprefjp.github.io/reference/memory/indirect/valueless_after_move.html"/>
      <id>83e1e23ae95fd3b652908152cf8de66cbcf5f65d:reference/memory/indirect/valueless_after_move.md</id>
      <updated>2026-06-24T10:24:58+09:00</updated>
      
        <summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/memory/indirect/valueless_after_move.md b/reference/memory/indirect/valueless_after_move.md
new file mode 100644
index 000000000..f866a5a8e
--- /dev/null
+++ b/reference/memory/indirect/valueless_after_move.md
@@ -0,0 +1,61 @@
+# valueless_after_move
+* memory[meta header]
+* std[meta namespace]
+* indirect[meta class]
+* function[meta id-type]
+* cpp26[meta cpp]
+
+```cpp
+constexpr bool valueless_after_move() const noexcept;
+```
+
+## 概要
+`*this`が無効値状態かどうかを判定する。`indirect`はムーブされたあとにのみ無効値状態となりうる。
+
+
+## 戻り値
+`*this`が無効値状態であれば`true`、そうでなければ`false`。
+
+
+## 例外
+投げない。
+
+
+## 例
+```cpp example
+#include &amp;lt;cassert&amp;gt;
+#include &amp;lt;memory&amp;gt;
+
+int main()
+{
+  std::indirect&amp;lt;int&amp;gt; a{42};
+  assert(!a.valueless_after_move());
+
+  std::indirect&amp;lt;int&amp;gt; b = std::move(a);
+  assert(a.valueless_after_move());  // ムーブ後は無効値状態
+  assert(!b.valueless_after_move());
+}
+```
+* std::indirect[color ff0000]
+
+### 出力
+```
+```
+
+
+## バージョン
+### 言語
+- C++26
+
+### 処理系
+- [Clang](/implementation.md#clang): 22 [mark noimpl]
+- [GCC](/implementation.md#gcc): 16.1 [mark verified]
+- [Visual C++](/implementation.md#visual_cpp): 2026 Update 2 [mark noimpl]
+
+
+## 関連項目
+- [`std::indirect`](../indirect.md)
+
+
+## 参照
+- [P3019R14 `indirect` and `polymorphic`: Vocabulary Types for Composite Class Design](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3019r14.pdf)
&lt;/code&gt;&lt;/pre&gt;</summary>
      
      <author>
        <name>Akira Takahashi</name>
        <email>faithandbrave@gmail.com</email>
      </author>
    </entry>
  
    <entry>
      <title>polymorphic -- Merge pull request #1661 from cpprefjp/indirect_polymorphic</title>
      <link href="https://cpprefjp.github.io/reference/memory/polymorphic.html"/>
      <id>83e1e23ae95fd3b652908152cf8de66cbcf5f65d:reference/memory/polymorphic.md</id>
      <updated>2026-06-24T10:24:58+09:00</updated>
      
        <summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/memory/polymorphic.md b/reference/memory/polymorphic.md
new file mode 100644
index 000000000..ad7a74aed
--- /dev/null
+++ b/reference/memory/polymorphic.md
@@ -0,0 +1,147 @@
+# polymorphic
+* memory[meta header]
+* std[meta namespace]
+* class template[meta id-type]
+* cpp26[meta cpp]
+
+```cpp
+namespace std {
+  template &amp;lt;class T, class Allocator = allocator&amp;lt;T&amp;gt;&amp;gt;
+  class polymorphic;
+
+  namespace pmr {
+    template &amp;lt;class T&amp;gt;
+    using polymorphic = std::polymorphic&amp;lt;T, polymorphic_allocator&amp;lt;T&amp;gt;&amp;gt;;
+  }
+}
+```
+* allocator[link allocator.md]
+* polymorphic_allocator[link /reference/memory_resource/polymorphic_allocator.md]
+
+## 概要
+`std::polymorphic`クラスは、動的確保したオブジェクトに値の意味論をもたせつつ、`T`から派生した任意の型のオブジェクトを多態的に保持できる型である。
+
+[`std::indirect`](indirect.md)クラスが単一の型`T`のオブジェクトを保持するのに対し、`std::polymorphic&amp;lt;T&amp;gt;`クラスは`T`を基底とする派生型のオブジェクトを保持できる。値型としての性質は`std::indirect`クラスと共通している：
+
+- ディープコピー: `std::polymorphic&amp;lt;T&amp;gt;`クラスのオブジェクトをコピーすると、実際に保持している派生型のオブジェクトが、その派生型のコピーコンストラクタによって複製される（型消去をとおした仮想ディスパッチが用いられる）
+- `const`の伝播: `const`なアクセス経路から所有オブジェクトにアクセスすると、所有オブジェクトにも`const`が伝播する
+- 不完全型のサポート: テンプレートパラメータ`T`は不完全型でもよい
+
+これらの性質によって、`std::polymorphic`クラスは多態的な性質をもつクラスのメンバ変数として適しており、コンパイラによる特殊メンバ関数の自動生成と協調して動作する。
+
+所有オブジェクトを持たない状態を「無効値状態 (valueless state)」と呼ぶ。`std::polymorphic`クラスが無効値状態になるのは、ムーブ後に空となった場合のみである。無効値状態のオブジェクトに対する`operator*`や`operator-&amp;gt;`の呼び出しは未定義動作を引き起こす。無効値状態かどうかは[`valueless_after_move()`](polymorphic/valueless_after_move.md)で判定できる。
+
+保持する型の集合が既知である場合は、[`std::variant`](/reference/variant/variant.md)や`indirect&amp;lt;std::variant&amp;lt;...&amp;gt;&amp;gt;`の使用を検討するとよい。
+
+
+## テンプレートパラメータ制約
+- `Allocator`はCpp17Allocator要件を満たすこと。
+- [`allocator_traits`](/reference/memory/allocator_traits.md)`&amp;lt;Allocator&amp;gt;::value_type`が`T`と同じ型であること
+
+
+## 適格要件
+- 以下のいずれかの場合に、プログラムは不適格となる
+    - `T`がオブジェクト型でない
+    - 配列型である
+    - (CV修飾された) [`std::in_place_t`](/reference/utility/in_place_t.md)である
+    - (CV修飾された) [`std::in_place_type_t`](/reference/utility/in_place_type_t.md)の特殊化である
+    - CV修飾された型である
+- `std::polymorphic`の明示的特殊化・部分特殊化をユーザーが宣言した場合、動作は未定義である
+
+
+## メンバ関数
+### 構築・破棄
+
+| 名前 | 説明 | 対応バージョン |
+|------|------|----------------|
+| [`(constructor)`](polymorphic/op_constructor.md) | コンストラクタ | C++26 |
+| [`(destructor)`](polymorphic/op_destructor.md) | デストラクタ | C++26 |
+| [`operator=`](polymorphic/op_assign.md) | 代入演算子 | C++26 |
+
+### 値へのアクセス
+
+| 名前 | 説明 | 対応バージョン |
+|------|------|----------------|
+| [`operator*`](polymorphic/op_deref.md) | 所有するオブジェクトへの参照を取得する | C++26 |
+| [`operator-&amp;gt;`](polymorphic/op_arrow.md) | 所有するオブジェクトのメンバへアクセスする | C++26 |
+| [`valueless_after_move`](polymorphic/valueless_after_move.md) | 無効値状態かどうかを判定する | C++26 |
+
+### その他
+
+| 名前 | 説明 | 対応バージョン |
+|------|------|----------------|
+| [`get_allocator`](polymorphic/get_allocator.md) | アロケータを取得する | C++26 |
+| [`swap`](polymorphic/swap.md) | 他の`polymorphic`オブジェクトと値を交換する | C++26 |
+
+
+## メンバ型
+
+| 名前 | 定義 | 対応バージョン |
+|------|------|----------------|
+| `value_type` | `T` | C++26 |
+| `allocator_type` | `Allocator` | C++26 |
+| `pointer` | [`allocator_traits`](/reference/memory/allocator_traits.md)`&amp;lt;Allocator&amp;gt;::pointer` | C++26 |
+| `const_pointer` | [`allocator_traits`](/reference/memory/allocator_traits.md)`&amp;lt;Allocator&amp;gt;::const_pointer` | C++26 |
+
+
+## 非メンバ（*Hidden friends*）関数
+
+| 名前 | 説明 | 対応バージョン |
+|------|------|----------------|
+| [`swap`](polymorphic/swap_free.md) | 2つの`polymorphic`オブジェクトを交換する | C++26 |
+
+
+## 例
+```cpp example
+#include &amp;lt;cassert&amp;gt;
+#include &amp;lt;memory&amp;gt;
+
+struct Shape {
+  virtual ~Shape() = default;
+  virtual int area() const = 0;
+};
+
+struct Square : Shape {
+  int side;
+  Square(int s) : side(s) {}
+  int area() const override { return side * side; }
+};
+
+int main()
+{
+  // Shapeから派生したSquareを、値の意味論で多態的に保持する
+  std::polymorphic&amp;lt;Shape&amp;gt; a{std::in_place_type&amp;lt;Square&amp;gt;, 3};
+  assert(a-&amp;gt;area() == 9);
+
+  // コピーは派生型(Square)のディープコピー
+  std::polymorphic&amp;lt;Shape&amp;gt; b = a;
+  assert(b-&amp;gt;area() == 9);
+}
+```
+* std::polymorphic[color ff0000]
+* std::in_place_type[link /reference/utility/in_place_type_t.md]
+
+### 出力
+```
+```
+
+
+## バージョン
+### 言語
+- C++26
+
+### 処理系
+- [Clang](/implementation.md#clang): 22 [mark noimpl]
+- [GCC](/implementation.md#gcc): 16.1 [mark verified]
+- [Visual C++](/implementation.md#visual_cpp): 2026 Update 2 [mark noimpl]
+
+
+## 関連項目
+- [`std::indirect`](indirect.md) 単一の型を保持する値型
+- [`std::variant`](/reference/variant/variant.md) 既知の型集合から1つを保持する型
+- [`std::unique_ptr`](unique_ptr.md) 多態的な所有権をもつが参照の意味論をもつスマートポインタ
+
+
+## 参照
+- [P3019R14 `indirect` and `polymorphic`: Vocabulary Types for Composite Class Design](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3019r14.pdf)
+    - C++26で`indirect`と`polymorphic`が追加された
&lt;/code&gt;&lt;/pre&gt;</summary>
      
      <author>
        <name>Akira Takahashi</name>
        <email>faithandbrave@gmail.com</email>
      </author>
    </entry>
  
    <entry>
      <title>get_allocator -- Merge pull request #1661 from cpprefjp/indirect_polymorphic</title>
      <link href="https://cpprefjp.github.io/reference/memory/polymorphic/get_allocator.html"/>
      <id>83e1e23ae95fd3b652908152cf8de66cbcf5f65d:reference/memory/polymorphic/get_allocator.md</id>
      <updated>2026-06-24T10:24:58+09:00</updated>
      
        <summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/memory/polymorphic/get_allocator.md b/reference/memory/polymorphic/get_allocator.md
new file mode 100644
index 000000000..c7981d7a0
--- /dev/null
+++ b/reference/memory/polymorphic/get_allocator.md
@@ -0,0 +1,39 @@
+# get_allocator
+* memory[meta header]
+* std[meta namespace]
+* polymorphic[meta class]
+* function[meta id-type]
+* cpp26[meta cpp]
+
+```cpp
+constexpr allocator_type get_allocator() const noexcept;
+```
+
+## 概要
+このオブジェクトが使用するアロケータを取得する。
+
+
+## 戻り値
+所有するアロケータのコピー。
+
+
+## 例外
+投げない。
+
+
+## バージョン
+### 言語
+- C++26
+
+### 処理系
+- [Clang](/implementation.md#clang): 22 [mark noimpl]
+- [GCC](/implementation.md#gcc): 16.1 [mark verified]
+- [Visual C++](/implementation.md#visual_cpp): 2026 Update 2 [mark noimpl]
+
+
+## 関連項目
+- [`std::polymorphic`](../polymorphic.md)
+
+
+## 参照
+- [P3019R14 `indirect` and `polymorphic`: Vocabulary Types for Composite Class Design](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3019r14.pdf)
&lt;/code&gt;&lt;/pre&gt;</summary>
      
      <author>
        <name>Akira Takahashi</name>
        <email>faithandbrave@gmail.com</email>
      </author>
    </entry>
  
    <entry>
      <title>operator-&gt; -- Merge pull request #1661 from cpprefjp/indirect_polymorphic</title>
      <link href="https://cpprefjp.github.io/reference/memory/polymorphic/op_arrow.html"/>
      <id>83e1e23ae95fd3b652908152cf8de66cbcf5f65d:reference/memory/polymorphic/op_arrow.md</id>
      <updated>2026-06-24T10:24:58+09:00</updated>
      
        <summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/memory/polymorphic/op_arrow.md b/reference/memory/polymorphic/op_arrow.md
new file mode 100644
index 000000000..fad8e5e62
--- /dev/null
+++ b/reference/memory/polymorphic/op_arrow.md
@@ -0,0 +1,74 @@
+# operator-&amp;gt;
+* memory[meta header]
+* std[meta namespace]
+* polymorphic[meta class]
+* function[meta id-type]
+* cpp26[meta cpp]
+
+```cpp
+constexpr const_pointer operator-&amp;gt;() const noexcept; // (1)
+constexpr pointer operator-&amp;gt;() noexcept;             // (2)
+```
+
+## 概要
+所有するオブジェクトのメンバへ、基底型`T`としてアクセスするためのポインタを取得する。
+
+
+## 事前条件
+`*this`が無効値状態でないこと。
+
+
+## 戻り値
+所有するオブジェクトを指すポインタ。
+
+
+## 例外
+投げない。
+
+
+## 例
+```cpp example
+#include &amp;lt;cassert&amp;gt;
+#include &amp;lt;memory&amp;gt;
+
+struct Base {
+  virtual ~Base() = default;
+  virtual int f() const { return 0; }
+};
+struct Derived : Base {
+  int x = 42;
+  Derived() = default;
+  Derived(int x) : x(x) {}
+  int f() const override { return x; }
+};
+
+int main()
+{
+  std::polymorphic&amp;lt;Base&amp;gt; a{std::in_place_type&amp;lt;Derived&amp;gt;};
+  assert(a-&amp;gt;f() == 42);  // 基底型Baseのメンバへアクセス（仮想ディスパッチ）
+}
+```
+* std::polymorphic[color ff0000]
+* std::in_place_type[link /reference/utility/in_place_type_t.md]
+
+### 出力
+```
+```
+
+
+## バージョン
+### 言語
+- C++26
+
+### 処理系
+- [Clang](/implementation.md#clang): 22 [mark noimpl]
+- [GCC](/implementation.md#gcc): 16.1 [mark verified]
+- [Visual C++](/implementation.md#visual_cpp): 2026 Update 2 [mark noimpl]
+
+
+## 関連項目
+- [`std::polymorphic`](../polymorphic.md)
+
+
+## 参照
+- [P3019R14 `indirect` and `polymorphic`: Vocabulary Types for Composite Class Design](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3019r14.pdf)
&lt;/code&gt;&lt;/pre&gt;</summary>
      
      <author>
        <name>Akira Takahashi</name>
        <email>faithandbrave@gmail.com</email>
      </author>
    </entry>
  
    <entry>
      <title>代入演算子 -- Merge pull request #1661 from cpprefjp/indirect_polymorphic</title>
      <link href="https://cpprefjp.github.io/reference/memory/polymorphic/op_assign.html"/>
      <id>83e1e23ae95fd3b652908152cf8de66cbcf5f65d:reference/memory/polymorphic/op_assign.md</id>
      <updated>2026-06-24T10:24:58+09:00</updated>
      
        <summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/memory/polymorphic/op_assign.md b/reference/memory/polymorphic/op_assign.md
new file mode 100644
index 000000000..0e472b166
--- /dev/null
+++ b/reference/memory/polymorphic/op_assign.md
@@ -0,0 +1,93 @@
+# 代入演算子
+* memory[meta header]
+* std[meta namespace]
+* polymorphic[meta class]
+* function[meta id-type]
+* cpp26[meta cpp]
+
+```cpp
+constexpr polymorphic&amp;amp; operator=(const polymorphic&amp;amp; other);                // (1)
+constexpr polymorphic&amp;amp; operator=(polymorphic&amp;amp;&amp;amp; other) noexcept(see below); // (2)
+```
+
+## 概要
+- (1) : コピー代入。`other`が保持する派生型のオブジェクトをディープコピーする。
+- (2) : ムーブ代入。`other`から所有権を移す。
+
+
+## 適格要件
+- (1) : `T`は完全型であること。
+
+
+## 効果
+- (1) : `addressof(other) == this`であれば何もしない。そうでなければ、アロケータの伝播規則に従い、`other`が保持するオブジェクトのコピーを`*this`がもつようにする。`other`が無効値状態であれば`*this`も無効値状態にする。
+- (2) : `addressof(other) == this`であれば何もしない。そうでなければ、アロケータの伝播規則に従い、`other`から所有権を移すか、ムーブ構築する。
+
+
+## 戻り値
+`*this`への参照。
+
+
+## 例外
+- (1) : 強い例外安全性を保証する。例外が送出された場合、`*this`や`other`に影響はない。
+- (2) : 以下と等価な`noexcept`指定を持つ：
+
+```cpp
+noexcept(allocator_traits&amp;lt;Allocator&amp;gt;::propagate_on_container_move_assignment::value ||
+         allocator_traits&amp;lt;Allocator&amp;gt;::is_always_equal::value)
+```
+* allocator_traits[link /reference/memory/allocator_traits.md]
+
+
+## 例
+```cpp example
+#include &amp;lt;cassert&amp;gt;
+#include &amp;lt;memory&amp;gt;
+
+struct Base {
+  virtual ~Base() = default;
+  virtual int f() const { return 0; }
+};
+struct Derived : Base {
+  int x = 42;
+  Derived() = default;
+  Derived(int x) : x(x) {}
+  int f() const override { return x; }
+};
+
+int main()
+{
+  std::polymorphic&amp;lt;Base&amp;gt; a{std::in_place_type&amp;lt;Derived&amp;gt;, 1};
+  std::polymorphic&amp;lt;Base&amp;gt; b{std::in_place_type&amp;lt;Derived&amp;gt;, 2};
+
+  a = b;             // (1) コピー代入（派生型のディープコピー）
+  assert(a-&amp;gt;f() == 2);
+
+  a = std::move(b);  // (2) ムーブ代入
+  assert(a-&amp;gt;f() == 2);
+}
+```
+* std::polymorphic[color ff0000]
+* std::in_place_type[link /reference/utility/in_place_type_t.md]
+
+### 出力
+```
+```
+
+
+## バージョン
+### 言語
+- C++26
+
+### 処理系
+- [Clang](/implementation.md#clang): 22 [mark noimpl]
+- [GCC](/implementation.md#gcc): 16.1 [mark verified]
+- [Visual C++](/implementation.md#visual_cpp): 2026 Update 2 [mark noimpl]
+
+
+## 関連項目
+- [`std::polymorphic`](../polymorphic.md)
+
+
+## 参照
+- [P3019R14 `indirect` and `polymorphic`: Vocabulary Types for Composite Class Design](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3019r14.pdf)
&lt;/code&gt;&lt;/pre&gt;</summary>
      
      <author>
        <name>Akira Takahashi</name>
        <email>faithandbrave@gmail.com</email>
      </author>
    </entry>
  
    <entry>
      <title>コンストラクタ -- Merge pull request #1661 from cpprefjp/indirect_polymorphic</title>
      <link href="https://cpprefjp.github.io/reference/memory/polymorphic/op_constructor.html"/>
      <id>83e1e23ae95fd3b652908152cf8de66cbcf5f65d:reference/memory/polymorphic/op_constructor.md</id>
      <updated>2026-06-24T10:24:58+09:00</updated>
      
        <summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/memory/polymorphic/op_constructor.md b/reference/memory/polymorphic/op_constructor.md
new file mode 100644
index 000000000..4a0e01af7
--- /dev/null
+++ b/reference/memory/polymorphic/op_constructor.md
@@ -0,0 +1,158 @@
+# コンストラクタ
+* memory[meta header]
+* std[meta namespace]
+* polymorphic[meta class]
+* function[meta id-type]
+* cpp26[meta cpp]
+
+```cpp
+explicit constexpr 
+  polymorphic();                             // (1)
+
+explicit constexpr
+  polymorphic(allocator_arg_t,
+              const Allocator&amp;amp; a);           // (2)
+
+constexpr
+  polymorphic(const polymorphic&amp;amp; other);     // (3)
+
+constexpr
+  polymorphic(allocator_arg_t,
+              const Allocator&amp;amp; a,
+              const polymorphic&amp;amp; other);     // (4)
+
+constexpr
+  polymorphic(polymorphic&amp;amp;&amp;amp; other) noexcept; // (5)
+
+constexpr
+  polymorphic(allocator_arg_t,
+              const Allocator&amp;amp; a,
+              polymorphic&amp;amp;&amp;amp; other) noexcept(see below); // (6)
+
+template &amp;lt;class U = T&amp;gt;
+explicit constexpr
+  polymorphic(U&amp;amp;&amp;amp; u);                          // (7)
+
+template &amp;lt;class U = T&amp;gt;
+explicit constexpr
+  polymorphic(allocator_arg_t,
+              const Allocator&amp;amp; a,
+              U&amp;amp;&amp;amp; u);                          // (8)
+
+template &amp;lt;class U, class... Ts&amp;gt;
+explicit constexpr
+  polymorphic(in_place_type_t&amp;lt;U&amp;gt;,
+              Ts&amp;amp;&amp;amp;... ts);                     // (9)
+
+template &amp;lt;class U, class... Ts&amp;gt;
+explicit constexpr
+  polymorphic(allocator_arg_t,
+              const Allocator&amp;amp; a,
+              in_place_type_t&amp;lt;U&amp;gt;, Ts&amp;amp;&amp;amp;... ts); // (10)
+
+template &amp;lt;class U, class I, class... Us&amp;gt;
+explicit constexpr
+  polymorphic(in_place_type_t&amp;lt;U&amp;gt;,
+              initializer_list&amp;lt;I&amp;gt; ilist,
+              Us&amp;amp;&amp;amp;... us);                    // (11)
+
+template &amp;lt;class U, class I, class... Us&amp;gt;
+explicit constexpr
+  polymorphic(allocator_arg_t, const Allocator&amp;amp; a,
+              in_place_type_t&amp;lt;U&amp;gt;,
+              initializer_list&amp;lt;I&amp;gt; ilist, Us&amp;amp;&amp;amp;... us); // (12)
+```
+* allocator_arg_t[link /reference/memory/allocator_arg_t.md]
+* in_place_type_t[link /reference/utility/in_place_type_t.md]
+* initializer_list[link /reference/initializer_list/initializer_list.md]
+
+## 概要
+`polymorphic`オブジェクトを構築する。`allocator_arg_t`を第1引数に取るオーバーロードは、使用するアロケータ`a`を明示的に指定する。
+
+- (1), (2) : デフォルトコンストラクタ。`T`をデフォルト構築して所有する。
+- (3), (4) : コピーコンストラクタ。`other`が保持する派生型のオブジェクトをディープコピーして所有する。`other`が無効値状態の場合、構築されるオブジェクトも無効値状態となる。
+- (5), (6) : ムーブコンストラクタ。`other`が保持するオブジェクトの所有権を移す。
+- (7), (8) : 単一の引数`u`から、その型`U`（`T`から派生していてもよい）のオブジェクトを構築して所有する。
+- (9), (10) : `in_place_type_t&amp;lt;U&amp;gt;`をマーカーとして、型`U`のオブジェクトを引数`ts...`から直接構築して所有する。
+- (11), (12) : `in_place_type_t&amp;lt;U&amp;gt;`をマーカーとして、型`U`のオブジェクトを初期化子リストと引数`us...`から直接構築して所有する。
+
+
+## テンプレートパラメータ制約
+- (7), (8) : [`remove_cvref_t`](/reference/type_traits/remove_cvref.md)`&amp;lt;U&amp;gt;`を`UU`とするとき、`UU`が`polymorphic`でも`in_place_type_t`の特殊化でもなく、[`derived_from`](/reference/concepts/derived_from.md)`&amp;lt;UU, T&amp;gt;`、[`is_constructible_v`](/reference/type_traits/is_constructible.md)`&amp;lt;UU, U&amp;gt;`、[`is_copy_constructible_v`](/reference/type_traits/is_copy_constructible.md)`&amp;lt;UU&amp;gt;`がいずれも`true`であること。(7)はさらに[`is_default_constructible_v`](/reference/type_traits/is_default_constructible.md)`&amp;lt;Allocator&amp;gt;`が`true`であること。
+- (9), (10) : [`is_same_v`](/reference/type_traits/is_same.md)`&amp;lt;`[`remove_cvref_t`](/reference/type_traits/remove_cvref.md)`&amp;lt;U&amp;gt;, U&amp;gt;`、[`derived_from`](/reference/concepts/derived_from.md)`&amp;lt;U, T&amp;gt;`、[`is_constructible_v`](/reference/type_traits/is_constructible.md)`&amp;lt;U, Ts...&amp;gt;`、[`is_copy_constructible_v`](/reference/type_traits/is_copy_constructible.md)`&amp;lt;U&amp;gt;`がいずれも`true`であること。(9)はさらに[`is_default_constructible_v`](/reference/type_traits/is_default_constructible.md)`&amp;lt;Allocator&amp;gt;`が`true`であること。
+- (11), (12) : [`is_same_v`](/reference/type_traits/is_same.md)`&amp;lt;`[`remove_cvref_t`](/reference/type_traits/remove_cvref.md)`&amp;lt;U&amp;gt;, U&amp;gt;`、[`derived_from`](/reference/concepts/derived_from.md)`&amp;lt;U, T&amp;gt;`、[`is_constructible_v`](/reference/type_traits/is_constructible.md)`&amp;lt;U, initializer_list&amp;lt;I&amp;gt;&amp;amp;, Us...&amp;gt;`、[`is_copy_constructible_v`](/reference/type_traits/is_copy_constructible.md)`&amp;lt;U&amp;gt;`がいずれも`true`であること。(11)はさらに[`is_default_constructible_v`](/reference/type_traits/is_default_constructible.md)`&amp;lt;Allocator&amp;gt;`が`true`であること。
+
+
+## 適格要件
+- (1), (2) : [`is_default_constructible_v`](/reference/type_traits/is_default_constructible.md)`&amp;lt;T&amp;gt;`と[`is_copy_constructible_v`](/reference/type_traits/is_copy_constructible.md)`&amp;lt;T&amp;gt;`がともに`true`であること。
+
+
+## 効果
+所有するオブジェクトを、指定された型・引数とアロケータ`alloc`を用いて構築する。`allocator_arg_t`版は`alloc`を`a`で初期化する。
+
+
+## 例外
+- すべてのオーバーロード : [`allocator_traits`](/reference/memory/allocator_traits.md)`&amp;lt;Allocator&amp;gt;::allocate`または[`allocator_traits`](/reference/memory/allocator_traits.md)`&amp;lt;Allocator&amp;gt;::construct`が例外を送出した場合を除いて、例外を送出しない。
+- (6) : 以下と等価な`noexcept`指定を持つ：
+
+```cpp
+noexcept(allocator_traits&amp;lt;Allocator&amp;gt;::is_always_equal::value)
+```
+* allocator_traits[link /reference/memory/allocator_traits.md]
+
+
+## 例
+```cpp example
+#include &amp;lt;cassert&amp;gt;
+#include &amp;lt;memory&amp;gt;
+
+struct Base {
+  virtual ~Base() = default;
+  virtual int f() const { return 0; }
+};
+struct Derived : Base {
+  int x = 42;
+  Derived() = default;
+  Derived(int x) : x(x) {}
+  int f() const override { return x; }
+};
+
+int main()
+{
+  // (9) in_place_typeで派生型Derivedを直接構築
+  std::polymorphic&amp;lt;Base&amp;gt; a{std::in_place_type&amp;lt;Derived&amp;gt;};
+  assert(a-&amp;gt;f() == 42);
+
+  // (7) 派生型の値から構築
+  std::polymorphic&amp;lt;Base&amp;gt; b{Derived{10}};
+  assert(b-&amp;gt;f() == 10);
+
+  // (3) コピー構築（派生型Derivedのディープコピー）
+  std::polymorphic&amp;lt;Base&amp;gt; c = a;
+  assert(c-&amp;gt;f() == 42);
+}
+```
+* std::polymorphic[color ff0000]
+* std::in_place_type[link /reference/utility/in_place_type_t.md]
+
+### 出力
+```
+```
+
+
+## バージョン
+### 言語
+- C++26
+
+### 処理系
+- [Clang](/implementation.md#clang): 22 [mark noimpl]
+- [GCC](/implementation.md#gcc): 16.1 [mark verified]
+- [Visual C++](/implementation.md#visual_cpp): 2026 Update 2 [mark noimpl]
+
+
+## 関連項目
+- [`std::polymorphic`](../polymorphic.md)
+
+
+## 参照
+- [P3019R14 `indirect` and `polymorphic`: Vocabulary Types for Composite Class Design](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3019r14.pdf)
&lt;/code&gt;&lt;/pre&gt;</summary>
      
      <author>
        <name>Akira Takahashi</name>
        <email>faithandbrave@gmail.com</email>
      </author>
    </entry>
  
    <entry>
      <title>operator* -- Merge pull request #1661 from cpprefjp/indirect_polymorphic</title>
      <link href="https://cpprefjp.github.io/reference/memory/polymorphic/op_deref.html"/>
      <id>83e1e23ae95fd3b652908152cf8de66cbcf5f65d:reference/memory/polymorphic/op_deref.md</id>
      <updated>2026-06-24T10:24:58+09:00</updated>
      
        <summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/memory/polymorphic/op_deref.md b/reference/memory/polymorphic/op_deref.md
new file mode 100644
index 000000000..bfc03fe52
--- /dev/null
+++ b/reference/memory/polymorphic/op_deref.md
@@ -0,0 +1,75 @@
+# operator*
+* memory[meta header]
+* std[meta namespace]
+* polymorphic[meta class]
+* function[meta id-type]
+* cpp26[meta cpp]
+
+```cpp
+constexpr const T&amp;amp; operator*() const noexcept; // (1)
+constexpr T&amp;amp; operator*() noexcept;             // (2)
+```
+
+## 概要
+所有するオブジェクトへの、基底型`T`としての参照を取得する。`const`なアクセス経路では`const`が所有オブジェクトに伝播する。
+
+
+## 事前条件
+`*this`が無効値状態でないこと。
+
+
+## 戻り値
+所有するオブジェクトへの`T`型としての参照。
+
+
+## 例外
+投げない。
+
+
+## 例
+```cpp example
+#include &amp;lt;cassert&amp;gt;
+#include &amp;lt;memory&amp;gt;
+
+struct Base {
+  virtual ~Base() = default;
+  virtual int f() const { return 0; }
+};
+struct Derived : Base {
+  int x = 42;
+  Derived() = default;
+  Derived(int x) : x(x) {}
+  int f() const override { return x; }
+};
+
+int main()
+{
+  std::polymorphic&amp;lt;Base&amp;gt; a{std::in_place_type&amp;lt;Derived&amp;gt;};
+  Base&amp;amp; r = *a;          // 基底型Baseとしての参照を取得
+  assert(r.f() == 42);   // 仮想関数で派生型Derivedの実装が呼ばれる
+}
+```
+* std::polymorphic[color ff0000]
+* std::in_place_type[link /reference/utility/in_place_type_t.md]
+
+### 出力
+```
+```
+
+
+## バージョン
+### 言語
+- C++26
+
+### 処理系
+- [Clang](/implementation.md#clang): 22 [mark noimpl]
+- [GCC](/implementation.md#gcc): 16.1 [mark verified]
+- [Visual C++](/implementation.md#visual_cpp): 2026 Update 2 [mark noimpl]
+
+
+## 関連項目
+- [`std::polymorphic`](../polymorphic.md)
+
+
+## 参照
+- [P3019R14 `indirect` and `polymorphic`: Vocabulary Types for Composite Class Design](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3019r14.pdf)
&lt;/code&gt;&lt;/pre&gt;</summary>
      
      <author>
        <name>Akira Takahashi</name>
        <email>faithandbrave@gmail.com</email>
      </author>
    </entry>
  
    <entry>
      <title>デストラクタ -- Merge pull request #1661 from cpprefjp/indirect_polymorphic</title>
      <link href="https://cpprefjp.github.io/reference/memory/polymorphic/op_destructor.html"/>
      <id>83e1e23ae95fd3b652908152cf8de66cbcf5f65d:reference/memory/polymorphic/op_destructor.md</id>
      <updated>2026-06-24T10:24:58+09:00</updated>
      
        <summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/memory/polymorphic/op_destructor.md b/reference/memory/polymorphic/op_destructor.md
new file mode 100644
index 000000000..94fba4547
--- /dev/null
+++ b/reference/memory/polymorphic/op_destructor.md
@@ -0,0 +1,39 @@
+# デストラクタ
+* memory[meta header]
+* std[meta namespace]
+* polymorphic[meta class]
+* function[meta id-type]
+* cpp26[meta cpp]
+
+```cpp
+constexpr ~polymorphic();
+```
+
+## 概要
+`polymorphic`オブジェクトを破棄する。
+
+
+## 適格要件
+`T`は完全型であること。
+
+
+## 効果
+`*this`が無効値状態でなければ、所有するオブジェクトを[`allocator_traits`](/reference/memory/allocator_traits.md)`&amp;lt;Allocator&amp;gt;::destroy`で破棄し、ストレージを解放する。
+
+
+## バージョン
+### 言語
+- C++26
+
+### 処理系
+- [Clang](/implementation.md#clang): 22 [mark noimpl]
+- [GCC](/implementation.md#gcc): 16.1 [mark verified]
+- [Visual C++](/implementation.md#visual_cpp): 2026 Update 2 [mark noimpl]
+
+
+## 関連項目
+- [`std::polymorphic`](../polymorphic.md)
+
+
+## 参照
+- [P3019R14 `indirect` and `polymorphic`: Vocabulary Types for Composite Class Design](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3019r14.pdf)
&lt;/code&gt;&lt;/pre&gt;</summary>
      
      <author>
        <name>Akira Takahashi</name>
        <email>faithandbrave@gmail.com</email>
      </author>
    </entry>
  
    <entry>
      <title>swap -- Merge pull request #1661 from cpprefjp/indirect_polymorphic</title>
      <link href="https://cpprefjp.github.io/reference/memory/polymorphic/swap.html"/>
      <id>83e1e23ae95fd3b652908152cf8de66cbcf5f65d:reference/memory/polymorphic/swap.md</id>
      <updated>2026-06-24T10:24:58+09:00</updated>
      
        <summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/memory/polymorphic/swap.md b/reference/memory/polymorphic/swap.md
new file mode 100644
index 000000000..695d15cce
--- /dev/null
+++ b/reference/memory/polymorphic/swap.md
@@ -0,0 +1,74 @@
+# swap
+* memory[meta header]
+* std[meta namespace]
+* polymorphic[meta class]
+* function[meta id-type]
+* cpp26[meta cpp]
+
+```cpp
+constexpr void swap(polymorphic&amp;amp; other) noexcept(see below);
+```
+
+## 概要
+`*this`と`other`の状態を交換する。所有オブジェクトまたは無効値状態を交換する。
+
+
+## 事前条件
+[`allocator_traits`](/reference/memory/allocator_traits.md)`&amp;lt;Allocator&amp;gt;::propagate_on_container_swap::value`が`true`の場合、`Allocator`は*Cpp17Swappable*要件を満たすこと。そうでない場合、`get_allocator() == other.get_allocator()`が`true`であること。
+
+
+## 効果
+`*this`と`other`の状態を交換する。`propagate_on_container_swap::value`が`true`の場合はアロケータも交換する。
+
+
+## 例外
+以下と等価な`noexcept`指定を持つ：
+
+```cpp
+noexcept(allocator_traits&amp;lt;Allocator&amp;gt;::propagate_on_container_swap::value ||
+         allocator_traits&amp;lt;Allocator&amp;gt;::is_always_equal::value)
+```
+* allocator_traits[link /reference/memory/allocator_traits.md]
+
+
+## 例
+```cpp example
+#include &amp;lt;cassert&amp;gt;
+#include &amp;lt;memory&amp;gt;
+
+struct Base { virtual ~Base() = default; virtual int f() const = 0; };
+struct D1 : Base { int f() const override { return 1; } };
+struct D2 : Base { int f() const override { return 2; } };
+
+int main()
+{
+  std::polymorphic&amp;lt;Base&amp;gt; a{std::in_place_type&amp;lt;D1&amp;gt;};
+  std::polymorphic&amp;lt;Base&amp;gt; b{std::in_place_type&amp;lt;D2&amp;gt;};
+  a.swap(b);
+  assert(a-&amp;gt;f() == 2 &amp;amp;&amp;amp; b-&amp;gt;f() == 1);
+}
+```
+* std::polymorphic[color ff0000]
+* std::in_place_type[link /reference/utility/in_place_type_t.md]
+
+### 出力
+```
+```
+
+
+## バージョン
+### 言語
+- C++26
+
+### 処理系
+- [Clang](/implementation.md#clang): 22 [mark noimpl]
+- [GCC](/implementation.md#gcc): 16.1 [mark verified]
+- [Visual C++](/implementation.md#visual_cpp): 2026 Update 2 [mark noimpl]
+
+
+## 関連項目
+- [`std::polymorphic`](../polymorphic.md)
+
+
+## 参照
+- [P3019R14 `indirect` and `polymorphic`: Vocabulary Types for Composite Class Design](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3019r14.pdf)
&lt;/code&gt;&lt;/pre&gt;</summary>
      
      <author>
        <name>Akira Takahashi</name>
        <email>faithandbrave@gmail.com</email>
      </author>
    </entry>
  
    <entry>
      <title>swap -- Merge pull request #1661 from cpprefjp/indirect_polymorphic</title>
      <link href="https://cpprefjp.github.io/reference/memory/polymorphic/swap_free.html"/>
      <id>83e1e23ae95fd3b652908152cf8de66cbcf5f65d:reference/memory/polymorphic/swap_free.md</id>
      <updated>2026-06-24T10:24:58+09:00</updated>
      
        <summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/memory/polymorphic/swap_free.md b/reference/memory/polymorphic/swap_free.md
new file mode 100644
index 000000000..f680893d8
--- /dev/null
+++ b/reference/memory/polymorphic/swap_free.md
@@ -0,0 +1,68 @@
+# swap
+* memory[meta header]
+* std[meta namespace]
+* polymorphic[meta class]
+* function[meta id-type]
+* cpp26[meta cpp]
+
+```cpp
+friend constexpr void swap(polymorphic&amp;amp; lhs, polymorphic&amp;amp; rhs) noexcept(see below);
+```
+
+## 概要
+2つの`polymorphic`オブジェクトを交換する。*Hidden friends*として定義される。
+
+
+## 効果
+`lhs.swap(rhs)`と等価。
+
+
+## 例外
+以下と等価な`noexcept`指定を持つ：
+
+```cpp
+noexcept(noexcept(lhs.swap(rhs)))
+```
+
+
+## 例
+```cpp example
+#include &amp;lt;cassert&amp;gt;
+#include &amp;lt;memory&amp;gt;
+
+struct Base { virtual ~Base() = default; virtual int f() const = 0; };
+struct D1 : Base { int f() const override { return 1; } };
+struct D2 : Base { int f() const override { return 2; } };
+
+int main()
+{
+  std::polymorphic&amp;lt;Base&amp;gt; a{std::in_place_type&amp;lt;D1&amp;gt;};
+  std::polymorphic&amp;lt;Base&amp;gt; b{std::in_place_type&amp;lt;D2&amp;gt;};
+  swap(a, b);   // ADLにより非メンバswapが呼ばれる
+  assert(a-&amp;gt;f() == 2 &amp;amp;&amp;amp; b-&amp;gt;f() == 1);
+}
+```
+* std::polymorphic[color ff0000]
+* std::in_place_type[link /reference/utility/in_place_type_t.md]
+
+### 出力
+```
+```
+
+
+## バージョン
+### 言語
+- C++26
+
+### 処理系
+- [Clang](/implementation.md#clang): 22 [mark noimpl]
+- [GCC](/implementation.md#gcc): 16.1 [mark verified]
+- [Visual C++](/implementation.md#visual_cpp): 2026 Update 2 [mark noimpl]
+
+
+## 関連項目
+- [`std::polymorphic`](../polymorphic.md)
+
+
+## 参照
+- [P3019R14 `indirect` and `polymorphic`: Vocabulary Types for Composite Class Design](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3019r14.pdf)
&lt;/code&gt;&lt;/pre&gt;</summary>
      
      <author>
        <name>Akira Takahashi</name>
        <email>faithandbrave@gmail.com</email>
      </author>
    </entry>
  
    <entry>
      <title>valueless_after_move -- Merge pull request #1661 from cpprefjp/indirect_polymorphic</title>
      <link href="https://cpprefjp.github.io/reference/memory/polymorphic/valueless_after_move.html"/>
      <id>83e1e23ae95fd3b652908152cf8de66cbcf5f65d:reference/memory/polymorphic/valueless_after_move.md</id>
      <updated>2026-06-24T10:24:58+09:00</updated>
      
        <summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/memory/polymorphic/valueless_after_move.md b/reference/memory/polymorphic/valueless_after_move.md
new file mode 100644
index 000000000..687f983f7
--- /dev/null
+++ b/reference/memory/polymorphic/valueless_after_move.md
@@ -0,0 +1,72 @@
+# valueless_after_move
+* memory[meta header]
+* std[meta namespace]
+* polymorphic[meta class]
+* function[meta id-type]
+* cpp26[meta cpp]
+
+```cpp
+constexpr bool valueless_after_move() const noexcept;
+```
+
+## 概要
+`*this`が無効値状態かどうかを判定する。`polymorphic`はムーブされたあとにのみ無効値状態となりうる。
+
+
+## 戻り値
+`*this`が無効値状態であれば`true`、そうでなければ`false`。
+
+
+## 例外
+投げない。
+
+
+## 例
+```cpp example
+#include &amp;lt;cassert&amp;gt;
+#include &amp;lt;memory&amp;gt;
+
+struct Base {
+  virtual ~Base() = default;
+  virtual int f() const { return 0; }
+};
+struct Derived : Base {
+  int x = 42;
+  Derived() = default;
+  Derived(int x) : x(x) {}
+  int f() const override { return x; }
+};
+
+int main()
+{
+  std::polymorphic&amp;lt;Base&amp;gt; a{std::in_place_type&amp;lt;Derived&amp;gt;};
+  assert(!a.valueless_after_move());
+
+  std::polymorphic&amp;lt;Base&amp;gt; b = std::move(a);
+  assert(a.valueless_after_move());  // ムーブ後は無効値状態
+}
+```
+* std::polymorphic[color ff0000]
+* std::in_place_type[link /reference/utility/in_place_type_t.md]
+
+### 出力
+```
+```
+
+
+## バージョン
+### 言語
+- C++26
+
+### 処理系
+- [Clang](/implementation.md#clang): 22 [mark noimpl]
+- [GCC](/implementation.md#gcc): 16.1 [mark verified]
+- [Visual C++](/implementation.md#visual_cpp): 2026 Update 2 [mark noimpl]
+
+
+## 関連項目
+- [`std::polymorphic`](../polymorphic.md)
+
+
+## 参照
+- [P3019R14 `indirect` and `polymorphic`: Vocabulary Types for Composite Class Design](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3019r14.pdf)
&lt;/code&gt;&lt;/pre&gt;</summary>
      
      <author>
        <name>Akira Takahashi</name>
        <email>faithandbrave@gmail.com</email>
      </author>
    </entry>
  
    <entry>
      <title>C++26 -- C++26対応としてindirectとpolymorphicのリファレンスを作成 #1430</title>
      <link href="https://cpprefjp.github.io/lang/cpp26.html"/>
      <id>cff22113c8f884df3e65c2d23570ba6dc92e1fec:lang/cpp26.md</id>
      <updated>2026-06-22T16:01:50+09:00</updated>
      
        <content type="html">&lt;h1 itemprop=&#34;name&#34;&gt;&lt;span class=&#34;token&#34;&gt;C++26&lt;/span&gt;&lt;/h1&gt;
&lt;div itemprop=&#34;articleBody&#34;&gt;&lt;h2&gt;概要&lt;/h2&gt;
&lt;p&gt;C++26とは、2026年中に改訂される予定の、C++バージョンの通称である。&lt;/p&gt;
&lt;p&gt;このバージョンは、策定中のためC++2cと呼ばれることがある。「(2020年代の3つ目のバージョンが) 202c年にリリースされる」という伏せ字として「c」が使われているが、3年周期に次のバージョンが策定されることが決まっているため、伏せ字になっている年数がずれることはない。&lt;/p&gt;
&lt;h2&gt;言語機能&lt;/h2&gt;
&lt;h3&gt;変数&lt;/h3&gt;
&lt;table border=&#34;1&#34; bordercolor=&#34;#888&#34; style=&#34;border-collapse:collapse&#34;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;言語機能&lt;/th&gt;
&lt;th&gt;説明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/static_storage_for_braced_initializers.html&#34;&gt;&lt;code&gt;std::initializer_list&lt;/code&gt;の配列を静的記憶域に配置する&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;std::vector v = {1, 2, 3};&lt;/code&gt;のような初期化で初期化子リストを静的記憶域に配置することで無駄なコピーをなくす&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/nice_placeholder_with_no_name.html&#34;&gt;宣言のみで使用しない変数の名前として&lt;code&gt;_&lt;/code&gt;をサポート&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;変数名&lt;code&gt;_&lt;/code&gt;は暗黙で&lt;code&gt;[[maybe_unused]]&lt;/code&gt;が指定される&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/deleting_a_pointer_to_an_incomplete_type_should_be_ill-formed.html&#34;&gt;不完全型へのポインタに対する&lt;code&gt;delete&lt;/code&gt;を不適格とする&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;未定義動作を引き起こす操作をコンパイルエラーとする&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/disallow_binding_a_returned_glvalue_to_a_temporary.html&#34;&gt;返却された左辺値から暗黙変換された一時オブジェクトが参照に束縛されることを禁止する&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;寿命切れの変数によって引き起こされるバグを防止する&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/clarifying_rules_for_brace_elision_in_aggregate_initialization.html&#34;&gt;要素数不明の配列を集成体初期化する規則を明確化&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;配列要素の集成体初期化で&lt;code&gt;{}&lt;/code&gt;が省略された場合の矛盾していた規定を修正&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/erroneous_behavior_for_uninitialized_reads.html&#34;&gt;未初期化変数の読み取りをエラー性動作とする&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;初期化されていない自動変数の読み取りの安全性を規定する&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/structured_bindings_can_introduce_a_pack.html&#34;&gt;構造化束縛でパックを導入できるようにする&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;タプルを分解する際に複数の変数をパックとして宣言できるようにする。&lt;code&gt;auto [a, ...xs] = f();&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3&gt;文字列&lt;/h3&gt;
&lt;table border=&#34;1&#34; bordercolor=&#34;#888&#34; style=&#34;border-collapse:collapse&#34;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;言語機能&lt;/th&gt;
&lt;th&gt;説明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/making_non-encodable_string_literals_ill-formed.html&#34;&gt;文字列リテラルの文字エンコーディング失敗を不適格とする&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;文字列リテラルのエンコーディング時に文字表現が失われる場合にコンパイルエラーにする&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/unevaluated_strings.html&#34;&gt;コンパイル時にのみ使用される文字列の扱いを明確化&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;static_assert&lt;/code&gt;や&lt;code&gt;[[deprecated]]&lt;/code&gt;などで使用されるコンパイル時の文字列について、文字コードの指定を禁止し、実行時エンコーディングが行われないことを規定&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3&gt;分岐・ループ&lt;/h3&gt;
&lt;table border=&#34;1&#34; bordercolor=&#34;#888&#34; style=&#34;border-collapse:collapse&#34;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;言語機能&lt;/th&gt;
&lt;th&gt;説明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/structured_binding_declaration_as_a_condition.html&#34;&gt;条件式での構造化束縛の使用を許可&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;式全体を&lt;code&gt;bool&lt;/code&gt;値に変換できる場合に条件式で構造化束縛を使用できることとする&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/trivial_infinite_loops_are_not_undefined_behavior.html&#34;&gt;空の無限ループは未定義動作ではないと規定&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;並行プログラムの進行保証などを考慮して空の無限ループを未定義動作ではないものとする&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3&gt;関数&lt;/h3&gt;
&lt;table border=&#34;1&#34; bordercolor=&#34;#888&#34; style=&#34;border-collapse:collapse&#34;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;言語機能&lt;/th&gt;
&lt;th&gt;説明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/delete_reason.html&#34;&gt;関数宣言を削除する理由を指定できるようにする&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;f() = delete(&#34;reason&#34;);&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/contracts.html&#34;&gt;契約プログラミングをサポートする&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;関数の事前条件、事後条件、不変条件を記述できるようにする&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3&gt;クラス&lt;/h3&gt;
&lt;table border=&#34;1&#34; bordercolor=&#34;#888&#34; style=&#34;border-collapse:collapse&#34;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;言語機能&lt;/th&gt;
&lt;th&gt;説明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/trivial_unions.html&#34;&gt;共用体の特殊メンバ関数のトリビアル化&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;非トリビアルな型をメンバにもつ共用体のデフォルトコンストラクタとデストラクタをトリビアルにし、未初期化ストレージとして使用可能にする&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/adjustments_to_union_lifetime_rules.md.nolink&#34;&gt;共用体の寿命ルールの調整&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;union&lt;/code&gt;メンバの活性化や寿命に関する規則を整理して&lt;code&gt;constexpr&lt;/code&gt;評価などの一貫性を改善する&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/clarifying_placement_new_deallocation.md.nolink&#34;&gt;配置newの解放処理を明確化&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;配置&lt;code&gt;new&lt;/code&gt;で確保したメモリの解放処理の取り扱いに関するルールを明確化する&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3&gt;属性&lt;/h3&gt;
&lt;table border=&#34;1&#34; bordercolor=&#34;#888&#34; style=&#34;border-collapse:collapse&#34;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;言語機能&lt;/th&gt;
&lt;th&gt;説明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/on_the_ignorability_of_standard_attributes.html&#34;&gt;属性の無視性を見直し&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;構文として適格な属性のみを無視できるようにし、そうでない属性の使用を&lt;a class=&#34;cpprefjp-defined-word&#34;&gt;不適格&lt;/a&gt;とする&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/attributes_for_structured_bindings.html&#34;&gt;構造化束縛への属性を許可&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;auto [a, b [[maybe_unused]], c] = f();&lt;/code&gt;のように構造化束縛の要素に対して属性を付加できるようにする&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3&gt;テンプレート&lt;/h3&gt;
&lt;table border=&#34;1&#34; bordercolor=&#34;#888&#34; style=&#34;border-collapse:collapse&#34;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;言語機能&lt;/th&gt;
&lt;th&gt;説明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/pack_indexing.html&#34;&gt;パラメータパックへのインデックスアクセスを許可&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;可変引数テンプレートのパラメータパックに添字アクセスできるようにする&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/ordering_of_constraints_involving_fold_expressions.html&#34;&gt;制約式内での畳み込み式の順序付け&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;畳み込み式を含む制約の包摂関係を認識できるようにし、オーバーロード解決の曖昧さを解消する&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/variadic_friends.html&#34;&gt;可変引数テンプレートで&lt;code&gt;friend&lt;/code&gt;宣言をできるようにする&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;クラステンプレートの可変引数テンプレートでまとめて&lt;code&gt;friend&lt;/code&gt;宣言できるようにする&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/concept_and_variable-template_template-parameters.html&#34;&gt;コンセプトと変数テンプレートをテンプレート引数として渡せるようにする&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;テンプレートテンプレートパラメータとして、クラステンプレートやエイリアステンプレートに加え、コンセプトと変数テンプレートも渡せるようにする&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/reconsider_partial_ordering_of_variadic_templates.md.nolink&#34;&gt;可変引数テンプレートの半順序を再検討する&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;可変引数テンプレートの部分特殊化の半順序ルールを再検討して、より一貫したルールにする&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/class_template_argument_deduction_for_type_template_template_parameters.md.nolink&#34;&gt;テンプレートテンプレートパラメータに対するクラステンプレートパラメータ引数推論&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;テンプレートテンプレートパラメータからクラステンプレート引数を推論できるようにクラステンプレートのテンプレート引数推論を拡張する&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/define_immediate_context.md.nolink&#34;&gt;「immediate context」の定義を明確化&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;SFINAEにおける「immediate context」の用語を厳密に定義し、置換失敗の範囲を明確にする&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3&gt;定数式&lt;/h3&gt;
&lt;table border=&#34;1&#34; bordercolor=&#34;#888&#34; style=&#34;border-collapse:collapse&#34;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;言語機能&lt;/th&gt;
&lt;th&gt;説明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/reflection.html&#34;&gt;静的リフレクション&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;リフレクション演算子&lt;code&gt;^^&lt;/code&gt;と&lt;code&gt;std::meta::info&lt;/code&gt;型によりコンパイル時にさまざまな情報を取得できる&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/expansion_statements.html&#34;&gt;コンパイル時のタプルやリストを展開処理する&lt;code&gt;template for&lt;/code&gt;文&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;タプル・構造体・Range・パラメータパックなどの各要素に対してコンパイル時に文を展開する&lt;code&gt;template for&lt;/code&gt;文を追加&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/constexpr_cast_from_voidptr.html&#34;&gt;定数式での&lt;code&gt;void*&lt;/code&gt;からポインタ型へのキャストを許可&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;型消去のために&lt;code&gt;void*&lt;/code&gt;からポインタ型へのキャストを許可する&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/user-generated_static_assert_messages.html&#34;&gt;&lt;code&gt;static_assert&lt;/code&gt;の診断メッセージにユーザーが生成した文字列の指定を許可&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;constexpr&lt;/code&gt;な&lt;code&gt;S.size()&lt;/code&gt;と&lt;code&gt;S.data()&lt;/code&gt;メンバ関数をもつオブジェクトをコンパイル時文字列として指定できるようにする&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/constexpr_placement_new.html&#34;&gt;&lt;code&gt;constexpr&lt;/code&gt;配置&lt;code&gt;new&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;定数式の文脈での配置&lt;code&gt;new&lt;/code&gt;を許可&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/constexpr_structured_bindings_and_references_to_constexpr_variables.html&#34;&gt;&lt;code&gt;constexpr&lt;/code&gt;構造化束縛の許可と、&lt;code&gt;constexpr&lt;/code&gt;参照の制限緩和&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;定数式に対する構造化束縛を許可し、関連して&lt;code&gt;constexpr&lt;/code&gt;参照の制限を緩和して自動変数も参照できるようにする&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/allowing_exception_throwing_in_constant-evaluation.html&#34;&gt;定数評価での例外送出を許可&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;定数式の文脈での例外の送出と捕捉を許可&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/constexpr_virtual_inheritance.html&#34;&gt;&lt;code&gt;constexpr&lt;/code&gt;仮想継承を許可&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;定数式の文脈での仮想継承を許可&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/constant_evaluation_when.md.nolink&#34;&gt;定数評価の開始・終了タイミングを明確化&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;定数評価がどのタイミングで開始・終了するかを明確化し、constexprコンテキストの規則を整える&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3&gt;プリプロセッサ&lt;/h3&gt;
&lt;table border=&#34;1&#34; bordercolor=&#34;#888&#34; style=&#34;border-collapse:collapse&#34;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;言語機能&lt;/th&gt;
&lt;th&gt;説明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/embed.html&#34;&gt;ファイルを読み込む&lt;code&gt;#embed&lt;/code&gt;命令を追加&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;バイナリファイルをインクルードするメカニズム。&lt;code&gt;#include&lt;/code&gt;とちがって読み出しサイズなどの柔軟な指定ができる&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/preprocessing_is_never_undefined.html&#34;&gt;プリプロセッサ仕様での「未定義動作」を不適格 (診断不要) に変更&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;プリプロセッサとレキサーの文脈での「未定義動作」用語を&lt;a class=&#34;cpprefjp-defined-word&#34;&gt;不適格&lt;/a&gt; (診断不要) に変更&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/line_is_not_in_line_with_existing_implementation.md.nolink&#34;&gt;&lt;code&gt;#line&lt;/code&gt;ディレクティブの制約を現実の実装に合わせて緩和する&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;#line 0&lt;/code&gt;や&lt;code&gt;#line 2147483648&lt;/code&gt;のような行番号指定を&lt;a class=&#34;cpprefjp-defined-word&#34;&gt;不適格&lt;/a&gt;としていたが、条件付きサポートとして許可する&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3&gt;ソースコード&lt;/h3&gt;
&lt;table border=&#34;1&#34; bordercolor=&#34;#888&#34; style=&#34;border-collapse:collapse&#34;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;言語機能&lt;/th&gt;
&lt;th&gt;説明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/add_atsign_dollar_graveaccent_to_the_basic_character_set.html&#34;&gt;基本文字集合に@、$、`を追加&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;C言語との互換性のためにこれらの文字を基本文字集合に追加&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3&gt;モジュール&lt;/h3&gt;
&lt;table border=&#34;1&#34; bordercolor=&#34;#888&#34; style=&#34;border-collapse:collapse&#34;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;言語機能&lt;/th&gt;
&lt;th&gt;説明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/module_declarations_shouldnt_be_macros.html&#34;&gt;モジュール宣言でのモジュール名のマクロ展開を禁止する&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;export module MACRO_NAME;&lt;/code&gt;を禁止&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/allow_attaching_main_to_the_global_module.html&#34;&gt;&lt;code&gt;main&lt;/code&gt;関数をグローバルモジュールに含められるようにする&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;main&lt;/code&gt;関数に&lt;code&gt;extern &#34;C++&#34;&lt;/code&gt;を指定できるようにすることで名前付きモジュールに含められるようにする&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/allow_line_before_module_declarations.html&#34;&gt;モジュール宣言より前での&lt;code&gt;#line&lt;/code&gt;ディレクティブの使用を許可する&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;モジュール宣言より前での&lt;code&gt;#line&lt;/code&gt;ディレクティブの使用を禁止していたのは過度な制限だった&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3&gt;機能の非推奨化&lt;/h3&gt;
&lt;table border=&#34;1&#34; bordercolor=&#34;#888&#34; style=&#34;border-collapse:collapse&#34;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;言語機能&lt;/th&gt;
&lt;th&gt;説明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/the_oxford_variadic_comma.html&#34;&gt;先行するカンマのない省略記号を非推奨化&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;void f(int, ...);&lt;/code&gt;はOK。&lt;code&gt;void f(int...);&lt;/code&gt;は非推奨&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3&gt;機能の削除&lt;/h3&gt;
&lt;table border=&#34;1&#34; bordercolor=&#34;#888&#34; style=&#34;border-collapse:collapse&#34;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;言語機能&lt;/th&gt;
&lt;th&gt;説明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/remove_deprecated_array_comparisons.html&#34;&gt;非推奨だった組み込み配列の比較を削除&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;C++20で非推奨となっていた配列比較を削除&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;cpp26/remove_deprecated_arithmetic_conversion_on_enumerations.html&#34;&gt;非推奨となっていた列挙型の算術変換を削除&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;C++20から非推奨となっていた列挙値への算術演算で算術型に暗黙変換される仕様を削除&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;ライブラリ更新の概要&lt;/h2&gt;
&lt;h3&gt;新ライブラリ&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;文字列エンコーディングを識別するライブラリとして、&lt;code&gt;&lt;a href=&#34;../reference/text_encoding.html&#34;&gt;&amp;lt;text_encoding&amp;gt;&lt;/a&gt;&lt;/code&gt;を追加&lt;/li&gt;
&lt;li&gt;要素のメモリ位置が安定するシーケンスコンテナのライブラリとして&lt;code&gt;&lt;a href=&#34;../reference/hive.md.nolink&#34;&gt;&amp;lt;hive&amp;gt;&lt;/a&gt;&lt;/code&gt;を追加&lt;/li&gt;
&lt;li&gt;並行処理におけるデータの参照・更新を行うRCU (Read Copy Update) のライブラリとして、&lt;code&gt;&lt;a href=&#34;../reference/rcu.html&#34;&gt;&amp;lt;rcu&amp;gt;&lt;/a&gt;&lt;/code&gt;を追加&lt;/li&gt;
&lt;li&gt;並行処理において参照中のデータが更新されないよう保護するハザードポインタのライブラリとして、&lt;code&gt;&lt;a href=&#34;../reference/hazard_pointer.md.nolink&#34;&gt;&amp;lt;hazard_pointer&amp;gt;&lt;/a&gt;&lt;/code&gt;を追加&lt;/li&gt;
&lt;li&gt;データ並列ライブラリとして、&lt;code&gt;&lt;a href=&#34;../reference/simd.md.nolink&#34;&gt;&amp;lt;simd&amp;gt;&lt;/a&gt;&lt;/code&gt;を追加&lt;/li&gt;
&lt;li&gt;デバッグサポートのライブラリとして&lt;code&gt;&lt;a href=&#34;../reference/debugging.html&#34;&gt;&amp;lt;debugging&amp;gt;&lt;/a&gt;&lt;/code&gt;を追加&lt;/li&gt;
&lt;li&gt;線形代数ライブラリとして&lt;code&gt;&lt;a href=&#34;../reference/linalg.html&#34;&gt;&amp;lt;linalg&amp;gt;&lt;/a&gt;&lt;/code&gt;を追加&lt;/li&gt;
&lt;li&gt;コンパイル時に容量を固定する可変長配列クラスのライブラリとして&lt;code&gt;&lt;a href=&#34;../reference/inplace_vector.html&#34;&gt;&amp;lt;inplace_vector&amp;gt;&lt;/a&gt;&lt;/code&gt;を追加&lt;/li&gt;
&lt;li&gt;C23の互換ライブラリとして、ビット操作ライブラリ&lt;code&gt;&lt;a href=&#34;../reference/stdbit.h.html&#34;&gt;&amp;lt;stdbit.h&amp;gt;&lt;/a&gt;&lt;/code&gt;と、検査付き整数演算ライブラリ&lt;code&gt;&lt;a href=&#34;../reference/stdckdint.h.html&#34;&gt;&amp;lt;stdckdint.h&amp;gt;&lt;/a&gt;&lt;/code&gt;を追加。&lt;code&gt;&amp;lt;cstd…&amp;gt;&lt;/code&gt;形式のライブラリは追加されない&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;全体&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;標準ライブラリに付加された、戻り値を無視した際に警告を出力する&lt;a href=&#34;cpp17/nodiscard.html&#34;&gt;&lt;code&gt;[[nodiscard]]&lt;/code&gt;属性&lt;/a&gt;を削除&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;コンテナ&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/vector/vector.html&#34;&gt;std::vector&amp;lt;bool&amp;gt;::reference&lt;/a&gt;&lt;/code&gt;のプロキシ操作として、&lt;code&gt;const&lt;/code&gt;修飾付きの代入と&lt;code&gt;swap()&lt;/code&gt;メンバ関数を追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/mdspan/mdspan.html&#34;&gt;std::mdspan&lt;/a&gt;&lt;/code&gt;から部分ビューを取り出す&lt;code&gt;&lt;a href=&#34;../reference/mdspan/submdspan.html&#34;&gt;std::submdspan()&lt;/a&gt;&lt;/code&gt;を追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/mdspan/mdspan.html&#34;&gt;std::mdspan&lt;/a&gt;&lt;/code&gt;に、インデックスを指定して要素を取り出す&lt;code&gt;&lt;a href=&#34;../reference/mdspan/mdspan/at.html&#34;&gt;at()&lt;/a&gt;&lt;/code&gt;メンバ関数を追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/mdspan/mdspan.html&#34;&gt;std::mdspan&lt;/a&gt;&lt;/code&gt;に対する&lt;code&gt;&lt;a href=&#34;../reference/mdspan/extents.html&#34;&gt;std::dextents&lt;/a&gt;&lt;/code&gt;指定の冗長さを解決する&lt;code&gt;&lt;a href=&#34;../reference/mdspan/extents.html&#34;&gt;std::dims&lt;/a&gt;&lt;/code&gt;を追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/mdspan/mdspan.html&#34;&gt;std::mdspan&lt;/a&gt;&lt;/code&gt;のレイアウトとして、&lt;code&gt;&lt;a href=&#34;../reference/mdspan/layout_left_padded.html&#34;&gt;std::layout_left_padded&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../reference/mdspan/layout_right_padded.html&#34;&gt;std::layout_right_padded&lt;/a&gt;&lt;/code&gt;を追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/mdspan.html&#34;&gt;&amp;lt;mdspan&amp;gt;&lt;/a&gt;&lt;/code&gt;に、要素アクセスにアライメント保証を与える&lt;code&gt;&lt;a href=&#34;../reference/mdspan/aligned_accessor.html&#34;&gt;std::aligned_accessor&lt;/a&gt;&lt;/code&gt;を追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/span/span.html&#34;&gt;std::span&lt;/a&gt;&lt;/code&gt;に、インデックスアクセスのための&lt;code&gt;&lt;a href=&#34;../reference/span/span/at.html&#34;&gt;at()&lt;/a&gt;&lt;/code&gt;メンバ関数を追加&lt;/li&gt;
&lt;li&gt;連想コンテナの以下のメンバ関数に、一時オブジェクトが生成されるコストを抑える拡張を追加&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/map/map.html&#34;&gt;std::map&lt;/a&gt;&lt;/code&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/map/map/op_at.html&#34;&gt;operator[]&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/map/map/at.html&#34;&gt;at()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/map/map/try_emplace.html&#34;&gt;try_emplace()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/map/map/insert_or_assign.html&#34;&gt;insert_or_assign()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/set/set.html&#34;&gt;std::set&lt;/a&gt;&lt;/code&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/set/set/insert.html&#34;&gt;insert()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/unordered_map/unordered_map.html&#34;&gt;std::unordered_map&lt;/a&gt;&lt;/code&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/unordered_map/unordered_map/op_at.html&#34;&gt;operator[]&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/unordered_map/unordered_map/at.html&#34;&gt;at()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/unordered_map/unordered_map/try_emplace.html&#34;&gt;try_emplace()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/unordered_map/unordered_map/insert_or_assign.html&#34;&gt;insert_or_assign()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/unordered_map/unordered_map/bucket.html&#34;&gt;bucket()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/unordered_map/unordered_multimap.html&#34;&gt;std::unordered_multimap&lt;/a&gt;&lt;/code&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/unordered_map/unordered_multimap/bucket.html&#34;&gt;bucket()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/unordered_set/unordered_set.html&#34;&gt;std::unordered_set&lt;/a&gt;&lt;/code&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/unordered_set/unordered_set/insert.html&#34;&gt;insert()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/unordered_set/unordered_set/bucket.html&#34;&gt;bucket()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/unordered_set/unordered_multiset.html&#34;&gt;std::unordered_multiset&lt;/a&gt;&lt;/code&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/unordered_set/unordered_multiset/bucket.html&#34;&gt;bucket()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/span/span.html&#34;&gt;std::span&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../reference/mdspan/mdspan.html&#34;&gt;std::mdspan&lt;/a&gt;&lt;/code&gt;の推論補助を改善&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/ranges/concat_view.html&#34;&gt;std::views::concat&lt;/a&gt;&lt;/code&gt;を追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/ranges/cache_latest_view.html&#34;&gt;std::views::cache_latest&lt;/a&gt;&lt;/code&gt;を追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/ranges/as_input_view.html&#34;&gt;std::views::as_input&lt;/a&gt;&lt;/code&gt;を追加。これはパフォーマンス向上のために、Rangeを入力Rangeかつ非&lt;code&gt;&lt;a href=&#34;../reference/ranges/common_range.html&#34;&gt;common_range&lt;/a&gt;&lt;/code&gt; (イテレータと番兵の型を別する) に変換する&lt;/li&gt;
&lt;li&gt;Range関係の、償却定数時間での要素追加を行う機能を追加&lt;ul&gt;
&lt;li&gt;各viewクラスに&lt;code&gt;reserve_hint()&lt;/code&gt;メンバ関数を追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/ranges/reserve_hint.html&#34;&gt;std::ranges::reserve_hint()&lt;/a&gt;&lt;/code&gt;関数を追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/ranges/approximately_sized_range.html&#34;&gt;std::ranges::approximately_sized_range&lt;/a&gt;&lt;/code&gt;コンセプトを追加&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;インデックス列を生成する&lt;code&gt;&lt;a href=&#34;../reference/ranges/indices.html&#34;&gt;std::views::indices&lt;/a&gt;&lt;/code&gt;を追加&lt;/li&gt;
&lt;li&gt;連続イテレータのコンセプト&lt;code&gt;&lt;a href=&#34;../reference/iterator/contiguous_iterator.html&#34;&gt;contiguous_iterator&lt;/a&gt;&lt;/code&gt;に、ポインタに変換できることを要件として追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/initializer_list/initializer_list.html&#34;&gt;std::initializer_list&lt;/a&gt;&lt;/code&gt;クラスを以下のように変更&lt;ul&gt;
&lt;li&gt;独自に定義されていた&lt;code&gt;&lt;a href=&#34;../reference/initializer_list/initializer_list/begin_free.html&#34;&gt;std::begin()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/initializer_list/initializer_list/end_free.html&#34;&gt;std::end()&lt;/a&gt;&lt;/code&gt;のオーバーロードを削除 (&lt;code&gt;std::cbegin()&lt;/code&gt;や&lt;code&gt;std::rend()&lt;/code&gt;のようなオーバーロードがなかったため、ほかとの不整合があった)&lt;/li&gt;
&lt;li&gt;メンバ関数&lt;code&gt;&lt;a href=&#34;../reference/initializer_list/initializer_list/data.html&#34;&gt;data()&lt;/a&gt;&lt;/code&gt;を追加&lt;/li&gt;
&lt;li&gt;メンバ関数&lt;code&gt;&lt;a href=&#34;../reference/initializer_list/initializer_list/empty.html&#34;&gt;empty()&lt;/a&gt;&lt;/code&gt;を追加&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/valarray/valarray.html&#34;&gt;std::valarray&lt;/a&gt;&lt;/code&gt;クラスを以下のように変更&lt;ul&gt;
&lt;li&gt;独自に定義されていた&lt;code&gt;&lt;a href=&#34;../reference/valarray/valarray/begin_free.html&#34;&gt;std::begin()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/valarray/valarray/end_free.html&#34;&gt;std::end()&lt;/a&gt;&lt;/code&gt;のオーバーロードを削除 (&lt;code&gt;std::cbegin()&lt;/code&gt;や&lt;code&gt;std::rend()&lt;/code&gt;のようなオーバーロードがなかったため、ほかとの不整合があった)&lt;/li&gt;
&lt;li&gt;メンバ型&lt;code&gt;iterator&lt;/code&gt; / &lt;code&gt;const_iterator&lt;/code&gt;を追加&lt;/li&gt;
&lt;li&gt;メンバ関数&lt;code&gt;&lt;a href=&#34;../reference/valarray/valarray/begin.html&#34;&gt;begin()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/valarray/valarray/end.html&#34;&gt;end()&lt;/a&gt;&lt;/code&gt;を追加&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;イテレータインタフェースの非メンバ関数&lt;code&gt;&lt;a href=&#34;../reference/iterator/begin.html&#34;&gt;std::begin()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/iterator/end.html&#34;&gt;std::end()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/iterator/cbegin.html&#34;&gt;std::cbegin()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/iterator/cend.html&#34;&gt;std::cend()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/iterator/rbegin.html&#34;&gt;std::rbegin()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/iterator/rend.html&#34;&gt;std::rend()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/iterator/crbegin.html&#34;&gt;std::crbegin()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/iterator/crend.html&#34;&gt;std::crend()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/iterator/size.html&#34;&gt;std::size()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/iterator/ssize.html&#34;&gt;std::ssize()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/iterator/empty.html&#34;&gt;std::empty()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/iterator/data.html&#34;&gt;std::data()&lt;/a&gt;&lt;/code&gt;を以下のように変更&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/initializer_list/initializer_list.html&#34;&gt;std::initializer_list&lt;/a&gt;&lt;/code&gt;型に対するオーバーロードを削除 (専用のオーバーロードを用意しなくても汎用オーバーロードが使用できるようになった)&lt;/li&gt;
&lt;li&gt;条件付き&lt;code&gt;noexcept&lt;/code&gt;指定を追加&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Rangeインタフェースの非メンバ関数&lt;code&gt;&lt;a href=&#34;../reference/ranges/begin.html&#34;&gt;std::ranges::begin()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/ranges/end.html&#34;&gt;std::ranges::end()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/ranges/cbegin.html&#34;&gt;std::ranges::cbegin()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/ranges/cend.html&#34;&gt;std::ranges::cend()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/ranges/rbegin.html&#34;&gt;std::ranges::rbegin()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/ranges/rend.html&#34;&gt;std::ranges::rend()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/ranges/crbegin.html&#34;&gt;std::ranges::crbegin()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/ranges/crend.html&#34;&gt;std::ranges::crend()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/ranges/size.html&#34;&gt;std::ranges::size()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/ranges/ssize.html&#34;&gt;std::ranges::ssize()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/ranges/empty.html&#34;&gt;std::ranges::empty()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/ranges/data.html&#34;&gt;std::ranges::data()&lt;/a&gt;&lt;/code&gt;を以下のように変更&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/initializer_list/initializer_list.html&#34;&gt;std::initializer_list&lt;/a&gt;&lt;/code&gt;型に対するオーバーロードを削除 (専用のオーバーロードを用意しなくても汎用オーバーロードが使用できるようになった)&lt;/li&gt;
&lt;li&gt;条件付き&lt;code&gt;noexcept&lt;/code&gt;指定を追加&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;以下のコンテナを&lt;code&gt;constexpr&lt;/code&gt;に対応&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/deque/deque.html&#34;&gt;std::deque&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/forward_list/forward_list.html&#34;&gt;std::forward_list&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/list/list.html&#34;&gt;std::list&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/map/map.html&#34;&gt;std::map&lt;/a&gt;&lt;/code&gt; (ただし&lt;code&gt;&lt;a href=&#34;../reference/node_handle/node_handle.html&#34;&gt;node_handle&lt;/a&gt;::&lt;a href=&#34;../reference/node_handle/node_handle/key.html&#34;&gt;key()&lt;/a&gt;&lt;/code&gt;を使用すると未定義動作)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/map/multimap.html&#34;&gt;std::multimap&lt;/a&gt;&lt;/code&gt; (ただし&lt;code&gt;&lt;a href=&#34;../reference/node_handle/node_handle.html&#34;&gt;node_handle&lt;/a&gt;::&lt;a href=&#34;../reference/node_handle/node_handle/key.html&#34;&gt;key()&lt;/a&gt;&lt;/code&gt;を使用すると未定義動作)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/set/set.html&#34;&gt;std::set&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/set/multiset.html&#34;&gt;std::multiset&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/unordered_map/unordered_map.html&#34;&gt;std::unordered_map&lt;/a&gt;&lt;/code&gt; (ハッシュ関数のカスタム化が必要) (ただし&lt;code&gt;&lt;a href=&#34;../reference/node_handle/node_handle.html&#34;&gt;node_handle&lt;/a&gt;::&lt;a href=&#34;../reference/node_handle/node_handle/key.html&#34;&gt;key()&lt;/a&gt;&lt;/code&gt;を使用すると未定義動作)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/unordered_map/unordered_multimap.html&#34;&gt;std::unordered_multimap&lt;/a&gt;&lt;/code&gt; (ハッシュ関数のカスタム化が必要) (ただし&lt;code&gt;&lt;a href=&#34;../reference/node_handle/node_handle.html&#34;&gt;node_handle&lt;/a&gt;::&lt;a href=&#34;../reference/node_handle/node_handle/key.html&#34;&gt;key()&lt;/a&gt;&lt;/code&gt;を使用すると未定義動作)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/unordered_set/unordered_set.html&#34;&gt;std::unordered_set&lt;/a&gt;&lt;/code&gt; (ハッシュ関数のカスタム化が必要)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/unordered_set/unordered_multiset.html&#34;&gt;std::unordered_multiset&lt;/a&gt;&lt;/code&gt; (ハッシュ関数のカスタム化が必要)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/flat_map/flat_map.html&#34;&gt;std::flat_map&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/flat_map/flat_multimap.html&#34;&gt;std::flat_multimap&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/flat_set/flat_set.html&#34;&gt;std::flat_set&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/flat_set/flat_multiset.html&#34;&gt;std::flat_multiset&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/queue/queue.html&#34;&gt;std::queue&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/queue/priority_queue.html&#34;&gt;std::priority_queue&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/stack/stack.html&#34;&gt;std::stack&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;アルゴリズム&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/algorithm.html&#34;&gt;&amp;lt;algorithm&amp;gt;&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../reference/memory.html&#34;&gt;&amp;lt;memory&amp;gt;&lt;/a&gt;&lt;/code&gt;のアルゴリズムを並列実行に対応&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/algorithm.html&#34;&gt;&amp;lt;algorithm&amp;gt;&lt;/a&gt;&lt;/code&gt;の以下のアルゴリズムを&lt;code&gt;constexpr&lt;/code&gt;に対応&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/algorithm/stable_sort.html&#34;&gt;std::stable_sort()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/algorithm/ranges_stable_sort.html&#34;&gt;std::ranges::stable_sort()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/algorithm/stable_partition.html&#34;&gt;std::stable_partition()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/algorithm/ranges_stable_partition.html&#34;&gt;std::ranges::stable_partition()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/algorithm/inplace_merge.html&#34;&gt;std::inplace_merge()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/algorithm/ranges_inplace_merge.html&#34;&gt;std::ranges::inplace_merge()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/memory.html&#34;&gt;&amp;lt;memory&amp;gt;&lt;/a&gt;&lt;/code&gt;の以下のアルゴリズムを&lt;code&gt;constexpr&lt;/code&gt;に対応&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/memory/uninitialized_default_construct.html&#34;&gt;std::uninitialized_default_construct()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/memory/ranges_uninitialized_default_construct.html&#34;&gt;std::ranges::uninitialized_default_construct()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/memory/uninitialized_default_construct_n.html&#34;&gt;std::uninitialized_default_construct_n()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/memory/ranges_uninitialized_default_construct_n.html&#34;&gt;std::ranges::uninitialized_default_construct_n()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/memory/uninitialized_value_construct.html&#34;&gt;std::uninitialized_value_construct()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/memory/ranges_uninitialized_value_construct.html&#34;&gt;std::ranges::uninitialized_value_construct()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/memory/uninitialized_value_construct_n.html&#34;&gt;std::uninitialized_value_construct_n()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/memory/ranges_uninitialized_value_construct_n.html&#34;&gt;std::ranges::uninitialized_value_construct_n()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/memory/uninitialized_copy.html&#34;&gt;std::uninitialized_copy()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/memory/ranges_uninitialized_copy.html&#34;&gt;std::ranges::uninitialized_copy()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/memory/uninitialized_copy_n.html&#34;&gt;std::uninitialized_copy_n()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/memory/ranges_uninitialized_copy_n.html&#34;&gt;std::ranges::uninitialized_copy_n()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/memory/uninitialized_move.html&#34;&gt;std::uninitialized_move()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/memory/ranges_uninitialized_move.html&#34;&gt;std::ranges::uninitialized_move()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/memory/uninitialized_move_n.html&#34;&gt;std::uninitialized_move_n()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/memory/ranges_uninitialized_move_n.html&#34;&gt;std::ranges::uninitialized_move_n()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/memory/uninitialized_fill.html&#34;&gt;std::uninitialized_fill()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/memory/ranges_uninitialized_fill.html&#34;&gt;std::ranges::uninitialized_fill()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/memory/uninitialized_fill_n.html&#34;&gt;std::uninitialized_fill_n()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../reference/memory/ranges_uninitialized_fill_n.html&#34;&gt;std::ranges::uninitialized_fill_n()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Rangeアルゴリズムが完全型を要求しないようにするため、&lt;code&gt;&lt;a href=&#34;../reference/iterator/projected.html&#34;&gt;std::projected&lt;/a&gt;&lt;/code&gt;の制約を緩和&lt;/li&gt;
&lt;li&gt;以下のアルゴリズムに、値を波カッコ初期化で渡せるよう制約を追加&lt;ul&gt;
&lt;li&gt;&lt;code&gt;std::erase()&lt;/code&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/string/basic_string.html&#34;&gt;std::basic_string&lt;/a&gt;&lt;/code&gt;版&lt;code&gt;&lt;a href=&#34;../reference/string/basic_string/erase_free.html&#34;&gt;std::erase()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/deque/deque.html&#34;&gt;std::deque&lt;/a&gt;&lt;/code&gt;版&lt;code&gt;&lt;a href=&#34;../reference/deque/deque/erase_free.html&#34;&gt;std::erase()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/forward_list/forward_list.html&#34;&gt;std::forward_list&lt;/a&gt;&lt;/code&gt;版&lt;code&gt;&lt;a href=&#34;../reference/forward_list/forward_list/erase_free.html&#34;&gt;std::erase()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/list/list.html&#34;&gt;std::list&lt;/a&gt;&lt;/code&gt;版&lt;code&gt;&lt;a href=&#34;../reference/list/list/erase_free.html&#34;&gt;std::erase()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/vector/vector.html&#34;&gt;std::vector&lt;/a&gt;&lt;/code&gt;版&lt;code&gt;&lt;a href=&#34;../reference/vector/vector/erase_free.html&#34;&gt;std::erase()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/algorithm/find.html&#34;&gt;std::find()&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../reference/algorithm/ranges_find.html&#34;&gt;std::ranges::find()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/algorithm/ranges_find_last.html&#34;&gt;std::ranges::find_last()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/algorithm/count.html&#34;&gt;std::count()&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../reference/algorithm/ranges_count.html&#34;&gt;std::ranges::count()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/algorithm/search_n.html&#34;&gt;std::search_n()&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../reference/algorithm/ranges_search_n.html&#34;&gt;std::ranges::search_n()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/algorithm/replace.html&#34;&gt;std::replace()&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../reference/algorithm/replace.html&#34;&gt;std::ranges::replace()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/algorithm/replace_if.html&#34;&gt;std::replace_if()&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../reference/algorithm/replace_if.html&#34;&gt;std::ranges::replace_if()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/algorithm/replace_copy.html&#34;&gt;std::ranges::replace_copy()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/algorithm/replace_copy_if.html&#34;&gt;std::replace_copy_if()&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../reference/algorithm/replace_copy_if.html&#34;&gt;std::ranges::replace_copy_if()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/algorithm/fill.html&#34;&gt;std::fill()&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../reference/algorithm/ranges_fill.html&#34;&gt;std::ranges::fill()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/algorithm/fill_n.html&#34;&gt;std::fill_n()&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../reference/algorithm/ranges_fill_n.html&#34;&gt;std::ranges::fill_n()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/algorithm/remove.html&#34;&gt;std::remove()&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../reference/algorithm/ranges_remove.html&#34;&gt;std::ranges::remove()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/algorithm/remove_copy.html&#34;&gt;std::remove_copy()&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../reference/algorithm/ranges_remove_copy.html&#34;&gt;std::ranges::remove_copy()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/algorithm/lower_bound.html&#34;&gt;std::lower_bound()&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../reference/algorithm/ranges_lower_bound.html&#34;&gt;std::ranges::lower_bound()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/algorithm/upper_bound.html&#34;&gt;std::upper_bound()&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../reference/algorithm/ranges_upper_bound.html&#34;&gt;std::ranges::upper_bound()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/algorithm/equal_range.html&#34;&gt;std::equal_range()&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../reference/algorithm/ranges_equal_range.html&#34;&gt;std::ranges::equal_range()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/algorithm/binary_search.html&#34;&gt;std::binary_search()&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../reference/algorithm/ranges_binary_search.html&#34;&gt;std::ranges::binary_search()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/algorithm/ranges_fold_left.html&#34;&gt;std::ranges::fold_left()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/algorithm/ranges_fold_right.html&#34;&gt;std::ranges::fold_right()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/algorithm/ranges_contains.html&#34;&gt;std::ranges::contains()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/memory/uninitialized_fill.html&#34;&gt;std::uninitialized_fill()&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../reference/memory/ranges_uninitialized_fill.html&#34;&gt;std::ranges::uninitialized_fill()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/memory/uninitialized_fill_n.html&#34;&gt;std::uninitialized_fill_n()&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../reference/memory/ranges_uninitialized_fill_n.html&#34;&gt;std::ranges::uninitialized_fill_n()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;関数オブジェクト&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;所有権を保持しない&lt;code&gt;&lt;a href=&#34;../reference/functional/function.html&#34;&gt;std::function&lt;/a&gt;&lt;/code&gt;として、&lt;code&gt;&lt;a href=&#34;../reference/functional.html&#34;&gt;&amp;lt;functional&amp;gt;&lt;/a&gt;&lt;/code&gt;に&lt;code&gt;&lt;a href=&#34;../reference/functional/function_ref.html&#34;&gt;std::function_ref&lt;/a&gt;&lt;/code&gt;クラスを追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/functional/move_only_function.html&#34;&gt;std::move_only_function&lt;/a&gt;&lt;/code&gt;のコピー可能版として、&lt;code&gt;&lt;a href=&#34;../reference/functional.html&#34;&gt;&amp;lt;functional&amp;gt;&lt;/a&gt;&lt;/code&gt;に&lt;code&gt;&lt;a href=&#34;../reference/functional/copyable_function.html&#34;&gt;std::copyable_function&lt;/a&gt;&lt;/code&gt;クラスを追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/functional/bind_front.html&#34;&gt;std::bind_front()&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../reference/functional/bind_back.html&#34;&gt;std::bind_back()&lt;/a&gt;&lt;/code&gt;に、非型テンプレート引数として関数を指定するオーバーロードを追加&lt;ul&gt;
&lt;li&gt;関連して、非型テンプレート引数の関数オブジェクトを反転させられるよう、&lt;code&gt;&lt;a href=&#34;../reference/functional/not_fn.html&#34;&gt;not_fn()&lt;/a&gt;&lt;/code&gt;に非型テンプレート引数版のオーバーロードを追加&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/functional/reference_wrapper.html&#34;&gt;std::reference_wrapper&lt;/a&gt;&lt;/code&gt;に、比較演算子&lt;code&gt;&lt;a href=&#34;../reference/functional/reference_wrapper/op_equal.html&#34;&gt;==&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../reference/functional/reference_wrapper/op_compare_3way.html&#34;&gt;&amp;lt;=&amp;gt;&lt;/a&gt;&lt;/code&gt;を追加&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;文字列&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/charconv.html&#34;&gt;&amp;lt;charconv&amp;gt;&lt;/a&gt;&lt;/code&gt;の変換結果&lt;code&gt;&lt;a href=&#34;../reference/charconv/to_chars_result.html&#34;&gt;std::to_chars_result&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../reference/charconv/from_chars_result.html&#34;&gt;std::from_chars_result&lt;/a&gt;&lt;/code&gt;に、変換が正しく完了したかを判定する&lt;code&gt;operator bool&lt;/code&gt;を追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/string/to_string.html&#34;&gt;std::to_string()&lt;/a&gt;&lt;/code&gt;の仕様が&lt;code&gt;std::sprintf()&lt;/code&gt;で説明されていたが、&lt;code&gt;&lt;a href=&#34;../reference/format/format.html&#34;&gt;std::format()&lt;/a&gt;&lt;/code&gt;で定義するよう仕様を変更&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/sstream/basic_istringstream.html&#34;&gt;std::basic_istringstream&lt;/a&gt;&lt;/code&gt;および&lt;code&gt;&lt;a href=&#34;../reference/sstream/basic_ostringstream.html&#34;&gt;std::basic_ostringstream&lt;/a&gt;&lt;/code&gt;のコンストラクタおよび&lt;code&gt;str()&lt;/code&gt;メンバ関数に、&lt;code&gt;&lt;a href=&#34;../reference/string_view/basic_string_view.html&#34;&gt;std::basic_string_view&lt;/a&gt;&lt;/code&gt;を受け取るオーバーロードを追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/format/format.html&#34;&gt;std::format()&lt;/a&gt;&lt;/code&gt;に、以下の改善を導入&lt;ul&gt;
&lt;li&gt;ポインタ出力のサポートを追加&lt;/li&gt;
&lt;li&gt;幅と精度を動的に指定した場合でも型の検証がコンパイル時に行われるよう仕様を見直し&lt;/li&gt;
&lt;li&gt;コンパイル時の書式文字列だけでなく、実行時の書式文字列を渡せるよう仕様修正&lt;/li&gt;
&lt;li&gt;非ロケール版を&lt;code&gt;constexpr&lt;/code&gt;に対応&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/string/to_string.html&#34;&gt;std::to_string()&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../reference/string/to_wstring.html&#34;&gt;std::to_wstring()&lt;/a&gt;&lt;/code&gt;の整数オーバーロードが&lt;code&gt;constexpr&lt;/code&gt;に対応&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/string/basic_string.html&#34;&gt;std::basic_string&lt;/a&gt;&lt;/code&gt;クラスと&lt;code&gt;&lt;a href=&#34;../reference/string_view/basic_string_view.html&#34;&gt;std::basic_string_view&lt;/a&gt;&lt;/code&gt;クラスに、部分文字列を&lt;code&gt;&lt;a href=&#34;../reference/string_view/basic_string_view.html&#34;&gt;std::basic_string_view&lt;/a&gt;&lt;/code&gt;として取得するメンバ関数&lt;code&gt;subview()&lt;/code&gt;を追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/string/basic_string.html&#34;&gt;std::basic_string&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../reference/string_view/basic_string_view.html&#34;&gt;std::basic_string_view&lt;/a&gt;&lt;/code&gt;を&lt;code&gt;&lt;a href=&#34;../reference/string/basic_string.html&#34;&gt;std::basic_string&lt;/a&gt;&lt;/code&gt;として連結させる&lt;code&gt;operator+&lt;/code&gt;を追加&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;ファイル&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;ファイルのネイティブハンドルを取得できるよう、&lt;code&gt;&lt;a href=&#34;../reference/fstream/basic_filebuf.html&#34;&gt;std::basic_filebuf&lt;/a&gt;&lt;/code&gt;、&lt;code&gt;&lt;a href=&#34;../reference/fstream/basic_ifstream.html&#34;&gt;std::basic_ifstream&lt;/a&gt;&lt;/code&gt;、&lt;code&gt;&lt;a href=&#34;../reference/fstream/basic_ofstream.html&#34;&gt;std::basic_ofstream&lt;/a&gt;&lt;/code&gt;、&lt;code&gt;&lt;a href=&#34;../reference/fstream/basic_fstream.html&#34;&gt;std::basic_fstream&lt;/a&gt;&lt;/code&gt;クラスに、以下のメンバを追加&lt;ul&gt;
&lt;li&gt;&lt;code&gt;native_handle_type&lt;/code&gt;型&lt;/li&gt;
&lt;li&gt;&lt;code&gt;native_handle()&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/filesystem/path.html&#34;&gt;std::filesystem::path&lt;/a&gt;&lt;/code&gt;クラスに、文字列フォーマットのサポートを追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/filesystem/path.html&#34;&gt;std::filesystem::path&lt;/a&gt;&lt;/code&gt;クラスに、出力用の文字列を取得するための、以下のメンバ関数を追加&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/filesystem/path/display_string.html&#34;&gt;display_string()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/filesystem/path/system_encoded_string.html&#34;&gt;system_encoded_string()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/filesystem/path/generic_display_string.html&#34;&gt;generic_display_string()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/filesystem/path/generic_system_encoded_string.html&#34;&gt;generic_system_encoded_string()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;入出力&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/print/print.html&#34;&gt;std::print()&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../reference/print/println.html&#34;&gt;std::println()&lt;/a&gt;&lt;/code&gt;に、ロックを取得せず高速に書き出す最適化を許可&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/print/println.html&#34;&gt;std::println()&lt;/a&gt;&lt;/code&gt;に、改行のみを出力するオーバーロードを追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/print/print.html&#34;&gt;std::print()&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../reference/print/println.html&#34;&gt;std::println()&lt;/a&gt;&lt;/code&gt;をより高速にできる最適化が可能か判定する&lt;code&gt;&lt;a href=&#34;../reference/format/enable_nonlocking_formatter_optimization.html&#34;&gt;std::enable_nonlocking_formatter_optimization&lt;/a&gt;&lt;/code&gt;を追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/istream/basic_istream.html&#34;&gt;std::basic_istream&lt;/a&gt;::&lt;a href=&#34;../reference/istream/basic_istream/ignore.html&#34;&gt;ignore()&lt;/a&gt;&lt;/code&gt;メンバ関数に、区切り文字として&lt;code&gt;char&lt;/code&gt;型をとるオーバーロードを追加&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;並行・並列・非同期処理&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/execution.html&#34;&gt;&amp;lt;execution&amp;gt;&lt;/a&gt;&lt;/code&gt;に汎用的な非同期実行を管理するフレームワークを追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic.html&#34;&gt;std::atomic&lt;/a&gt;&lt;/code&gt;オブジェクトに対する2つの値の最大値・最小値を取得する関数として、以下を追加&lt;ul&gt;
&lt;li&gt;メンバ関数&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic/fetch_max.html&#34;&gt;fetch_max()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic/fetch_min.html&#34;&gt;fetch_min()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic/fetch_fmaximum.html&#34;&gt;fetch_fmaximum()&lt;/a&gt;&lt;/code&gt; (浮動小数点数用)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic/fetch_fminimum.html&#34;&gt;fetch_fminimum()&lt;/a&gt;&lt;/code&gt; (浮動小数点数用)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic/fetch_fmaximum_num.html&#34;&gt;fetch_fmaximum_num()&lt;/a&gt;&lt;/code&gt; (浮動小数点数用)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic/fetch_fminimum_num.html&#34;&gt;fetch_fminimum_num()&lt;/a&gt;&lt;/code&gt; (浮動小数点数用)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;非メンバ関数として&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic_fetch_max.html&#34;&gt;std::atomic_fetch_max()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic_fetch_max_explicit.html&#34;&gt;std::atomic_fetch_max_explicit()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic_fetch_min.html&#34;&gt;std::atomic_fetch_min()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic_fetch_min_explicit.html&#34;&gt;std::atomic_fetch_min_explicit()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic.html&#34;&gt;std::atomic&lt;/a&gt;&lt;/code&gt;クラスと&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic_ref.html&#34;&gt;std::atomic_ref&lt;/a&gt;&lt;/code&gt;クラスに、現在の値を読み込まず (fetchせず) に加算などをする高速な縮約用の操作として、以下を追加&lt;ul&gt;
&lt;li&gt;メンバ関数&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic/store_add.html&#34;&gt;store_add()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic/store_sub.html&#34;&gt;store_sub()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic/store_and.html&#34;&gt;store_and()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic/store_or.html&#34;&gt;store_or()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic/store_xor.html&#34;&gt;store_xor()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic/store_max.html&#34;&gt;store_max()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic/store_min.html&#34;&gt;store_min()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic/store_fmaximum.html&#34;&gt;store_fmaximum()&lt;/a&gt;&lt;/code&gt; (浮動小数点数用)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic/store_fminimum.html&#34;&gt;store_fminimum()&lt;/a&gt;&lt;/code&gt; (浮動小数点数用)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic/store_fmaximum_num.html&#34;&gt;store_fmaximum_num()&lt;/a&gt;&lt;/code&gt; (浮動小数点数用)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic/store_fminimum_num.html&#34;&gt;store_fminimum_num()&lt;/a&gt;&lt;/code&gt; (浮動小数点数用)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;非メンバ関数&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic_store_add.html&#34;&gt;std::atomic_store_add()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic_store_add_explicit.html&#34;&gt;std::atomic_store_add_explicit()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic_store_sub.html&#34;&gt;std::atomic_store_sub()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic_store_sub_explicit.html&#34;&gt;std::atomic_store_sub_explicit()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic_store_and.html&#34;&gt;std::atomic_store_and()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic_store_and_explicit.html&#34;&gt;std::atomic_store_and_explicit()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic_store_or.html&#34;&gt;std::atomic_store_or()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic_store_or_explicit.html&#34;&gt;std::atomic_store_or_explicit()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic_store_xor.html&#34;&gt;std::atomic_store_xor()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic_store_xor_explicit.html&#34;&gt;std::atomic_store_xor_explicit()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic_store_max.html&#34;&gt;std::atomic_store_max()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic_store_max_explicit.html&#34;&gt;std::atomic_store_max_explicit()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic_store_min.html&#34;&gt;std::atomic_store_min()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic_store_min_explicit.html&#34;&gt;std::atomic_store_min_explicit()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic_ref.html&#34;&gt;std::atomic_ref&lt;/a&gt;&lt;/code&gt;クラスに、参照するオブジェクトのアドレスを取得する&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic_ref/address.html&#34;&gt;address()&lt;/a&gt;&lt;/code&gt;メンバ関数を追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic.html&#34;&gt;std::atomic&lt;/a&gt;&lt;/code&gt;クラスのテンプレートパラメータとしてCV修飾された型を禁止&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/atomic_ref.html&#34;&gt;std::atomic_ref&lt;/a&gt;&lt;/code&gt;クラスのテンプレートパラメータとして、CV修飾された型を受け取れるようにした (内部でCV修飾が外される)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic.html&#34;&gt;&amp;lt;atomic&amp;gt;&lt;/a&gt;&lt;/code&gt;ライブラリのアトミック操作を&lt;code&gt;constexpr&lt;/code&gt;対応&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;スマートポインタ・メモリ関連&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;動的確保したオブジェクトに値の意味論をもたせてディープコピーさせるユーティリティクラスとして、&lt;code&gt;&lt;a href=&#34;../reference/memory.html&#34;&gt;&amp;lt;memory&amp;gt;&lt;/a&gt;&lt;/code&gt;に&lt;code&gt;&lt;a href=&#34;../reference/memory/indirect.html&#34;&gt;std::indirect&lt;/a&gt;&lt;/code&gt;クラスと&lt;code&gt;&lt;a href=&#34;../reference/memory/polymorphic.html&#34;&gt;std::polymorphic&lt;/a&gt;&lt;/code&gt;クラスを追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/memory/weak_ptr.html&#34;&gt;std::weak_ptr&lt;/a&gt;&lt;/code&gt;を非順序連想コンテナのキーとして使用できるよう、&lt;code&gt;&lt;a href=&#34;../reference/memory.html&#34;&gt;&amp;lt;memory&amp;gt;&lt;/a&gt;&lt;/code&gt;に所有権ベースのハッシュ値を取得する関数オブジェクト&lt;code&gt;&lt;a href=&#34;../reference/memory/owner_hash.html&#34;&gt;std::owner_hash&lt;/a&gt;&lt;/code&gt;、および所有権ベースの等値比較を行う関数オブジェクト&lt;code&gt;&lt;a href=&#34;../reference/memory/owner_equal.html&#34;&gt;std::owner_equal&lt;/a&gt;&lt;/code&gt;を追加&lt;ul&gt;
&lt;li&gt;関連して、&lt;code&gt;&lt;a href=&#34;../reference/memory/shared_ptr.html&#34;&gt;std::shared_ptr&lt;/a&gt;&lt;/code&gt;クラスと&lt;code&gt;&lt;a href=&#34;../reference/memory/weak_ptr.html&#34;&gt;std::weak_ptr&lt;/a&gt;&lt;/code&gt;クラスのメンバ関数として、&lt;code&gt;owner_hash()&lt;/code&gt;と&lt;code&gt;owner_equal()&lt;/code&gt;を追加&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/memory/shared_ptr.html&#34;&gt;std::shared_ptr&lt;/a&gt;&lt;/code&gt;クラスとその関連機能を&lt;code&gt;constexpr&lt;/code&gt;対応&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;日付・時間&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/chrono.html&#34;&gt;&amp;lt;chrono&amp;gt;&lt;/a&gt;&lt;/code&gt;の以下のクラスに、ハッシュ値サポートとして&lt;code&gt;&lt;a href=&#34;../reference/functional/hash.html&#34;&gt;std::hash&lt;/a&gt;&lt;/code&gt;の特殊化を追加&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/chrono/duration.html&#34;&gt;std::chrono::duration&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/chrono/time_point.html&#34;&gt;std::chrono::time_point&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/chrono/day.html&#34;&gt;std::chrono::day&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/chrono/month.html&#34;&gt;std::chrono::month&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/chrono/year.html&#34;&gt;std::chrono::year&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/chrono/weekday.html&#34;&gt;std::chrono::weekday&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/chrono/weekday_indexed.html&#34;&gt;std::chrono::weekday_indexed&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/chrono/weekday_last.html&#34;&gt;std::chrono::weekday_last&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/chrono/month_day.html&#34;&gt;std::chrono::month_day&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/chrono/month_day_last.html&#34;&gt;std::chrono::month_day_last&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/chrono/month_weekday.html&#34;&gt;std::chrono::month_weekday&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/chrono/month_weekday_last.html&#34;&gt;std::chrono::month_weekday_last&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/chrono/year_month.html&#34;&gt;std::chrono::year_month&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/chrono/year_month_day.html&#34;&gt;std::chrono::year_month_day&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/chrono/year_month_day_last.html&#34;&gt;std::chrono::year_month_day_last&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/chrono/year_month_weekday.html&#34;&gt;std::chrono::year_month_weekday&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/chrono/year_month_weekday_last.html&#34;&gt;std::chrono::year_month_weekday_last&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/chrono/zoned_time.html&#34;&gt;std::chrono::zoned_time&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/chrono/leap_second.html&#34;&gt;std::chrono::leap_second&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;数値&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cmath.html&#34;&gt;&amp;lt;cmath&amp;gt;&lt;/a&gt;&lt;/code&gt;に、浮動小数点数の最大値・最小値を求める以下の関数を追加&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cmath/fmaximum.html&#34;&gt;std::fmaximum()&lt;/a&gt;&lt;/code&gt; (-0.0と+0.0では+0.0を返し、NaNと数値ではNaNを返す)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cmath/fmaximum_num.html&#34;&gt;std::fmaximum_num()&lt;/a&gt;&lt;/code&gt; (-0.0と+0.0では+0.0を返し、NaNと数値では数値を返す)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cmath/fminimum.html&#34;&gt;std::fminimum()&lt;/a&gt;&lt;/code&gt; (-0.0と+0.0では-0.0を返し、NaNと数値ではNaNを返す)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cmath/fminimum_num.html&#34;&gt;std::fminimum_num()&lt;/a&gt;&lt;/code&gt; (-0.0と-0.0では+0.0を返し、NaNと数値では数値を返す)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/numeric.html&#34;&gt;&amp;lt;numeric&amp;gt;&lt;/a&gt;&lt;/code&gt;に、飽和演算 (Saturation Arithmetic) として、型の表現可能な範囲で演算を行う以下の関数を追加&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/numeric/saturating_add.html&#34;&gt;std::saturating_add()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/numeric/saturating_sub.html&#34;&gt;std::saturating_sub()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/numeric/saturating_mul.html&#34;&gt;std::saturating_mul()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/numeric/saturating_div.html&#34;&gt;std::saturating_div()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/numeric/saturating_cast.html&#34;&gt;std::saturating_cast()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/complex/complex.html&#34;&gt;std::complex&lt;/a&gt;&lt;/code&gt;を構造化束縛や、将来のパターンマッチで使用できるようタプルインタフェースの特殊化を追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/random.html&#34;&gt;&amp;lt;random&amp;gt;&lt;/a&gt;&lt;/code&gt;の範囲&lt;code&gt;[0, 1)&lt;/code&gt;の乱数を生成する&lt;code&gt;&lt;a href=&#34;../reference/random/generate_canonical.html&#34;&gt;std::generate_canonical()&lt;/a&gt;&lt;/code&gt;を、望ましい統計的性質を保証するようアルゴリズムと制約を変更&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/random.html&#34;&gt;&amp;lt;random&amp;gt;&lt;/a&gt;&lt;/code&gt;に、乱数列を生成する&lt;code&gt;&lt;a href=&#34;../reference/random/generate_random.html&#34;&gt;std::ranges::generate_random()&lt;/a&gt;&lt;/code&gt;関数を追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/random.html&#34;&gt;&amp;lt;random&amp;gt;&lt;/a&gt;&lt;/code&gt;に、乱数生成器は並列シミュレーションに効果的なカウンターベースのPhilox乱数生成器として、&lt;code&gt;&lt;a href=&#34;../reference/random/philox_engine.html&#34;&gt;std::philox_engine&lt;/a&gt;&lt;/code&gt;クラス、およびその別名である&lt;code&gt;&lt;a href=&#34;../reference/random/philox4x32.html&#34;&gt;std::philox4x32&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../reference/random/philox4x64.html&#34;&gt;std::philox4x64&lt;/a&gt;&lt;/code&gt;を追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/random.html&#34;&gt;&amp;lt;random&amp;gt;&lt;/a&gt;&lt;/code&gt;の乱数生成器に&lt;code&gt;signed char&lt;/code&gt;と&lt;code&gt;unsigned char&lt;/code&gt;のサポートを追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cmath.html&#34;&gt;&amp;lt;cmath&amp;gt;&lt;/a&gt;&lt;/code&gt;の以下の関数を、&lt;code&gt;constexpr&lt;/code&gt;に対応 (特殊関数と、グローバルの丸めモードに依存する丸め関数以外の全て)&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cmath/cos.html&#34;&gt;std::cos()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cmath/sin.html&#34;&gt;std::sin()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cmath/tan.html&#34;&gt;std::tan()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cmath/cosh.html&#34;&gt;std::cosh()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cmath/sinh.html&#34;&gt;std::sinh()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cmath/tanh.html&#34;&gt;std::tanh()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cmath/acos.html&#34;&gt;std::acos()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cmath/asin.html&#34;&gt;std::asin()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cmath/atan.html&#34;&gt;std::atan()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cmath/atan2.html&#34;&gt;std::atan2()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cmath/acosh.html&#34;&gt;std::acosh()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cmath/asinh.html&#34;&gt;std::asinh()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cmath/atanh.html&#34;&gt;std::atanh()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cmath/exp.html&#34;&gt;std::exp()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cmath/exp2.html&#34;&gt;std::exp2()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cmath/expm1.html&#34;&gt;std::expm1()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cmath/log.html&#34;&gt;std::log()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cmath/log10.html&#34;&gt;std::log10()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cmath/log1p.html&#34;&gt;std::log1p()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cmath/log2.html&#34;&gt;std::log2()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cmath/pow.html&#34;&gt;std::pow()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cmath/sqrt.html&#34;&gt;std::sqrt()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cmath/cbrt.html&#34;&gt;std::cbrt()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cmath/hypot.html&#34;&gt;std::hypot()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cmath/erf.html&#34;&gt;std::erf()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cmath/erfc.html&#34;&gt;std::erfc()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cmath/lgamma.html&#34;&gt;std::lgamma()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cmath/tgamma.html&#34;&gt;std::tgamma()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/complex.html&#34;&gt;&amp;lt;complex&amp;gt;&lt;/a&gt;&lt;/code&gt;の以下の関数を、&lt;code&gt;constexpr&lt;/code&gt;に対応 (すべて)&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/complex/complex/abs.html&#34;&gt;std::abs()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/complex/complex/arg.html&#34;&gt;std::arg()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/complex/complex/proj.html&#34;&gt;std::proj()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/complex/complex/polar.html&#34;&gt;std::polar()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/complex/complex/cos.html&#34;&gt;std::cos()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/complex/complex/sin.html&#34;&gt;std::sin()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/complex/complex/tan.html&#34;&gt;std::tan()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/complex/complex/cosh.html&#34;&gt;std::cosh()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/complex/complex/sinh.html&#34;&gt;std::sinh()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/complex/complex/tanh.html&#34;&gt;std::tanh()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/complex/complex/acos.html&#34;&gt;std::acos()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/complex/complex/asin.html&#34;&gt;std::asin()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/complex/complex/atan.html&#34;&gt;std::atan()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/complex/complex/acosh.html&#34;&gt;std::acosh()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/complex/complex/asinh.html&#34;&gt;std::asinh()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/complex/complex/atanh.html&#34;&gt;std::atanh()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/complex/complex/exp.html&#34;&gt;std::exp()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/complex/complex/log.html&#34;&gt;std::log()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/complex/complex/log10.html&#34;&gt;std::log10()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/complex/complex/pow.html&#34;&gt;std::pow()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/complex/complex/sqrt.html&#34;&gt;std::sqrt()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/complex/complex/norm.html&#34;&gt;std::norm()&lt;/a&gt;&lt;/code&gt; (算術型オーバーロード)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/complex/complex/conj.html&#34;&gt;std::conj()&lt;/a&gt;&lt;/code&gt; (算術型オーバーロード)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/complex/complex/imag_free.html&#34;&gt;std::imag()&lt;/a&gt;&lt;/code&gt; (算術型オーバーロード)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/complex/complex/real_free.html&#34;&gt;std::real()&lt;/a&gt;&lt;/code&gt; (算術型オーバーロード)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;ユーティリティ&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/variant/variant.html&#34;&gt;std::variant&lt;/a&gt;&lt;/code&gt;クラスに、メンバ関数版の&lt;code&gt;&lt;a href=&#34;../reference/variant/variant/visit.html&#34;&gt;visit()&lt;/a&gt;&lt;/code&gt;を追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;std::monostate&lt;/code&gt;を&lt;code&gt;&lt;a href=&#34;../reference/variant.html&#34;&gt;&amp;lt;variant&amp;gt;&lt;/a&gt;&lt;/code&gt;から&lt;code&gt;&lt;a href=&#34;../reference/utility.html&#34;&gt;&amp;lt;utility&amp;gt;&lt;/a&gt;&lt;/code&gt;に移動&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/optional/optional.html&#34;&gt;std::optional&lt;/a&gt;&lt;/code&gt;クラスに、0もしくは1要素のRangeとして扱えるようにするための拡張として、イテレータインタフェースを追加&lt;ul&gt;
&lt;li&gt;&lt;code&gt;iterator&lt;/code&gt;型&lt;/li&gt;
&lt;li&gt;&lt;code&gt;const_iterator&lt;/code&gt;型&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/optional/optional/begin.html&#34;&gt;begin()&lt;/a&gt;&lt;/code&gt;メンバ関数&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/optional/optional/end.html&#34;&gt;end()&lt;/a&gt;&lt;/code&gt;メンバ関数&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/optional/optional.html&#34;&gt;std::optional&lt;/a&gt;&lt;/code&gt;に、参照を保持するための&lt;code&gt;T&amp;amp;&lt;/code&gt;の部分特殊化を追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/tuple/apply.html&#34;&gt;std::apply&lt;/a&gt;&lt;/code&gt;の戻り値型推論をやめて、戻り値型用の&lt;code&gt;&lt;a href=&#34;../reference/type_traits/apply_result.html&#34;&gt;std::apply_result&lt;/a&gt;&lt;/code&gt;クラスを追加し、関連する以下の機能を追加&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/type_traits/is_applicable.html&#34;&gt;std::is_applicable&lt;/a&gt;&lt;/code&gt;型特性&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/type_traits/is_nothrow_applicable.html&#34;&gt;std::is_nothrow_applicable&lt;/a&gt;&lt;/code&gt;型特性&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/tuple/ignore.html&#34;&gt;std::ignore&lt;/a&gt;&lt;/code&gt;をファーストクラス・オブジェクトとして型を詳細に定義&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/bitset/bitset.html&#34;&gt;std::bitset&lt;/a&gt;&lt;/code&gt;に、&lt;code&gt;&lt;a href=&#34;../reference/string_view/basic_string_view.html&#34;&gt;std::basic_string_view&lt;/a&gt;&lt;/code&gt;を受け取るコンストラクタを追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/ratio.html&#34;&gt;&amp;lt;ratio&amp;gt;&lt;/a&gt;&lt;/code&gt;に、新たなSI接頭辞として、以下を追加&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/ratio/si_prefix.html&#34;&gt;ronna&lt;/a&gt;&lt;/code&gt; (10&lt;sup&gt;27&lt;/sup&gt;)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/ratio/si_prefix.html&#34;&gt;ronto&lt;/a&gt;&lt;/code&gt; (10&lt;sup&gt;−27&lt;/sup&gt;)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/ratio/si_prefix.html&#34;&gt;quetta&lt;/a&gt;&lt;/code&gt; (10&lt;sup&gt;30&lt;/sup&gt;)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/ratio/si_prefix.html&#34;&gt;quecto&lt;/a&gt;&lt;/code&gt; (10&lt;sup&gt;−30&lt;/sup&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;定数式での例外送出が許可されることにともない、以下を&lt;code&gt;constexpr&lt;/code&gt;化&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/exception.html&#34;&gt;&amp;lt;exception&amp;gt;&lt;/a&gt;&lt;/code&gt;ヘッダの以下の機能&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/exception/exception.html&#34;&gt;std::exception&lt;/a&gt;&lt;/code&gt;クラスの全メンバ関数&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/exception/bad_exception.html&#34;&gt;std::bad_exception&lt;/a&gt;&lt;/code&gt;クラスの&lt;code&gt;what()&lt;/code&gt;メンバ関数&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/exception/rethrow_exception.html&#34;&gt;std::rethrow_exception()&lt;/a&gt;&lt;/code&gt;関数&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/exception/make_exception_ptr.html&#34;&gt;std::make_exception_ptr()&lt;/a&gt;&lt;/code&gt;関数&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/new.html&#34;&gt;&amp;lt;new&amp;gt;&lt;/a&gt;&lt;/code&gt;ヘッダの以下の機能&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/new/bad_alloc.html&#34;&gt;std::bad_alloc&lt;/a&gt;&lt;/code&gt;クラスの&lt;code&gt;what()&lt;/code&gt;メンバ関数&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/new/bad_array_new_length.html&#34;&gt;std::bad_array_new_length&lt;/a&gt;&lt;/code&gt;クラスの&lt;code&gt;what()&lt;/code&gt;メンバ関数&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/typeinfo.html&#34;&gt;&amp;lt;typeinfo&amp;gt;&lt;/a&gt;&lt;/code&gt;ヘッダの以下の機能&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/typeinfo/bad_cast.html&#34;&gt;std::bad_cast&lt;/a&gt;&lt;/code&gt;クラスの&lt;code&gt;what()&lt;/code&gt;メンバ関数&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/typeinfo/bad_typeid.html&#34;&gt;std::bad_typeid&lt;/a&gt;&lt;/code&gt;クラスの&lt;code&gt;what()&lt;/code&gt;メンバ関数&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/stdexcept.html&#34;&gt;&amp;lt;stdexcept&amp;gt;&lt;/a&gt;&lt;/code&gt;ヘッダの以下の機能&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/stdexcept.html&#34;&gt;std::domain_error&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/stdexcept.html&#34;&gt;std::invalid_argument&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/stdexcept.html&#34;&gt;std::length_error&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/stdexcept.html&#34;&gt;std::logic_error&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/stdexcept.html&#34;&gt;std::out_of_range&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/stdexcept.html&#34;&gt;std::runtime_error&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/stdexcept.html&#34;&gt;std::range_error&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/stdexcept.html&#34;&gt;std::overflow_error&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/stdexcept.html&#34;&gt;std::underflow_error&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/expected.html&#34;&gt;&amp;lt;expected&amp;gt;&lt;/a&gt;&lt;/code&gt;ヘッダの以下の機能&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/expected/bad_expected_access.html&#34;&gt;std::bad_expected_access&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/optional.html&#34;&gt;&amp;lt;optional&amp;gt;&lt;/a&gt;&lt;/code&gt;ヘッダの以下の機能&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/optional/bad_optional_access.html&#34;&gt;std::bad_optional_access&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/variant.html&#34;&gt;&amp;lt;variant&amp;gt;&lt;/a&gt;&lt;/code&gt;ヘッダの以下の機能&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/variant/bad_variant_access.html&#34;&gt;std::bad_variant_access&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/format.html&#34;&gt;&amp;lt;format&amp;gt;&lt;/a&gt;&lt;/code&gt;ヘッダの以下の機能&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/format/format_error.html&#34;&gt;std::format_error&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/memory.html&#34;&gt;&amp;lt;memory&amp;gt;&lt;/a&gt;&lt;/code&gt;に、ポインタのアライメントを判定する&lt;code&gt;&lt;a href=&#34;../reference/memory/is_sufficiently_aligned.html&#34;&gt;std::is_sufficiently_aligned()&lt;/a&gt;&lt;/code&gt;関数を追加。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/utility.html&#34;&gt;&amp;lt;utility&amp;gt;&lt;/a&gt;&lt;/code&gt;に、タイムトラベル最適化を抑止するための観測可能ポイントとして&lt;code&gt;&lt;a href=&#34;../reference/utility/observable_checkpoint.html&#34;&gt;std::observable_checkpoint()&lt;/a&gt;&lt;/code&gt;を追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/exception/exception_ptr.html&#34;&gt;std::exception_ptr&lt;/a&gt;&lt;/code&gt;を指定した例外型にキャストする&lt;code&gt;&lt;a href=&#34;../reference/exception/exception_ptr_cast.html&#34;&gt;std::exception_ptr_cast()&lt;/a&gt;&lt;/code&gt;関数を追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/compare.html&#34;&gt;&amp;lt;compare&amp;gt;&lt;/a&gt;&lt;/code&gt;に、型の順序を取得する&lt;code&gt;&lt;a href=&#34;../reference/compare/type_order.html&#34;&gt;std::type_order&lt;/a&gt;&lt;/code&gt;クラスを追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/utility.html&#34;&gt;&amp;lt;utility&amp;gt;&lt;/a&gt;&lt;/code&gt;に、定数を型として包むことで、関数の引数として渡しても定数式として扱えるようにする定数ラッパー&lt;code&gt;&lt;a href=&#34;../reference/utility/constant_wrapper.html&#34;&gt;std::constant_wrapper&lt;/a&gt;&lt;/code&gt;クラスと、それを簡潔に生成する変数テンプレート&lt;code&gt;&lt;a href=&#34;../reference/utility/constant_wrapper.html&#34;&gt;std::cw&lt;/a&gt;&lt;/code&gt;を追加&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;デバッグ&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cassert/assert.html&#34;&gt;assert&lt;/a&gt;&lt;/code&gt;マクロの引数としてカンマを含む式を指定できるよう、可変引数化&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;型特性&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/type_traits.html&#34;&gt;&amp;lt;type_traits&amp;gt;&lt;/a&gt;&lt;/code&gt;に、共用体の指定されたメンバがアクティブかを定数式で判定するための関数として&lt;code&gt;&lt;a href=&#34;../reference/type_traits/is_within_lifetime.html&#34;&gt;std::is_within_lifetime()&lt;/a&gt;&lt;/code&gt;を追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/type_traits.html&#34;&gt;&amp;lt;type_traits&amp;gt;&lt;/a&gt;&lt;/code&gt;に、仮想継承の関係を判定する&lt;code&gt;&lt;a href=&#34;../reference/type_traits/is_virtual_base_of.html&#34;&gt;std::is_virtual_base_of&lt;/a&gt;&lt;/code&gt;を追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/utility/integer_sequence.html&#34;&gt;std::integer_sequence&lt;/a&gt;&lt;/code&gt;クラスを&lt;a href=&#34;cpp17/structured_bindings.html&#34;&gt;構造化束縛&lt;/a&gt;と&lt;a href=&#34;cpp26/expansion_statements.html&#34;&gt;template for文&lt;/a&gt;で使用できるようにするため、タプルインタフェースの特殊化を追加&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;制約&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;間接実行に関連する制約から、共通参照の要件を削除&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/iterator/indirectly_unary_invocable.html&#34;&gt;std::indirectly_unary_invocable&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/iterator/indirectly_unary_invocable.html&#34;&gt;std::indirectly_regular_unary_invocable&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/iterator/indirect_unary_predicate.html&#34;&gt;std::indirect_unary_predicate&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/iterator/indirect_binary_predicate.html&#34;&gt;std::indirect_binary_predicate&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/iterator/indirect_equivalence_relation.html&#34;&gt;std::indirect_equivalence_relation&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/iterator/indirect_strict_weak_order.html&#34;&gt;std::indirect_strict_weak_order&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;機能の非推奨化&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/type_traits.html&#34;&gt;&amp;lt;type_traits&amp;gt;&lt;/a&gt;&lt;/code&gt;の&lt;code&gt;&lt;a href=&#34;../reference/type_traits/is_trivial.html&#34;&gt;std::is_trivial&lt;/a&gt;&lt;/code&gt;を非推奨化&lt;ul&gt;
&lt;li&gt;これは&lt;code&gt;&lt;a href=&#34;../reference/type_traits/is_trivially_copyable.html&#34;&gt;std::is_trivially_copyable&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../reference/type_traits/is_trivially_default_constructible.html&#34;&gt;std::is_trivially_default_constructible&lt;/a&gt;&lt;/code&gt;の2つが合わさったものであるが、それらは異なる状況で必要になるものであった&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/atomic/memory_order.html&#34;&gt;std::memory_order::consume&lt;/a&gt;&lt;/code&gt;と、それに関連して&lt;code&gt;&lt;a href=&#34;../reference/atomic/kill_dependency.html&#34;&gt;std::kill_dependency()&lt;/a&gt;&lt;/code&gt;を非推奨化し、&lt;code&gt;&lt;a href=&#34;cpp11/attributes.html&#34;&gt;[[carries_dependency]]&lt;/a&gt;&lt;/code&gt;属性を削除&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/filesystem/path.html&#34;&gt;std::filesystem::path&lt;/a&gt;&lt;/code&gt;クラスの、以下の非テンプレート版メンバ関数を非推奨化&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/filesystem/path/string.html&#34;&gt;string()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/filesystem/path/generic_string.html&#34;&gt;generic_string()&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;これらはOS依存のパス名エンコーディングへ変換するため、&lt;a href=&#34;../reference/iostream.html&#34;&gt;iostream&lt;/a&gt;・&lt;code&gt;&lt;a href=&#34;../reference/format/format.html&#34;&gt;std::format()&lt;/a&gt;&lt;/code&gt;・&lt;code&gt;&lt;a href=&#34;../reference/print/print.html&#34;&gt;std::print()&lt;/a&gt;&lt;/code&gt;を含むほぼすべての標準のテキスト処理・入出力機能と互換性がなく、文字化けやデータ損失の原因になりやすい&lt;/li&gt;
&lt;li&gt;レガシーなシステムAPIにパスを渡す用途では、システム依存エンコーディングへの変換であることを明確にした&lt;code&gt;&lt;a href=&#34;../reference/filesystem/path/system_encoded_string.html&#34;&gt;system_encoded_string()&lt;/a&gt;&lt;/code&gt;・&lt;code&gt;&lt;a href=&#34;../reference/filesystem/path/generic_system_encoded_string.html&#34;&gt;generic_system_encoded_string()&lt;/a&gt;&lt;/code&gt;を使用する&lt;/li&gt;
&lt;li&gt;表示・フォーマットの用途では、&lt;code&gt;&lt;a href=&#34;../reference/filesystem/path/display_string.html&#34;&gt;display_string()&lt;/a&gt;&lt;/code&gt;・&lt;code&gt;&lt;a href=&#34;../reference/filesystem/path/generic_display_string.html&#34;&gt;generic_display_string()&lt;/a&gt;&lt;/code&gt;、もしくは&lt;code&gt;&lt;a href=&#34;../reference/format/format.html&#34;&gt;std::format()&lt;/a&gt;&lt;/code&gt;・&lt;code&gt;&lt;a href=&#34;../reference/print/print.html&#34;&gt;std::print()&lt;/a&gt;&lt;/code&gt;を使用する&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;非推奨の取り消し&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/memory_resource/polymorphic_allocator.html&#34;&gt;std::polymorphic_allocator&lt;/a&gt;::&lt;a href=&#34;../reference/memory_resource/polymorphic_allocator/destroy.html&#34;&gt;destroy()&lt;/a&gt;&lt;/code&gt;の非推奨を取り消し&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;機能の削除&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;C++98から非推奨となっていた&lt;code&gt;&amp;lt;strstream&amp;gt;&lt;/code&gt;ライブラリを削除&lt;/li&gt;
&lt;li&gt;C++17から非推奨となっていたUnicode変換ライブラリ&lt;code&gt;&lt;a href=&#34;../reference/codecvt.html&#34;&gt;&amp;lt;codecvt&amp;gt;&lt;/a&gt;&lt;/code&gt;と、&lt;code&gt;&lt;a href=&#34;../reference/locale/wstring_convert.html&#34;&gt;std::wstring_convert&lt;/a&gt;&lt;/code&gt;クラス、&lt;code&gt;&lt;a href=&#34;../reference/locale/wbuffer_convert.html&#34;&gt;std::wbuffer_convert&lt;/a&gt;&lt;/code&gt;クラスを削除&lt;/li&gt;
&lt;li&gt;C++20から非推奨となっていた、&lt;code&gt;&lt;a href=&#34;../reference/string/basic_string.html&#34;&gt;std::basic_string&lt;/a&gt;::&lt;a href=&#34;../reference/string/basic_string/reserve.html&#34;&gt;reserve()&lt;/a&gt;&lt;/code&gt;のパラメータなしのオーバーロードを削除&lt;/li&gt;
&lt;li&gt;C++20から非推奨となっていた&lt;code&gt;&lt;a href=&#34;../reference/memory/shared_ptr.html&#34;&gt;std::shared_ptr&lt;/a&gt;&lt;/code&gt;に対する、以下の古いアトミック操作関数のオーバーロードを削除&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/memory/shared_ptr/atomic_is_lock_free.html&#34;&gt;std::atomic_is_lock_free&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/memory/shared_ptr/atomic_load.html&#34;&gt;std::atomic_load&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/memory/shared_ptr/atomic_load_explicit.html&#34;&gt;std::atomic_load_explicit&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/memory/shared_ptr/atomic_store.html&#34;&gt;std::atomic_store&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/memory/shared_ptr/atomic_store_explicit.html&#34;&gt;std::atomic_store_explicit&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/memory/shared_ptr/atomic_exchange.html&#34;&gt;std::atomic_exchange&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/memory/shared_ptr/atomic_exchange_explicit.html&#34;&gt;std::atomic_exchange_explicit&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/memory/shared_ptr/atomic_compare_exchange_weak.html&#34;&gt;std::atomic_compare_exchange_weak&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/memory/shared_ptr/atomic_compare_exchange_strong.html&#34;&gt;std::atomic_compare_exchange_strong&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/memory/shared_ptr/atomic_compare_exchange_weak_explicit.html&#34;&gt;std::atomic_compare_exchange_weak_explicit&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/memory/shared_ptr/atomic_compare_exchange_strong_explicit.html&#34;&gt;std::atomic_compare_exchange_strong_explicit&lt;/a&gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;C++23から非推奨となっていた、&lt;code&gt;&lt;a href=&#34;../reference/memory/allocator.html&#34;&gt;std::allocator&lt;/a&gt;&lt;/code&gt;のメンバ型&lt;code&gt;is_always_equal&lt;/code&gt;を削除&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;取り決め&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;C言語の参照をC17からC23に更新。これにともない、Cライブラリ由来のヘッダに以下の変更が入った&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cstdlib.html&#34;&gt;&amp;lt;cstdlib&amp;gt;&lt;/a&gt;&lt;/code&gt;: &lt;code&gt;&lt;a href=&#34;../reference/cstdlib/free_sized.html&#34;&gt;free_sized()&lt;/a&gt;&lt;/code&gt;・&lt;code&gt;&lt;a href=&#34;../reference/cstdlib/free_aligned_sized.html&#34;&gt;free_aligned_sized()&lt;/a&gt;&lt;/code&gt;・&lt;code&gt;&lt;a href=&#34;../reference/cstdlib/memalignment.html&#34;&gt;memalignment()&lt;/a&gt;&lt;/code&gt;・&lt;code&gt;&lt;a href=&#34;../reference/cstdlib/strfromf.html&#34;&gt;strfromf()&lt;/a&gt;&lt;/code&gt;・&lt;code&gt;&lt;a href=&#34;../reference/cstdlib/strfromd.html&#34;&gt;strfromd()&lt;/a&gt;&lt;/code&gt;・&lt;code&gt;&lt;a href=&#34;../reference/cstdlib/strfroml.html&#34;&gt;strfroml()&lt;/a&gt;&lt;/code&gt;を追加。&lt;code&gt;&lt;a href=&#34;../reference/cstdlib/bsearch.html&#34;&gt;bsearch()&lt;/a&gt;&lt;/code&gt;に&lt;code&gt;const&lt;/code&gt;版オーバーロードを追加。&lt;code&gt;&lt;a href=&#34;../reference/cstdlib/realloc.html&#34;&gt;realloc()&lt;/a&gt;&lt;/code&gt;にサイズ&lt;code&gt;0&lt;/code&gt;を渡した場合がエラー性動作となった&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/ctime.html&#34;&gt;&amp;lt;ctime&amp;gt;&lt;/a&gt;&lt;/code&gt;: &lt;code&gt;&lt;a href=&#34;../reference/ctime/timespec_getres.html&#34;&gt;timespec_getres()&lt;/a&gt;&lt;/code&gt;・&lt;code&gt;timegm()&lt;/code&gt;・&lt;code&gt;gmtime_r()&lt;/code&gt;・&lt;code&gt;localtime_r()&lt;/code&gt;と、&lt;code&gt;TIME_MONOTONIC&lt;/code&gt;・&lt;code&gt;TIME_ACTIVE&lt;/code&gt;・&lt;code&gt;TIME_THREAD_ACTIVE&lt;/code&gt;・&lt;code&gt;__STDC_VERSION_TIME_H__&lt;/code&gt;を追加。&lt;code&gt;asctime()&lt;/code&gt;・&lt;code&gt;ctime()&lt;/code&gt;を非推奨化&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cmath.html&#34;&gt;&amp;lt;cmath&amp;gt;&lt;/a&gt;&lt;/code&gt;: &lt;code&gt;&lt;a href=&#34;../reference/cmath/nextup.html&#34;&gt;nextup()&lt;/a&gt;&lt;/code&gt;・&lt;code&gt;&lt;a href=&#34;../reference/cmath/nextdown.html&#34;&gt;nextdown()&lt;/a&gt;&lt;/code&gt;を追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cstdio.html&#34;&gt;&amp;lt;cstdio&amp;gt;&lt;/a&gt;&lt;/code&gt;: &lt;code&gt;_PRINTF_NAN_LEN_MAX&lt;/code&gt;・&lt;code&gt;__STDC_VERSION_STDIO_H__&lt;/code&gt;を追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cinttypes.html&#34;&gt;&amp;lt;cinttypes&amp;gt;&lt;/a&gt;&lt;/code&gt;: 2進数用の書式指定マクロ (&lt;code&gt;PRIb&lt;/code&gt;&lt;em&gt;N&lt;/em&gt;・&lt;code&gt;SCNb&lt;/code&gt;&lt;em&gt;N&lt;/em&gt;等) と&lt;code&gt;__STDC_VERSION_INTTYPES_H__&lt;/code&gt;を追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cfloat.html&#34;&gt;&amp;lt;cfloat&amp;gt;&lt;/a&gt;&lt;/code&gt;: &lt;code&gt;&lt;a href=&#34;../reference/cmath/infinity.html&#34;&gt;INFINITY&lt;/a&gt;&lt;/code&gt;・&lt;code&gt;&lt;a href=&#34;../reference/cmath/nan.html&#34;&gt;NAN&lt;/a&gt;&lt;/code&gt;・&lt;code&gt;&lt;a href=&#34;../reference/cfloat/flt_snan.html&#34;&gt;FLT_SNAN&lt;/a&gt;&lt;/code&gt;・&lt;code&gt;&lt;a href=&#34;../reference/cfloat/dbl_snan.html&#34;&gt;DBL_SNAN&lt;/a&gt;&lt;/code&gt;・&lt;code&gt;&lt;a href=&#34;../reference/cfloat/ldbl_snan.html&#34;&gt;LDBL_SNAN&lt;/a&gt;&lt;/code&gt;・&lt;code&gt;__STDC_VERSION_FLOAT_H__&lt;/code&gt;を追加。&lt;code&gt;&lt;a href=&#34;../reference/cfloat/decimal_dig.html&#34;&gt;DECIMAL_DIG&lt;/a&gt;&lt;/code&gt;を非推奨化し、&lt;code&gt;&lt;a href=&#34;../reference/cfloat/flt_has_subnorm.html&#34;&gt;FLT_HAS_SUBNORM&lt;/a&gt;&lt;/code&gt;・&lt;code&gt;&lt;a href=&#34;../reference/cfloat/dbl_has_subnorm.html&#34;&gt;DBL_HAS_SUBNORM&lt;/a&gt;&lt;/code&gt;・&lt;code&gt;&lt;a href=&#34;../reference/cfloat/ldbl_has_subnorm.html&#34;&gt;LDBL_HAS_SUBNORM&lt;/a&gt;&lt;/code&gt;を廃止予定 (obsolescent) とした&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/climits.html&#34;&gt;&amp;lt;climits&amp;gt;&lt;/a&gt;&lt;/code&gt;: 各整数型の幅 (ビット数) を表す&lt;code&gt;&lt;a href=&#34;../reference/climits/bool_width.html&#34;&gt;BOOL_WIDTH&lt;/a&gt;&lt;/code&gt;等のマクロを追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cstdint.html&#34;&gt;&amp;lt;cstdint&amp;gt;&lt;/a&gt;&lt;/code&gt;: 各整数型の幅 (ビット数) を表す&lt;code&gt;&lt;a href=&#34;../reference/cstdint/int8_width.html&#34;&gt;INT8_WIDTH&lt;/a&gt;&lt;/code&gt;等のマクロと、&lt;code&gt;__STDC_VERSION_STDINT_H__&lt;/code&gt;を追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cstring.html&#34;&gt;&amp;lt;cstring&amp;gt;&lt;/a&gt;&lt;/code&gt;: &lt;code&gt;memccpy()&lt;/code&gt;・&lt;code&gt;strdup()&lt;/code&gt;・&lt;code&gt;strndup()&lt;/code&gt;・&lt;code&gt;memset_explicit()&lt;/code&gt;を追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cuchar.html&#34;&gt;&amp;lt;cuchar&amp;gt;&lt;/a&gt;&lt;/code&gt;: &lt;code&gt;mbrtoc8()&lt;/code&gt;・&lt;code&gt;c8rtomb()&lt;/code&gt;・&lt;code&gt;__STDC_VERSION_UCHAR_H__&lt;/code&gt;を追加&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;../reference/cstddef.html&#34;&gt;&amp;lt;cstddef&amp;gt;&lt;/a&gt;&lt;/code&gt;: &lt;code&gt;unreachable&lt;/code&gt;マクロおよび&lt;code&gt;__STDC_VERSION_STDDEF_H__&lt;/code&gt;は定義しないことを明記&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</content>
      
      <author>
        <name>Akira Takahashi</name>
        <email>faithandbrave@gmail.com</email>
      </author>
    </entry>
  
    <entry>
      <title>機能テストマクロ -- C++26対応としてindirectとpolymorphicのリファレンスを作成 #1430</title>
      <link href="https://cpprefjp.github.io/lang/cpp26/feature_test_macros.html"/>
      <id>cff22113c8f884df3e65c2d23570ba6dc92e1fec:lang/cpp26/feature_test_macros.md</id>
      <updated>2026-06-22T16:01:50+09:00</updated>
      
        <content type="html">&lt;h1 itemprop=&#34;name&#34;&gt;&lt;span class=&#34;token&#34;&gt;機能テストマクロ&lt;/span&gt;&lt;span class=&#34;cpp cpp26&#34; title=&#34;C++26で追加&#34;&gt;(C++26)&lt;/span&gt;&lt;/h1&gt;
&lt;div itemprop=&#34;articleBody&#34;&gt;&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;このページはC++26に採用された言語機能の変更を解説しています。&lt;/p&gt;
&lt;p&gt;のちのC++規格でさらに変更される場合があるため&lt;a href=&#34;#relative-page&#34;&gt;関連項目&lt;/a&gt;を参照してください。&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;h2&gt;概要&lt;/h2&gt;
&lt;h3&gt;言語機能&lt;/h3&gt;
&lt;table border=&#34;1&#34; bordercolor=&#34;#888&#34; style=&#34;border-collapse:collapse&#34;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;マクロ名&lt;/th&gt;
&lt;th&gt;値&lt;/th&gt;
&lt;th&gt;機能&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_constexpr&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202406L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;constexpr_cast_from_voidptr.html&#34;&gt;定数式での&lt;code&gt;void*&lt;/code&gt;からポインタ型へのキャストを許可&lt;/a&gt;&lt;br /&gt;&lt;a href=&#34;constexpr_placement_new.html&#34;&gt;&lt;code&gt;constexpr&lt;/code&gt;配置&lt;code&gt;new&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_constexpr_exceptions&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202411L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;allowing_exception_throwing_in_constant-evaluation.html&#34;&gt;定数評価での例外送出を許可&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_constexpr_virtual_inheritance&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;constexpr&lt;/code&gt;仮想継承を許可&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_contracts&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;contracts.html&#34;&gt;契約プログラミングをサポートする&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_deleted_function&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202403L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;delete_reason.html&#34;&gt;関数宣言を削除する理由を指定できるようにする&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_expansion_statements&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;expansion_statements.html&#34;&gt;コンパイル時のタプルやリストを展開処理する&lt;code&gt;template for&lt;/code&gt;文&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_impl_reflection&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;reflection.html&#34;&gt;静的リフレクション&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_pack_indexing&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202311L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;pack_indexing.html&#34;&gt;パラメータパックへのインデックスアクセスを許可&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_placeholder_variables&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;nice_placeholder_with_no_name.html&#34;&gt;宣言のみで使用しない変数の名前として&lt;code&gt;_&lt;/code&gt;をサポート&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_pp_embed&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;embed.html&#34;&gt;ファイルを読み込む&lt;code&gt;#embed&lt;/code&gt;命令を追加&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_static_assert&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;user-generated_static_assert_messages.html&#34;&gt;&lt;code&gt;static_assert&lt;/code&gt;の診断メッセージにユーザーが生成した文字列の指定を許可&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_structured_bindings&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202411L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;attributes_for_structured_bindings.html&#34;&gt;構造化束縛への属性を許可&lt;/a&gt;&lt;br /&gt;&lt;a href=&#34;structured_bindings_can_introduce_a_pack.html&#34;&gt;構造化束縛でパックを導入できるようにする&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_template_parameters&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;concept_and_variable-template_template-parameters.html&#34;&gt;コンセプトと変数テンプレートをテンプレート引数として渡せるようにする&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_trivial_relocatability&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;トリビアルな再配置&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_trivial_union&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;trivial_unions.html&#34;&gt;共用体の特殊メンバ関数のトリビアル化&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_variadic_friend&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202403L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;variadic_friends.html&#34;&gt;可変引数テンプレートで&lt;code&gt;friend&lt;/code&gt;宣言をできるようにする&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3&gt;ライブラリ&lt;/h3&gt;
&lt;p&gt;ライブラリの機能テストマクロは全て&lt;code&gt;&lt;a href=&#34;../../reference/version.html&#34;&gt;&amp;lt;version&amp;gt;&lt;/a&gt;&lt;/code&gt;でも提供される。&lt;/p&gt;
&lt;table border=&#34;1&#34; bordercolor=&#34;#888&#34; style=&#34;border-collapse:collapse&#34;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;マクロ名&lt;/th&gt;
&lt;th&gt;値&lt;/th&gt;
&lt;th&gt;機能&lt;/th&gt;
&lt;th&gt;ヘッダ&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_algorithm_default_value_type&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202603L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;一部アルゴリズムに、値を波カッコ初期化で渡せるよう制約を追加 (P3787R2で&lt;code&gt;&lt;a href=&#34;../../reference/memory/uninitialized_fill.html&#34;&gt;uninitialized_fill&lt;/a&gt;&lt;/code&gt;/&lt;code&gt;&lt;a href=&#34;../../reference/memory/uninitialized_fill_n.html&#34;&gt;uninitialized_fill_n&lt;/a&gt;&lt;/code&gt;を追加)&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/algorithm.html&#34;&gt;&amp;lt;algorithm&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/ranges.html&#34;&gt;&amp;lt;ranges&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/string.html&#34;&gt;&amp;lt;string&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/deque.html&#34;&gt;&amp;lt;deque&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/list.html&#34;&gt;&amp;lt;list&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/forward_list.html&#34;&gt;&amp;lt;forward_list&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/vector.html&#34;&gt;&amp;lt;vector&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/memory.html&#34;&gt;&amp;lt;memory&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_aligned_accessor&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202411L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/mdspan.html&#34;&gt;&amp;lt;mdspan&amp;gt;&lt;/a&gt;&lt;/code&gt;に、要素アクセスにアライメント保証を与える&lt;code&gt;&lt;a href=&#34;../../reference/mdspan/aligned_accessor.html&#34;&gt;std::aligned_accessor&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/mdspan.html&#34;&gt;&amp;lt;mdspan&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_associative_heterogeneous_insertion&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;連想コンテナの一部メンバ関数に、一時オブジェクト生成のコストを抑える拡張を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/map.html&#34;&gt;&amp;lt;map&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/set.html&#34;&gt;&amp;lt;set&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/unordered_map.html&#34;&gt;&amp;lt;unordered_map&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/unordered_set.html&#34;&gt;&amp;lt;unordered_set&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_apply&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/tuple/apply.html&#34;&gt;std::apply&lt;/a&gt;&lt;/code&gt;の戻り値型推論をやめて、戻り値型用の&lt;code&gt;&lt;a href=&#34;../../reference/tuple/apply_result.md.nolink&#34;&gt;std::apply_result&lt;/a&gt;&lt;/code&gt;クラスを追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/tuple.html&#34;&gt;&amp;lt;tuple&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/type_traits.html&#34;&gt;&amp;lt;type_traits&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_atomic_min_max&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/atomic/atomic.html&#34;&gt;std::atomic&lt;/a&gt;&lt;/code&gt;オブジェクトに対する2つの値の最大値・最小値を取得する関数を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/atomic.html&#34;&gt;&amp;lt;atomic&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_atomic_reductions&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/atomic/atomic.html&#34;&gt;std::atomic&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../../reference/atomic/atomic_ref.html&#34;&gt;std::atomic_ref&lt;/a&gt;&lt;/code&gt;に高速な縮約用の操作を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/atomic.html&#34;&gt;&amp;lt;atomic&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_atomic_ref&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202411L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/atomic/atomic_ref.html&#34;&gt;std::atomic_ref&lt;/a&gt;&lt;/code&gt;に&lt;code&gt;&lt;a href=&#34;../../reference/atomic/atomic_ref/address.html&#34;&gt;address()&lt;/a&gt;&lt;/code&gt;メンバ関数を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/atomic.html&#34;&gt;&amp;lt;atomic&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_bind_back&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/functional/bind_back.html&#34;&gt;std::bind_back()&lt;/a&gt;&lt;/code&gt;に、非型テンプレート引数として関数を指定するオーバーロードを追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/functional.html&#34;&gt;&amp;lt;functional&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_bind_front&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/functional/bind_front.html&#34;&gt;std::bind_front()&lt;/a&gt;&lt;/code&gt;に、非型テンプレート引数として関数を指定するオーバーロードを追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/functional.html&#34;&gt;&amp;lt;functional&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_bitset&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/bitset/bitset.html&#34;&gt;std::bitset&lt;/a&gt;&lt;/code&gt;に、&lt;code&gt;&lt;a href=&#34;../../reference/string_view/basic_string_view.html&#34;&gt;std::basic_string_view&lt;/a&gt;&lt;/code&gt;を受け取るコンストラクタを追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/bitset.html&#34;&gt;&amp;lt;bitset&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_chrono&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/chrono.html&#34;&gt;&amp;lt;chrono&amp;gt;&lt;/a&gt;&lt;/code&gt;のクラスに、ハッシュ値サポートとして&lt;code&gt;&lt;a href=&#34;../../reference/functional/hash.html&#34;&gt;std::hash&lt;/a&gt;&lt;/code&gt;の特殊化を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/chrono.html&#34;&gt;&amp;lt;chrono&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_constant_wrapper&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202606L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/utility.html&#34;&gt;&amp;lt;utility&amp;gt;&lt;/a&gt;&lt;/code&gt;に&lt;code&gt;&lt;a href=&#34;../../reference/utility/constant_wrapper.html&#34;&gt;std::constant_wrapper&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/utility.html&#34;&gt;&amp;lt;utility&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_constexpr_algorithms&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/algorithm/stable_sort.html&#34;&gt;std::stable_sort()&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../../reference/algorithm/ranges_stable_sort.html&#34;&gt;std::ranges::stable_sort()&lt;/a&gt;&lt;/code&gt;を&lt;code&gt;constexpr&lt;/code&gt;対応&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/algorithm.html&#34;&gt;&amp;lt;algorithm&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/utility.html&#34;&gt;&amp;lt;utility&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_constexpr_atomic&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202411L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/atomic.html&#34;&gt;&amp;lt;atomic&amp;gt;&lt;/a&gt;&lt;/code&gt;ライブラリのアトミック操作を&lt;code&gt;constexpr&lt;/code&gt;対応&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/atomic.html&#34;&gt;&amp;lt;atomic&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_constexpr_cmath&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/cmath.html&#34;&gt;&amp;lt;cmath&amp;gt;&lt;/a&gt;&lt;/code&gt;の関数 (特殊関数と丸めモードに依存する関数以外の全て) を&lt;code&gt;constexpr&lt;/code&gt;対応&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/cmath.html&#34;&gt;&amp;lt;cmath&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/cstdlib.html&#34;&gt;&amp;lt;cstdlib&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_constexpr_complex&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/complex/complex.html&#34;&gt;std::complex&lt;/a&gt;&lt;/code&gt;の全関数を&lt;code&gt;constexpr&lt;/code&gt;対応&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/complex.html&#34;&gt;&amp;lt;complex&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_constexpr_deque&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/deque/deque.html&#34;&gt;std::deque&lt;/a&gt;&lt;/code&gt;を&lt;code&gt;constexpr&lt;/code&gt;対応&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/deque.html&#34;&gt;&amp;lt;deque&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_constexpr_exceptions&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;allowing_exception_throwing_in_constant-evaluation.html&#34;&gt;定数式での例外送出が許可されること&lt;/a&gt;にともない、例外クラスの関連機能を&lt;code&gt;constexpr&lt;/code&gt;対応&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/exception.html&#34;&gt;&amp;lt;exception&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/stdexcept.html&#34;&gt;&amp;lt;stdexcept&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/expected.html&#34;&gt;&amp;lt;expected&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/optional.html&#34;&gt;&amp;lt;optional&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/variant.html&#34;&gt;&amp;lt;variant&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/format.html&#34;&gt;&amp;lt;format&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_constexpr_flat_map&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/flat_map/flat_map.html&#34;&gt;std::flat_map&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../../reference/flat_map/flat_multimap.html&#34;&gt;std::flat_multimap&lt;/a&gt;&lt;/code&gt;を&lt;code&gt;constexpr&lt;/code&gt;対応&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/flat_map.html&#34;&gt;&amp;lt;flat_map&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_constexpr_flat_set&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/flat_set/flat_set.html&#34;&gt;std::flat_set&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../../reference/flat_set/flat_multiset.html&#34;&gt;std::flat_multiset&lt;/a&gt;&lt;/code&gt;を&lt;code&gt;constexpr&lt;/code&gt;対応&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/flat_set.html&#34;&gt;&amp;lt;flat_set&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_constexpr_forward_list&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/forward_list/forward_list.html&#34;&gt;std::forward_list&lt;/a&gt;&lt;/code&gt;を&lt;code&gt;constexpr&lt;/code&gt;対応&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/forward_list.html&#34;&gt;&amp;lt;forward_list&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_constexpr_inplace_vector&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202603L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/inplace_vector/inplace_vector.html&#34;&gt;std::inplace_vector&lt;/a&gt;&lt;/code&gt;を&lt;code&gt;constexpr&lt;/code&gt;対応&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/inplace_vector.html&#34;&gt;&amp;lt;inplace_vector&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_constexpr_list&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/list/list.html&#34;&gt;std::list&lt;/a&gt;&lt;/code&gt;を&lt;code&gt;constexpr&lt;/code&gt;対応&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/list.html&#34;&gt;&amp;lt;list&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_constexpr_map&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/map/map.html&#34;&gt;std::map&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../../reference/map/multimap.html&#34;&gt;std::multimap&lt;/a&gt;&lt;/code&gt;を&lt;code&gt;constexpr&lt;/code&gt;対応&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/map.html&#34;&gt;&amp;lt;map&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_constexpr_memory&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/memory/shared_ptr.html&#34;&gt;std::shared_ptr&lt;/a&gt;&lt;/code&gt;クラスとその関連機能を&lt;code&gt;constexpr&lt;/code&gt;対応&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/memory.html&#34;&gt;&amp;lt;memory&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_constexpr_new&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202406L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;constexpr_placement_new.html&#34;&gt;&lt;code&gt;constexpr&lt;/code&gt;配置&lt;code&gt;new&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/new.html&#34;&gt;&amp;lt;new&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_constexpr_queue&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/queue/queue.html&#34;&gt;std::queue&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../../reference/queue/priority_queue.html&#34;&gt;std::priority_queue&lt;/a&gt;&lt;/code&gt;を&lt;code&gt;constexpr&lt;/code&gt;対応&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/queue.html&#34;&gt;&amp;lt;queue&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_constexpr_set&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/set/set.html&#34;&gt;std::set&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../../reference/set/multiset.html&#34;&gt;std::multiset&lt;/a&gt;&lt;/code&gt;を&lt;code&gt;constexpr&lt;/code&gt;対応&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/set.html&#34;&gt;&amp;lt;set&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_constexpr_stack&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/stack/stack.html&#34;&gt;std::stack&lt;/a&gt;&lt;/code&gt;を&lt;code&gt;constexpr&lt;/code&gt;対応&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/stack.html&#34;&gt;&amp;lt;stack&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_constexpr_unordered_map&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/unordered_map/unordered_map.html&#34;&gt;std::unordered_map&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../../reference/unordered_map/unordered_multimap.html&#34;&gt;std::unordered_multimap&lt;/a&gt;&lt;/code&gt;を&lt;code&gt;constexpr&lt;/code&gt;対応&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/unordered_map.html&#34;&gt;&amp;lt;unordered_map&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_constexpr_unordered_set&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/unordered_set/unordered_set.html&#34;&gt;std::unordered_set&lt;/a&gt;&lt;/code&gt; / &lt;code&gt;&lt;a href=&#34;../../reference/unordered_set/unordered_multiset.html&#34;&gt;std::unordered_multiset&lt;/a&gt;&lt;/code&gt;を&lt;code&gt;constexpr&lt;/code&gt;対応&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/unordered_set.html&#34;&gt;&amp;lt;unordered_set&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_constrained_equality&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202411L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/functional/reference_wrapper.html&#34;&gt;std::reference_wrapper&lt;/a&gt;&lt;/code&gt;に、比較演算子&lt;code&gt;&lt;a href=&#34;../../reference/functional/reference_wrapper/op_equal.html&#34;&gt;==&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../../reference/functional/reference_wrapper/op_compare_3way.html&#34;&gt;&amp;lt;=&amp;gt;&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/utility.html&#34;&gt;&amp;lt;utility&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/tuple.html&#34;&gt;&amp;lt;tuple&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/optional.html&#34;&gt;&amp;lt;optional&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/variant.html&#34;&gt;&amp;lt;variant&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/expected.html&#34;&gt;&amp;lt;expected&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_contracts&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;contracts.html&#34;&gt;契約プログラミングをサポートする&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/contracts.html&#34;&gt;&amp;lt;contracts&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_copyable_function&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/functional.html&#34;&gt;&amp;lt;functional&amp;gt;&lt;/a&gt;&lt;/code&gt;に&lt;code&gt;&lt;a href=&#34;../../reference/functional/copyable_function.html&#34;&gt;std::copyable_function&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/functional.html&#34;&gt;&amp;lt;functional&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_counting_scope&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/execution.html&#34;&gt;&amp;lt;execution&amp;gt;&lt;/a&gt;&lt;/code&gt;に&lt;code&gt;&lt;a href=&#34;../../reference/execution/execution/spawn.html&#34;&gt;std::execution::spawn&lt;/a&gt;&lt;/code&gt;、&lt;code&gt;&lt;a href=&#34;../../reference/execution/execution/scope_token.html&#34;&gt;std::execution::scope_token&lt;/a&gt;&lt;/code&gt;などを追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/execution.html&#34;&gt;&amp;lt;execution&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_debugging&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202403L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;デバッグサポートのライブラリとして&lt;code&gt;&lt;a href=&#34;../../reference/debugging.html&#34;&gt;&amp;lt;debugging&amp;gt;&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/debugging.html&#34;&gt;&amp;lt;debugging&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_define_static&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/meta.html&#34;&gt;&amp;lt;meta&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_exception_ptr_cast&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202603L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/exception/exception_ptr.html&#34;&gt;std::exception_ptr&lt;/a&gt;&lt;/code&gt;を指定した例外型にキャストする&lt;code&gt;&lt;a href=&#34;../../reference/exception/exception_ptr_cast.html&#34;&gt;std::exception_ptr_cast()&lt;/a&gt;&lt;/code&gt;関数を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/exception.html&#34;&gt;&amp;lt;exception&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_format&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202603L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/format/dynamic_format.html&#34;&gt;std::dynamic_format&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/format.html&#34;&gt;&amp;lt;format&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_format_path&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/filesystem/path.html&#34;&gt;std::filesystem::path&lt;/a&gt;&lt;/code&gt;クラスに、文字列フォーマットのサポートを追加&lt;br /&gt;&lt;code&gt;&lt;a href=&#34;../../reference/filesystem/path.html&#34;&gt;std::filesystem::path&lt;/a&gt;&lt;/code&gt;クラスに、出力用の文字列を取得するためのメンバ関数を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/filesystem.html&#34;&gt;&amp;lt;filesystem&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_format_uchar&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202311L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/format/format.html&#34;&gt;std::format&lt;/a&gt;&lt;/code&gt;が&lt;code&gt;char&lt;/code&gt;を数値出力する際は符号なしとして扱う&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/format.html&#34;&gt;&amp;lt;format&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_algorithm&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/algorithm.html&#34;&gt;&amp;lt;algorithm&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_array&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202311L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/array.html&#34;&gt;&amp;lt;array&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_char_traits&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/string.html&#34;&gt;&amp;lt;string&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_charconv&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/charconv.html&#34;&gt;&amp;lt;charconv&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_cstdlib&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/cstdlib.html&#34;&gt;&amp;lt;cstdlib&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/cmath.html&#34;&gt;&amp;lt;cmath&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_cstring&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202311L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/cstring.html&#34;&gt;&amp;lt;cstring&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_cwchar&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/cwchar.md.nolink&#34;&gt;&amp;lt;cwchar&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_errc&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/cerrno.html&#34;&gt;&amp;lt;cerrno&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/system_error.html&#34;&gt;&amp;lt;system_error&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_execution&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/execution.html&#34;&gt;&amp;lt;execution&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_expected&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202311L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/expected.html&#34;&gt;&amp;lt;expected&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_feature_test_macros&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_functional&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/functional.html&#34;&gt;&amp;lt;functional&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_iterator&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/iterator.html&#34;&gt;&amp;lt;iterator&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_mdspan&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202311L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/mdspan.html&#34;&gt;&amp;lt;mdspan&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_memory&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/memory.html&#34;&gt;&amp;lt;memory&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_numeric&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/numeric.html&#34;&gt;&amp;lt;numeric&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_operator_new&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt; or &lt;code&gt;0&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/new.html&#34;&gt;&amp;lt;new&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_optional&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/optional.html&#34;&gt;&amp;lt;optional&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_random&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/random.html&#34;&gt;&amp;lt;random&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_ranges&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/ranges.html&#34;&gt;&amp;lt;ranges&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_ratio&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/ratio.html&#34;&gt;&amp;lt;ratio&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_string_view&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202311L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/string_view.html&#34;&gt;&amp;lt;string_view&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_tuple&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/tuple.html&#34;&gt;&amp;lt;tuple&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_utility&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/utility.html&#34;&gt;&amp;lt;utility&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_freestanding_variant&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202311L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/variant.html&#34;&gt;&amp;lt;variant&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_fstream_native_handle&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/fstream/basic_fstream.html&#34;&gt;std::basic_fstream&lt;/a&gt;&lt;/code&gt;などのメンバに、ファイルのネイティブハンドルを追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/fstream.html&#34;&gt;&amp;lt;fstream&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_function_ref&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/functional.html&#34;&gt;&amp;lt;functional&amp;gt;&lt;/a&gt;&lt;/code&gt;に&lt;code&gt;&lt;a href=&#34;../../reference/functional/function_ref.html&#34;&gt;std::function_ref&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/functional.html&#34;&gt;&amp;lt;functional&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_hazard_pointer&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;ハザードポインタのライブラリ&lt;code&gt;&lt;a href=&#34;../../reference/hazard_pointer.md.nolink&#34;&gt;&amp;lt;hazard_pointer&amp;gt;&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/hazard_pointer.md.nolink&#34;&gt;&amp;lt;hazard_pointer&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_hive&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;シーケンスコンテナのライブラリ&lt;code&gt;&lt;a href=&#34;../../reference/hive.md.nolink&#34;&gt;&amp;lt;hive&amp;gt;&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/hive.md.nolink&#34;&gt;&amp;lt;hive&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_indirect&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/memory.html&#34;&gt;&amp;lt;memory&amp;gt;&lt;/a&gt;&lt;/code&gt;に&lt;code&gt;&lt;a href=&#34;../../reference/memory/indirect.html&#34;&gt;std::indirect&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../../reference/memory/polymorphic.html&#34;&gt;std::polymorphic&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/memory.html&#34;&gt;&amp;lt;memory&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_inplace_vector&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202603L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;容量固定の可変長配列のライブラリ&lt;code&gt;&lt;a href=&#34;../../reference/inplace_vector.html&#34;&gt;&amp;lt;inplace_vector&amp;gt;&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/inplace_vector.html&#34;&gt;&amp;lt;inplace_vector&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_integer_sequence&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202511L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/utility/integer_sequence.html&#34;&gt;std::integer_sequence&lt;/a&gt;&lt;/code&gt;を&lt;a href=&#34;../cpp17/structured_bindings.html&#34;&gt;構造化束縛&lt;/a&gt;と&lt;a href=&#34;expansion_statements.html&#34;&gt;&lt;code&gt;template for&lt;/code&gt;文&lt;/a&gt;で使用できるよう、タプルインタフェースの特殊化を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/utility.html&#34;&gt;&amp;lt;utility&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_is_sufficiently_aligned&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202411L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/mdspan.html&#34;&gt;&amp;lt;mdspan&amp;gt;&lt;/a&gt;&lt;/code&gt;に、要素アクセスにアライメント保証を与える&lt;code&gt;&lt;a href=&#34;../../reference/mdspan/aligned_accessor.html&#34;&gt;std::aligned_accessor&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/memory.html&#34;&gt;&amp;lt;memory&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_is_structural&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202603L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/type_traits.html&#34;&gt;&amp;lt;type_traits&amp;gt;&lt;/a&gt;&lt;/code&gt;に&lt;code&gt;&lt;a href=&#34;../../reference/type_traits/is_structural.html&#34;&gt;std::is_structural&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/type_traits.html&#34;&gt;&amp;lt;type_traits&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/meta.html&#34;&gt;&amp;lt;meta&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_is_virtual_base_of&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202406L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/type_traits.html&#34;&gt;&amp;lt;type_traits&amp;gt;&lt;/a&gt;&lt;/code&gt;に&lt;code&gt;&lt;a href=&#34;../../reference/type_traits/is_virtual_base_of.html&#34;&gt;std::is_virtual_base_of&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/type_traits.html&#34;&gt;&amp;lt;type_traits&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_is_within_lifetime&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/type_traits.html&#34;&gt;&amp;lt;type_traits&amp;gt;&lt;/a&gt;&lt;/code&gt;に&lt;code&gt;&lt;a href=&#34;../../reference/type_traits/is_within_lifetime.html&#34;&gt;std::is_within_lifetime()&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/type_traits.html&#34;&gt;&amp;lt;type_traits&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_linalg&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202412L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;線形代数ライブラリとして&lt;code&gt;&lt;a href=&#34;../../reference/linalg.html&#34;&gt;&amp;lt;linalg&amp;gt;&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/linalg.html&#34;&gt;&amp;lt;linalg&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_mdspan&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202406L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/mdspan/mdspan.html&#34;&gt;std::mdspan&lt;/a&gt;&lt;/code&gt;に対する&lt;code&gt;&lt;a href=&#34;../../reference/mdspan/extents.html&#34;&gt;std::dextents&lt;/a&gt;&lt;/code&gt;指定の冗長さを解決する&lt;code&gt;&lt;a href=&#34;../../reference/mdspan/extents.html&#34;&gt;std::dims&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/mdspan.html&#34;&gt;&amp;lt;mdspan&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_not_fn&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/functional/not_fn.html&#34;&gt;std::not_fn()&lt;/a&gt;&lt;/code&gt;に、非型テンプレート引数として関数を指定するオーバーロードを追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/functional.html&#34;&gt;&amp;lt;functional&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_observable_checkpoint&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/utility.html&#34;&gt;&amp;lt;utility&amp;gt;&lt;/a&gt;&lt;/code&gt;に&lt;code&gt;&lt;a href=&#34;../../reference/utility/observable_checkpoint.html&#34;&gt;std::observable_checkpoint()&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/utility.html&#34;&gt;&amp;lt;utility&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_optional&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/optional/optional.html&#34;&gt;std::optional&lt;/a&gt;&lt;/code&gt;に、参照を保持するための&lt;code&gt;T&amp;amp;&lt;/code&gt;の部分特殊化を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/optional.html&#34;&gt;&amp;lt;optional&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_optional_range_support&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202406L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/optional/optional.html&#34;&gt;std::optional&lt;/a&gt;&lt;/code&gt;にイテレータインタフェースを追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/optional.html&#34;&gt;&amp;lt;optional&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_out_ptr&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202311L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/memory.html&#34;&gt;&amp;lt;memory&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_parallel_algorithm&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/algorithm.html&#34;&gt;&amp;lt;algorithm&amp;gt;&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../../reference/memory.html&#34;&gt;&amp;lt;memory&amp;gt;&lt;/a&gt;&lt;/code&gt;のアルゴリズムを並列実行に対応&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/algorithm.html&#34;&gt;&amp;lt;algorithm&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/numeric.html&#34;&gt;&amp;lt;numeric&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/memory.html&#34;&gt;&amp;lt;memory&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_parallel_scheduler&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/execution.html&#34;&gt;&amp;lt;execution&amp;gt;&lt;/a&gt;&lt;/code&gt;に&lt;code&gt;&lt;a href=&#34;../../reference/execution/execution/parallel_scheduler.html&#34;&gt;std::execution::parallel_scheduler&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/execution.html&#34;&gt;&amp;lt;execution&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_philox_engine&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202406L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/random.html&#34;&gt;&amp;lt;random&amp;gt;&lt;/a&gt;&lt;/code&gt;に&lt;code&gt;&lt;a href=&#34;../../reference/random/philox_engine.html&#34;&gt;std::philox_engine&lt;/a&gt;&lt;/code&gt;、&lt;code&gt;&lt;a href=&#34;../../reference/random/philox4x32.html&#34;&gt;std::philox4x32&lt;/a&gt;&lt;/code&gt;、&lt;code&gt;&lt;a href=&#34;../../reference/random/philox4x64.html&#34;&gt;std::philox4x64&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/random.html&#34;&gt;&amp;lt;random&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_polymorphic&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/memory.html&#34;&gt;&amp;lt;memory&amp;gt;&lt;/a&gt;&lt;/code&gt;に&lt;code&gt;&lt;a href=&#34;../../reference/memory/indirect.html&#34;&gt;std::indirect&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../../reference/memory/polymorphic.html&#34;&gt;std::polymorphic&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/memory.html&#34;&gt;&amp;lt;memory&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_print&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202406L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/print/print.html&#34;&gt;std::print()&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../../reference/print/println.html&#34;&gt;std::println()&lt;/a&gt;&lt;/code&gt;にロックを取得せず高速に書き出す最適化を許可&lt;br /&gt;&lt;code&gt;&lt;a href=&#34;../../reference/format/enable_nonlocking_formatter_optimization.html&#34;&gt;std::enable_nonlocking_formatter_optimization&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/print.html&#34;&gt;&amp;lt;print&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/ostream.html&#34;&gt;&amp;lt;ostream&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_ranges&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202406L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/iterator/indirectly_unary_invocable.html&#34;&gt;std::indirectly_unary_invocable&lt;/a&gt;&lt;/code&gt;などのコンセプトの共通参照要件を削除&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/algorithm.html&#34;&gt;&amp;lt;algorithm&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/functional.html&#34;&gt;&amp;lt;functional&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/iterator.html&#34;&gt;&amp;lt;iterator&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/memory.html&#34;&gt;&amp;lt;memory&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/ranges.html&#34;&gt;&amp;lt;ranges&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_ranges_as_const&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202311L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/iterator/basic_const_iterator.html&#34;&gt;std::basic_const_iterator&lt;/a&gt;&lt;/code&gt;を元の要素へのキャストを可能にする&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/ranges.html&#34;&gt;&amp;lt;ranges&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_ranges_cache_latest&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202411L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/ranges/cache_latest_view.html&#34;&gt;std::views::cache_latest&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/ranges.html&#34;&gt;&amp;lt;ranges&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_ranges_concat&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202403L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/ranges/concat_view.html&#34;&gt;std::views::concat&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/ranges.html&#34;&gt;&amp;lt;ranges&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_ranges_filter&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202603L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/ranges/filter_view.html&#34;&gt;std::ranges::filter_view&lt;/a&gt;&lt;/code&gt;に、入力Rangeに対する&lt;code&gt;const&lt;/code&gt;版の&lt;code&gt;&lt;a href=&#34;../../reference/ranges/filter_view/begin.html&#34;&gt;begin()&lt;/a&gt;&lt;/code&gt;/&lt;code&gt;&lt;a href=&#34;../../reference/ranges/filter_view/end.html&#34;&gt;end()&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/ranges.html&#34;&gt;&amp;lt;ranges&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_ranges_generate_random&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202403L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/random.html&#34;&gt;&amp;lt;random&amp;gt;&lt;/a&gt;&lt;/code&gt;に、乱数列を生成する&lt;code&gt;&lt;a href=&#34;../../reference/random/generate_random.html&#34;&gt;std::ranges::generate_random()&lt;/a&gt;&lt;/code&gt;関数を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/random.html&#34;&gt;&amp;lt;random&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_ranges_indices&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;インデックス列を生成する&lt;code&gt;&lt;a href=&#34;../../reference/ranges/indices.html&#34;&gt;std::views::indices&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/ranges.html&#34;&gt;&amp;lt;ranges&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_ranges_reserve_hint&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;各viewクラスに&lt;code&gt;reserve_hint()&lt;/code&gt;メンバ関数を追加&lt;br /&gt;&lt;code&gt;&lt;a href=&#34;../../reference/ranges/reserve_hint.html&#34;&gt;std::ranges::reserve_hint()&lt;/a&gt;&lt;/code&gt;関数を追加&lt;br /&gt;&lt;code&gt;&lt;a href=&#34;../../reference/ranges/approximately_sized_range.html&#34;&gt;std::ranges::approximately_sized_range&lt;/a&gt;&lt;/code&gt;コンセプトを追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/ranges.html&#34;&gt;&amp;lt;ranges&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_ranges_as_input&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/ranges/as_input_view.html&#34;&gt;std::views::as_input&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/ranges.html&#34;&gt;&amp;lt;ranges&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_ratio&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/ratio.html&#34;&gt;&amp;lt;ratio&amp;gt;&lt;/a&gt;&lt;/code&gt;に、新たなSI接頭辞を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/ratio.html&#34;&gt;&amp;lt;ratio&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_raw_memory_algorithms&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202411L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/memory/uninitialized_default_construct.html&#34;&gt;std::uninitialized_default_construct()&lt;/a&gt;&lt;/code&gt;などの未初期化領域に対する操作を&lt;code&gt;constexpr&lt;/code&gt;対応&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/memory.html&#34;&gt;&amp;lt;memory&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_rcu&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;RCU (Read Copy Update) のライブラリとして&lt;code&gt;&lt;a href=&#34;../../reference/rcu.html&#34;&gt;&amp;lt;rcu&amp;gt;&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/rcu.html&#34;&gt;&amp;lt;rcu&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_reference_wrapper&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202403L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/functional/reference_wrapper.html&#34;&gt;std::reference_wrapper&lt;/a&gt;&lt;/code&gt;に、比較演算子&lt;code&gt;&lt;a href=&#34;../../reference/functional/reference_wrapper/op_equal.html&#34;&gt;==&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../../reference/functional/reference_wrapper/op_compare_3way.html&#34;&gt;&amp;lt;=&amp;gt;&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/functional.html&#34;&gt;&amp;lt;functional&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_reflection&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;reflection.html&#34;&gt;静的リフレクション&lt;/a&gt;のライブラリ機能&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/meta.html&#34;&gt;&amp;lt;meta&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_saturation_arithmetic&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202603L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/numeric.html&#34;&gt;&amp;lt;numeric&amp;gt;&lt;/a&gt;&lt;/code&gt;に飽和演算 (Saturation Arithmetic) として&lt;code&gt;&lt;a href=&#34;../../reference/numeric/saturating_add.html&#34;&gt;std::saturating_add()&lt;/a&gt;&lt;/code&gt;などの関数を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/numeric.html&#34;&gt;&amp;lt;numeric&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_senders&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/execution.html&#34;&gt;&amp;lt;execution&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_simd&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;データ並列ライブラリとして、&lt;code&gt;&lt;a href=&#34;../../reference/simd.md.nolink&#34;&gt;&amp;lt;simd&amp;gt;&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/simd.md.nolink&#34;&gt;&amp;lt;simd&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_simd_complex&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/simd.md.nolink&#34;&gt;&amp;lt;simd&amp;gt;&lt;/a&gt;&lt;/code&gt;が&lt;code&gt;&lt;a href=&#34;../../reference/complex/complex.html&#34;&gt;std::complex&lt;/a&gt;&lt;/code&gt;をサポートする&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/simd.md.nolink&#34;&gt;&amp;lt;simd&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_simd_permutations&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/simd.md.nolink&#34;&gt;&amp;lt;simd&amp;gt;&lt;/a&gt;&lt;/code&gt;に&lt;code&gt;permute()&lt;/code&gt;などを追加する&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/simd.md.nolink&#34;&gt;&amp;lt;simd&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_smart_ptr_owner_equality&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/memory.html&#34;&gt;&amp;lt;memory&amp;gt;&lt;/a&gt;&lt;/code&gt;に&lt;code&gt;&lt;a href=&#34;../../reference/memory/owner_hash.html&#34;&gt;std::owner_hash&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../../reference/memory/owner_equal.html&#34;&gt;std::owner_equal&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/memory.html&#34;&gt;&amp;lt;memory&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_span&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202311L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/mdspan/mdspan.html&#34;&gt;std::mdspan&lt;/a&gt;&lt;/code&gt;に&lt;code&gt;&lt;a href=&#34;../../reference/mdspan/mdspan/at.html&#34;&gt;at()&lt;/a&gt;&lt;/code&gt;メンバ関数を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/span.html&#34;&gt;&amp;lt;span&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_span_initializer_list&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202311L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/span/span.html&#34;&gt;std::span&lt;/a&gt;&lt;/code&gt;に&lt;code&gt;&lt;a href=&#34;../../reference/initializer_list/initializer_list.html&#34;&gt;std::initializer_list&lt;/a&gt;&lt;/code&gt;をとるコンストラクタを追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/span.html&#34;&gt;&amp;lt;span&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_sstream_from_string_view&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/sstream/basic_stringstream.html&#34;&gt;std::basic_stringstream&lt;/a&gt;&lt;/code&gt;などが&lt;code&gt;&lt;a href=&#34;../../reference/string_view/basic_string_view.html&#34;&gt;std::basic_string_view&lt;/a&gt;&lt;/code&gt;から構築可能に&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/sstream.html&#34;&gt;&amp;lt;sstream&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_string_subview&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/string/basic_string.html&#34;&gt;std::basic_string&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../../reference/string_view/basic_string_view.html&#34;&gt;std::basic_string_view&lt;/a&gt;&lt;/code&gt;に&lt;code&gt;subview()&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/string.html&#34;&gt;&amp;lt;string&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/string_view.html&#34;&gt;&amp;lt;string_view&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_string_view&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202403L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/string/basic_string.html&#34;&gt;std::basic_string&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../../reference/string_view/basic_string_view.html&#34;&gt;std::basic_string_view&lt;/a&gt;&lt;/code&gt;を連結させる&lt;code&gt;operator+&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/string.html&#34;&gt;&amp;lt;string&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/string_view.html&#34;&gt;&amp;lt;string_view&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_submdspan&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202411L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/mdspan/mdspan.html&#34;&gt;std::mdspan&lt;/a&gt;&lt;/code&gt;から部分ビューを取り出す&lt;code&gt;&lt;a href=&#34;../../reference/mdspan/submdspan.html&#34;&gt;std::submdspan()&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/mdspan.html&#34;&gt;&amp;lt;mdspan&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_task&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/execution.html&#34;&gt;&amp;lt;execution&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_text_encoding&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;文字列エンコーディングを識別するライブラリ&lt;code&gt;&lt;a href=&#34;../../reference/text_encoding.html&#34;&gt;&amp;lt;text_encoding&amp;gt;&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/text_encoding.html&#34;&gt;&amp;lt;text_encoding&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_to_chars&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/charconv/to_chars_result.html&#34;&gt;std::to_chars_result&lt;/a&gt;&lt;/code&gt;と&lt;code&gt;&lt;a href=&#34;../../reference/charconv/from_chars_result.html&#34;&gt;std::from_chars_result&lt;/a&gt;&lt;/code&gt;に&lt;code&gt;operator bool&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/charconv.html&#34;&gt;&amp;lt;charconv&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_to_string&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/string/to_string.html&#34;&gt;std::to_string&lt;/a&gt;&lt;/code&gt;の変換結果を&lt;code&gt;sprintf()&lt;/code&gt;ベースから&lt;code&gt;std::format()&lt;/code&gt;ベースに変更&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/string.html&#34;&gt;&amp;lt;string&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_trivially_relocatable&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;トリビアルな再配置&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/memory.html&#34;&gt;&amp;lt;memory&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/type_traits.html&#34;&gt;&amp;lt;type_traits&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_tuple_like&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202311L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/complex/complex.html&#34;&gt;std::complex&lt;/a&gt;&lt;/code&gt;にタプルインタフェースの特殊化を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/utility.html&#34;&gt;&amp;lt;utility&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/tuple.html&#34;&gt;&amp;lt;tuple&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/map.html&#34;&gt;&amp;lt;map&amp;gt;&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href=&#34;../../reference/unordered_map.html&#34;&gt;&amp;lt;unordered_map&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_type_order&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/compare/type_order.html&#34;&gt;std::type_order&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/compare.html&#34;&gt;&amp;lt;compare&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_variant&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202306L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/variant/variant.html&#34;&gt;std::variant&lt;/a&gt;&lt;/code&gt;クラスに、メンバ関数版の&lt;code&gt;&lt;a href=&#34;../../reference/variant/variant/visit.html&#34;&gt;visit()&lt;/a&gt;&lt;/code&gt;を追加&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/variant.html&#34;&gt;&amp;lt;variant&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;実装依存のマクロ。&lt;/p&gt;
&lt;table border=&#34;1&#34; bordercolor=&#34;#888&#34; style=&#34;border-collapse:collapse&#34;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;マクロ名&lt;/th&gt;
&lt;th&gt;値&lt;/th&gt;
&lt;th&gt;機能&lt;/th&gt;
&lt;th&gt;ヘッダ&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_hardened_array&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/array.html&#34;&gt;&amp;lt;array&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_hardened_basic_stacktrace&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/stacktrace.html&#34;&gt;&amp;lt;stacktrace&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_hardened_basic_string&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/string.html&#34;&gt;&amp;lt;string&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_hardened_basic_string_view&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/string_view.html&#34;&gt;&amp;lt;string_view&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_hardened_bitset&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/bitset.html&#34;&gt;&amp;lt;bitset&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_hardened_common_iterator&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/iterator.html&#34;&gt;&amp;lt;iterator&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_hardened_counted_iterator&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/iterator.html&#34;&gt;&amp;lt;iterator&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_hardened_deque&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/deque.html&#34;&gt;&amp;lt;deque&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_hardened_expected&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/expected.html&#34;&gt;&amp;lt;expected&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_hardened_forward_list&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/forward_list.html&#34;&gt;&amp;lt;forward_list&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_hardened_inplace_vector&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/inplace_vector.html&#34;&gt;&amp;lt;inplace_vector&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_hardened_list&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/list.html&#34;&gt;&amp;lt;list&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_hardened_mdspan&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/mdspan.html&#34;&gt;&amp;lt;mdspan&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_hardened_optional&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/optional.html&#34;&gt;&amp;lt;optional&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_hardened_shared_ptr_array&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/memory.html&#34;&gt;&amp;lt;memory&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_hardened_span&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/span.html&#34;&gt;&amp;lt;span&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_hardened_valarray&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/valarray.html&#34;&gt;&amp;lt;valarray&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_hardened_vector&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202502L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/vector.html&#34;&gt;&amp;lt;vector&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;__cpp_lib_hardened_view_interface&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;202506L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;../../reference/ranges.html&#34;&gt;&amp;lt;ranges&amp;gt;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;参照&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://isocpp.org/std/standing-documents/sd-6-sg10-feature-test-recommendations&#34; target=&#34;_blank&#34;&gt;SD-FeatureTest: Feature-Test Macros and Policies - isocpp&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</content>
      
      <author>
        <name>Akira Takahashi</name>
        <email>faithandbrave@gmail.com</email>
      </author>
    </entry>
  
    <entry>
      <title>memory -- C++26対応としてindirectとpolymorphicのリファレンスを作成 #1430</title>
      <link href="https://cpprefjp.github.io/reference/memory.html"/>
      <id>cff22113c8f884df3e65c2d23570ba6dc92e1fec:reference/memory.md</id>
      <updated>2026-06-22T16:01:50+09:00</updated>
      
        <content type="html">&lt;div class=&#34;header&#34;&gt;&amp;lt;memory&amp;gt;&lt;/div&gt;&lt;h1 itemprop=&#34;name&#34;&gt;&lt;span class=&#34;token&#34;&gt;memory&lt;/span&gt;&lt;/h1&gt;
&lt;div itemprop=&#34;articleBody&#34;&gt;&lt;p&gt;&lt;code&gt;&amp;lt;memory&amp;gt;&lt;/code&gt;ヘッダでは、メモリアロケータ、未初期化領域に関する関数群、スマートポインタ、アライメントに関するユーティリティ関数といった、メモリを扱うための機能を定義する。&lt;/p&gt;
&lt;p&gt;このヘッダでは、以下の標準ヘッダをインクルードする：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&lt;a href=&#34;compare.html&#34;&gt;&amp;lt;compare&amp;gt;&lt;/a&gt;&lt;/code&gt; (C++20)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;メモリアロケータ&lt;/h2&gt;
&lt;table border=&#34;1&#34; bordercolor=&#34;#888&#34; style=&#34;border-collapse:collapse&#34;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;名前&lt;/th&gt;
&lt;th&gt;説明&lt;/th&gt;
&lt;th&gt;対応バージョン&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/allocator.html&#34;&gt;allocator&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;メモリアロケータの標準実装(class template)&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/allocator_traits.html&#34;&gt;allocator_traits&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;アロケータクラスへの間接的なアクセス(class template)&lt;/td&gt;
&lt;td&gt;C++11&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/allocation_result.html&#34;&gt;allocation_result&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/allocator/allocate_at_least.html&#34;&gt;allocate_at_least()&lt;/a&gt;&lt;/code&gt;関数の戻り値型&lt;/td&gt;
&lt;td&gt;C++23&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/allocator_arg_t.html&#34;&gt;allocator_arg_t&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;アロケータを引数として渡す際の、オーバーロード解決のためのタグ(class)&lt;/td&gt;
&lt;td&gt;C++11&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/allocator_arg_t.html&#34;&gt;allocator_arg&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;アロケータを引数として渡す際の、オーバーロード解決のためのタグ(constant value)&lt;/td&gt;
&lt;td&gt;C++11&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/uses_allocator.html&#34;&gt;uses_allocator&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;型&lt;code&gt;T&lt;/code&gt;がアロケータを使用するか調べる&lt;/td&gt;
&lt;td&gt;C++11&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/uses_allocator_construction_args.html&#34;&gt;uses_allocator_construction_args&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;uses-allocator 構築のためのコンストラクタ引数を &lt;code&gt;&lt;a href=&#34;tuple/tuple.html&#34;&gt;tuple&lt;/a&gt;&lt;/code&gt; 型にして返す&lt;/td&gt;
&lt;td&gt;C++20&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/make_obj_using_allocator.html&#34;&gt;make_obj_using_allocator&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;uses-allocator 構築する&lt;/td&gt;
&lt;td&gt;C++20&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/uninitialized_construct_using_allocator.html&#34;&gt;uninitialized_construct_using_allocator&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;指定された領域に uses-allocator 構築する&lt;/td&gt;
&lt;td&gt;C++20&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;メモリ特化のコンセプト&lt;/h2&gt;
&lt;table border=&#34;1&#34; bordercolor=&#34;#888&#34; style=&#34;border-collapse:collapse&#34;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;名前&lt;/th&gt;
&lt;th&gt;説明&lt;/th&gt;
&lt;th&gt;対応バージョン&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/no-throw-input-iterator.html&#34;&gt;no-throw-input-iterator&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;各操作で例外送出をしない説明用の入力イテレータ (concept)&lt;/td&gt;
&lt;td&gt;C++20&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/no-throw-forward-iterator.html&#34;&gt;no-throw-forward-iterator&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;各操作で例外送出をしない説明用の前方向イテレータ (concept)&lt;/td&gt;
&lt;td&gt;C++20&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/no-throw-sentinel.html&#34;&gt;no-throw-sentinel&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;各操作で例外送出をしない説明用の番兵 (concept)&lt;/td&gt;
&lt;td&gt;C++20&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/no-throw-input-range.html&#34;&gt;no-throw-input-range&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;各操作で例外送出をしない入力Range (concept)&lt;/td&gt;
&lt;td&gt;C++20&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/no-throw-forward-range.html&#34;&gt;no-throw-forward-range&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;各操作で例外送出をしない前方向Range (concept)&lt;/td&gt;
&lt;td&gt;C++20&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;未初期化領域に対する操作&lt;/h2&gt;
&lt;table border=&#34;1&#34; bordercolor=&#34;#888&#34; style=&#34;border-collapse:collapse&#34;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;名前&lt;/th&gt;
&lt;th&gt;説明&lt;/th&gt;
&lt;th&gt;対応バージョン&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/uninitialized_default_construct.html&#34;&gt;uninitialized_default_construct&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;未初期化領域の範囲の各要素をデフォルト構築する(function template)&lt;/td&gt;
&lt;td&gt;C++17&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/uninitialized_default_construct_n.html&#34;&gt;uninitialized_default_construct_n&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;未初期化領域の範囲のうち、先頭&lt;code&gt;N&lt;/code&gt;個の要素をデフォルト構築する(function template)&lt;/td&gt;
&lt;td&gt;C++17&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/uninitialized_value_construct.html&#34;&gt;uninitialized_value_construct&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;未初期化領域の範囲の各要素配置を値構築する(function template)&lt;/td&gt;
&lt;td&gt;C++17&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/uninitialized_value_construct_n.html&#34;&gt;uninitialized_value_construct_n&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;未初期化領域の範囲のうち、先頭&lt;code&gt;N&lt;/code&gt;個の要素を値構築する(function template)&lt;/td&gt;
&lt;td&gt;C++17&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/uninitialized_copy.html&#34;&gt;uninitialized_copy&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;未初期化領域の範囲を配置&lt;code&gt;new&lt;/code&gt;で初期化してコピー出力する(function template)&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/uninitialized_copy_n.html&#34;&gt;uninitialized_copy_n&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;未初期化領域の範囲のうち、先頭&lt;code&gt;N&lt;/code&gt;個の要素を配置&lt;code&gt;new&lt;/code&gt;で初期化してコピー出力する(function template)&lt;/td&gt;
&lt;td&gt;C++11&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/uninitialized_move.html&#34;&gt;uninitialized_move&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;未初期化領域の範囲を配置&lt;code&gt;new&lt;/code&gt;で初期化してムーブ出力する(function template)&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/uninitialized_move_n.html&#34;&gt;uninitialized_move_n&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;未初期化領域の範囲のうち、先頭&lt;code&gt;N&lt;/code&gt;個の要素を配置&lt;code&gt;new&lt;/code&gt;で初期化してムーブ出力する(function template)&lt;/td&gt;
&lt;td&gt;C++11&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/uninitialized_fill.html&#34;&gt;uninitialized_fill&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;未初期化領域の範囲を、指定された値で配置&lt;code&gt;new&lt;/code&gt;する(function template)&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/uninitialized_fill_n.html&#34;&gt;uninitialized_fill_n&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;未初期化領域の範囲のうち、先頭&lt;code&gt;N&lt;/code&gt;個の要素を指定された値で配置&lt;code&gt;new&lt;/code&gt;する(function template)&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/construct_at.html&#34;&gt;construct_at&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;コンストラクタを呼び出す(function template)&lt;/td&gt;
&lt;td&gt;C++20&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/destroy_at.html&#34;&gt;destroy_at&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;デストラクタを呼び出す(function template)&lt;/td&gt;
&lt;td&gt;C++17&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/destroy.html&#34;&gt;destroy&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;範囲の各要素に対してデストラクタを呼び出す(function template)&lt;/td&gt;
&lt;td&gt;C++17&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/destroy_n.html&#34;&gt;destroy_n&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;範囲のうち、先頭&lt;code&gt;N&lt;/code&gt;個の要素に対してデストラクタを呼び出す(function template)&lt;/td&gt;
&lt;td&gt;C++17&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/ranges_uninitialized_default_construct.html&#34;&gt;ranges::uninitialized_default_construct&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;未初期化領域の範囲の各要素をデフォルト構築する(function template)&lt;/td&gt;
&lt;td&gt;C++20&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/ranges_uninitialized_default_construct_n.html&#34;&gt;ranges::uninitialized_default_construct_n&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;未初期化領域の範囲のうち、先頭&lt;code&gt;N&lt;/code&gt;個の要素をデフォルト構築する(function template)&lt;/td&gt;
&lt;td&gt;C++20&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/ranges_uninitialized_value_construct.html&#34;&gt;ranges::uninitialized_value_construct&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;未初期化領域の範囲の各要素配置を値構築する(function template)&lt;/td&gt;
&lt;td&gt;C++20&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/ranges_uninitialized_value_construct_n.html&#34;&gt;ranges::uninitialized_value_construct_n&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;未初期化領域の範囲のうち、先頭&lt;code&gt;N&lt;/code&gt;個の要素を値構築する(function template)&lt;/td&gt;
&lt;td&gt;C++20&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/ranges_uninitialized_copy.html&#34;&gt;ranges::uninitialized_copy&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;未初期化領域の範囲を配置&lt;code&gt;new&lt;/code&gt;で初期化してコピー出力する(function template)&lt;/td&gt;
&lt;td&gt;C++20&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/ranges_uninitialized_copy_n.html&#34;&gt;ranges::uninitialized_copy_n&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;未初期化領域の範囲のうち、先頭&lt;code&gt;N&lt;/code&gt;個の要素を配置&lt;code&gt;new&lt;/code&gt;で初期化してコピー出力する(function template)&lt;/td&gt;
&lt;td&gt;C++20&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/ranges_uninitialized_move.html&#34;&gt;ranges::uninitialized_move&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;未初期化領域の範囲を配置&lt;code&gt;new&lt;/code&gt;で初期化してムーブ出力する(function template)&lt;/td&gt;
&lt;td&gt;C++20&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/ranges_uninitialized_move_n.html&#34;&gt;ranges::uninitialized_move_n&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;未初期化領域の範囲のうち、先頭&lt;code&gt;N&lt;/code&gt;個の要素を配置&lt;code&gt;new&lt;/code&gt;で初期化してムーブ出力する(function template)&lt;/td&gt;
&lt;td&gt;C++20&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/ranges_uninitialized_fill.html&#34;&gt;ranges::uninitialized_fill&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;未初期化領域の範囲を、指定された値で配置&lt;code&gt;new&lt;/code&gt;する(function template)&lt;/td&gt;
&lt;td&gt;C++20&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/ranges_uninitialized_fill_n.html&#34;&gt;ranges::uninitialized_fill_n&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;未初期化領域の範囲のうち、先頭&lt;code&gt;N&lt;/code&gt;個の要素を指定された値で配置&lt;code&gt;new&lt;/code&gt;する(function template)&lt;/td&gt;
&lt;td&gt;C++20&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/ranges_construct_at.html&#34;&gt;ranges::construct_at&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;コンストラクタを呼び出す(function template)&lt;/td&gt;
&lt;td&gt;C++20&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/ranges_destroy_at.html&#34;&gt;ranges::destroy_at&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;デストラクタを呼び出す(function template)&lt;/td&gt;
&lt;td&gt;C++20&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/ranges_destroy.html&#34;&gt;ranges::destroy&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;範囲の各要素に対してデストラクタを呼び出す(function template)&lt;/td&gt;
&lt;td&gt;C++20&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/ranges_destroy_n.html&#34;&gt;ranges::destroy_n&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;範囲のうち、先頭&lt;code&gt;N&lt;/code&gt;個の要素に対してデストラクタを呼び出す(function template)&lt;/td&gt;
&lt;td&gt;C++20&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/raw_storage_iterator.html&#34;&gt;raw_storage_iterator&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;未初期化領域に書き込むための出力イテレータ(class template)&lt;/td&gt;
&lt;td&gt;C++17から非推奨&lt;br /&gt; C++20で削除&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/get_temporary_buffer.html&#34;&gt;get_temporary_buffer&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;短期的なメモリ領域を確保する(function template)&lt;/td&gt;
&lt;td&gt;C++17から非推奨&lt;br /&gt; C++20で削除&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/return_temporary_buffer.html&#34;&gt;return_temporary_buffer&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;get_temporary_buffer()&lt;/code&gt;で確保された領域を解放する(function)&lt;/td&gt;
&lt;td&gt;C++17から非推奨&lt;br /&gt; C++20で削除&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;スマートポインタ&lt;/h2&gt;
&lt;table border=&#34;1&#34; bordercolor=&#34;#888&#34; style=&#34;border-collapse:collapse&#34;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;名前&lt;/th&gt;
&lt;th&gt;説明&lt;/th&gt;
&lt;th&gt;対応バージョン&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/shared_ptr.html&#34;&gt;shared_ptr&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;共有方式スマートポインタ(class template)&lt;/td&gt;
&lt;td&gt;C++11&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/make_shared.html&#34;&gt;make_shared&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;shared_ptr&lt;/code&gt;を構築するヘルパ関数(function template)&lt;/td&gt;
&lt;td&gt;C++11&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/make_shared_for_overwrite.html&#34;&gt;make_shared_for_overwrite&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;shared_ptr&lt;/code&gt;を構築するヘルパ関数(function template)&lt;/td&gt;
&lt;td&gt;C++20&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/allocate_shared.html&#34;&gt;allocate_shared&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;アロケータを指定して&lt;code&gt;shared_ptr&lt;/code&gt;を構築するヘルパ関数(function template)&lt;/td&gt;
&lt;td&gt;C++11&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/allocate_shared_for_overwrite.html&#34;&gt;allocate_shared_for_overwrite&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;アロケータを指定して&lt;code&gt;shared_ptr&lt;/code&gt;を構築するヘルパ関数(function template)&lt;/td&gt;
&lt;td&gt;C++20&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/enable_shared_from_this.html&#34;&gt;enable_shared_from_this&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;this&lt;/code&gt;を指す&lt;code&gt;shared_ptr&lt;/code&gt;を可能にする(class template)&lt;/td&gt;
&lt;td&gt;C++11&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/weak_ptr.html&#34;&gt;weak_ptr&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;shared_ptr&lt;/code&gt;のインスタンス監視(class template)&lt;/td&gt;
&lt;td&gt;C++11&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/bad_weak_ptr.html&#34;&gt;bad_weak_ptr&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;weak_ptr&lt;/code&gt;から投げられる例外クラス(class template)&lt;/td&gt;
&lt;td&gt;C++11&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/owner_less.html&#34;&gt;owner_less&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;所有権ベースの小なり比較(class template)&lt;/td&gt;
&lt;td&gt;C++11&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/unique_ptr.html&#34;&gt;unique_ptr&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;専有方式スマートポインタ(class template)&lt;/td&gt;
&lt;td&gt;C++11&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/make_unique.html&#34;&gt;make_unique&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;unique_ptr&lt;/code&gt;を構築するヘルパ関数(function template)&lt;/td&gt;
&lt;td&gt;C++14&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/make_unique_for_overwrite.html&#34;&gt;make_unique_for_overwrite&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;unique_ptr&lt;/code&gt;を構築するヘルパ関数(function template)&lt;/td&gt;
&lt;td&gt;C++20&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/default_delete.html&#34;&gt;default_delete&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;unique_ptr&lt;/code&gt;のデフォルトの削除子(class template)&lt;/td&gt;
&lt;td&gt;C++11&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;auto_ptr&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;古い専有方式スマートポインタ(class template)&lt;/td&gt;
&lt;td&gt;C++11から非推奨&lt;br /&gt; C++17で削除&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;スマートポインタアダプタ&lt;/h2&gt;
&lt;table border=&#34;1&#34; bordercolor=&#34;#888&#34; style=&#34;border-collapse:collapse&#34;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;名前&lt;/th&gt;
&lt;th&gt;説明&lt;/th&gt;
&lt;th&gt;対応バージョン&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/out_ptr_t.html&#34;&gt;out_ptr_t&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;スマートポインタへの出力サポート(class template)&lt;/td&gt;
&lt;td&gt;C++23&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/out_ptr.html&#34;&gt;out_ptr&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;スマートポインタへの出力サポートヘルパ関数(function template)&lt;/td&gt;
&lt;td&gt;C++23&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/inout_ptr_t.html&#34;&gt;inout_ptr_t&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;スマートポインタへの入出力サポート(class template)&lt;/td&gt;
&lt;td&gt;C++23&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/inout_ptr.html&#34;&gt;inout_ptr&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;スマートポインタへの入出力サポートヘルパ関数(function template)&lt;/td&gt;
&lt;td&gt;C++23&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;値の意味論をもつ間接ストレージ&lt;/h2&gt;
&lt;table border=&#34;1&#34; bordercolor=&#34;#888&#34; style=&#34;border-collapse:collapse&#34;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;名前&lt;/th&gt;
&lt;th&gt;説明&lt;/th&gt;
&lt;th&gt;対応バージョン&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/indirect.html&#34;&gt;indirect&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;動的確保したオブジェクトに値の意味論をもたせるクラス(class template)&lt;/td&gt;
&lt;td&gt;C++26&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/polymorphic.html&#34;&gt;polymorphic&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;動的確保したオブジェクトに値の意味論をもたせ、派生型を多態的に保持するクラス(class template)&lt;/td&gt;
&lt;td&gt;C++26&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;スマートポインタのアトミック操作&lt;/h2&gt;
&lt;table border=&#34;1&#34; bordercolor=&#34;#888&#34; style=&#34;border-collapse:collapse&#34;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;名前&lt;/th&gt;
&lt;th&gt;説明&lt;/th&gt;
&lt;th&gt;対応バージョン&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;template&amp;lt;class T&amp;gt; struct atomic&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;atomic&lt;/code&gt;クラスの先行宣言 (class template)&lt;/td&gt;
&lt;td&gt;C++20&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/atomic.html&#34;&gt;template&amp;lt;class T&amp;gt; struct atomic&amp;lt;shared_ptr&amp;lt;T&amp;gt;&amp;gt;;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;atomic&lt;/code&gt;クラスの&lt;code&gt;shared_ptr&lt;/code&gt;に対する特殊化 (class template)&lt;/td&gt;
&lt;td&gt;C++20&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/atomic.html&#34;&gt;template&amp;lt;class T&amp;gt; struct atomic&amp;lt;weak_ptr&amp;lt;T&amp;gt;&amp;gt;;&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;atomic&lt;/code&gt;クラスの&lt;code&gt;weak_ptr&lt;/code&gt;に対する特殊化 (class template)&lt;/td&gt;
&lt;td&gt;C++20&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;atomic_is_lock_free&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;shared_ptr&lt;/code&gt;に対するアトミック操作がロックフリーに振る舞うことができるかを調べる (function template)&lt;/td&gt;
&lt;td&gt;C++11&lt;br /&gt; C++20で非推奨&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;atomic_load&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;shared_ptr&lt;/code&gt;の値をアトミックに読み込む (function template)&lt;/td&gt;
&lt;td&gt;C++11&lt;br /&gt; C++20で非推奨&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;atomic_load_explicit&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;メモリオーダーを指定して、&lt;code&gt;shared_ptr&lt;/code&gt;の値をアトミックに読み込む (function template)&lt;/td&gt;
&lt;td&gt;C++11&lt;br /&gt; C++20で非推奨&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;atomic_store&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;shared_ptr&lt;/code&gt;値をアトミックに書き込む (function template)&lt;/td&gt;
&lt;td&gt;C++11&lt;br /&gt; C++20で非推奨&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;atomic_store_explicit&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;メモリオーダーを指定して、&lt;code&gt;shared_ptr&lt;/code&gt;の値をアトミックに書き込む (function template)&lt;/td&gt;
&lt;td&gt;C++11&lt;br /&gt; C++20で非推奨&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;atomic_exchange&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;shared_ptr&lt;/code&gt;の値をアトミックに入れ替える (function template)&lt;/td&gt;
&lt;td&gt;C++11&lt;br /&gt; C++20で非推奨&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;atomic_exchange_explicit&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;メモリオーダーを指定して、&lt;code&gt;shared_ptr&lt;/code&gt;の値をアトミックに入れ替える (function template)&lt;/td&gt;
&lt;td&gt;C++11&lt;br /&gt; C++20で非推奨&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;atomic_compare_exchange_weak&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;弱い比較で&lt;code&gt;shared_ptr&lt;/code&gt;の値の入れ替えをアトミックに行う (function template)&lt;/td&gt;
&lt;td&gt;C++11&lt;br /&gt; C++20で非推奨&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;atomic_compare_exchange_strong&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;強い比較で&lt;code&gt;shared_ptr&lt;/code&gt;の値の入れ替えをアトミックに行う (function template)&lt;/td&gt;
&lt;td&gt;C++11&lt;br /&gt; C++20で非推奨&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;atomic_compare_exchange_weak_explicit&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;弱い比較でメモリオーダーを指定して、&lt;code&gt;shared_ptr&lt;/code&gt;の値の入れ替えをアトミックに行う (function template)&lt;/td&gt;
&lt;td&gt;C++11&lt;br /&gt; C++20で非推奨&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;atomic_compare_exchange_strong_explicit&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;強い比較でメモリオーダーを指定して、&lt;code&gt;shared_ptr&lt;/code&gt;の値の入れ替えをアトミックに行う (function template)&lt;/td&gt;
&lt;td&gt;C++11&lt;br /&gt; C++20で非推奨&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;ポインタのユーティリティ&lt;/h2&gt;
&lt;table border=&#34;1&#34; bordercolor=&#34;#888&#34; style=&#34;border-collapse:collapse&#34;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;名前&lt;/th&gt;
&lt;th&gt;説明&lt;/th&gt;
&lt;th&gt;対応バージョン&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/pointer_traits.html&#34;&gt;pointer_traits&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;ポインタの型特性(class template)&lt;/td&gt;
&lt;td&gt;C++11&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/to_address.html&#34;&gt;to_address&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;ポインタと見なせるオブジェクトからアドレスを取得する (function template)&lt;/td&gt;
&lt;td&gt;C++20&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/addressof.html&#34;&gt;addressof&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;変数のアドレスを必ず取得する(function template)&lt;/td&gt;
&lt;td&gt;C++11&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/align.html&#34;&gt;align&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;アライメント調整された領域を得る(function)&lt;/td&gt;
&lt;td&gt;C++11&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/assume_aligned.html&#34;&gt;assume_aligned&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;コンパイラへアライメントのヒントを与える(function template)&lt;/td&gt;
&lt;td&gt;C++20&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/is_sufficiently_aligned.html&#34;&gt;is_sufficiently_aligned&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;ポインタのアライメントを判定する(function template)&lt;/td&gt;
&lt;td&gt;C++26&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/start_lifetime_as.html&#34;&gt;start_lifetime_as&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;オブジェクトの生存期間を開始することを明示する(function template)&lt;/td&gt;
&lt;td&gt;C++23&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/start_lifetime_as_array.html&#34;&gt;start_lifetime_as_array&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;配列オブジェクトの生存期間を開始することを明示する(function template)&lt;/td&gt;
&lt;td&gt;C++23&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;ガベージコレクション支援（C++23で削除）&lt;/h2&gt;
&lt;table border=&#34;1&#34; bordercolor=&#34;#888&#34; style=&#34;border-collapse:collapse&#34;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;名前&lt;/th&gt;
&lt;th&gt;説明&lt;/th&gt;
&lt;th&gt;対応バージョン&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/pointer_safety.html&#34;&gt;pointer_safety&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;ポインタ安全性について実装/挙動を示す列挙型(enum class)&lt;/td&gt;
&lt;td&gt;C++11&lt;br /&gt;C++23で削除&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/get_pointer_safety.html&#34;&gt;get_pointer_safety&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;処理系の、ポインタ安全性についての実装/挙動を取得する(function)&lt;/td&gt;
&lt;td&gt;C++11&lt;br /&gt;C++23で削除&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/declare_reachable.html&#34;&gt;declare_reachable&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;ポインタが到達可能であることを宣言する(function)&lt;/td&gt;
&lt;td&gt;C++11&lt;br /&gt;C++23で削除&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/undeclare_reachable.html&#34;&gt;undeclare_reachable&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;ポインタが到達可能であるという宣言を削除する(function template)&lt;/td&gt;
&lt;td&gt;C++11&lt;br /&gt;C++23で削除&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/declare_no_pointers.html&#34;&gt;declare_no_pointers&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;指定された範囲のポインタが、追跡可能ではないことを宣言する(function)&lt;/td&gt;
&lt;td&gt;C++11&lt;br /&gt;C++23で削除&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&lt;a href=&#34;memory/undeclare_no_pointers.html&#34;&gt;undeclare_no_pointers&lt;/a&gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;declare_no_pointers&lt;/code&gt;で宣言された範囲を無効化する(function)&lt;/td&gt;
&lt;td&gt;C++11&lt;br /&gt;C++23で削除&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;参照&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4190.htm&#34; target=&#34;_blank&#34;&gt;N4190 Removing &lt;code&gt;auto_ptr&lt;/code&gt;, &lt;code&gt;random_shuffle()&lt;/code&gt;, And Old &lt;code&gt;&amp;lt;functional&amp;gt;&lt;/code&gt; Stuff&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0718r2.html&#34; target=&#34;_blank&#34;&gt;P0718R2 Revising &lt;code&gt;atomic_shared_ptr&lt;/code&gt; for C++20&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p2051r0.html&#34; target=&#34;_blank&#34;&gt;P2051R0 C++ Standard Library Issues to be moved in Prague&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2186r2.html&#34; target=&#34;_blank&#34;&gt;P2186R2 Removing Garbage Collection Support&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p1132r8.html&#34; target=&#34;_blank&#34;&gt;P1132R8 out_ptr - a scalable output pointer abstraction&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</content>
      
      <author>
        <name>Akira Takahashi</name>
        <email>faithandbrave@gmail.com</email>
      </author>
    </entry>
  
    <entry>
      <title>indirect -- C++26対応としてindirectとpolymorphicのリファレンスを作成 #1430</title>
      <link href="https://cpprefjp.github.io/reference/memory/indirect.html"/>
      <id>cff22113c8f884df3e65c2d23570ba6dc92e1fec:reference/memory/indirect.md</id>
      <updated>2026-06-22T16:01:50+09:00</updated>
      
        <summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/memory/indirect.md b/reference/memory/indirect.md
new file mode 100644
index 000000000..50bd4fd58
--- /dev/null
+++ b/reference/memory/indirect.md
@@ -0,0 +1,165 @@
+# indirect
+* memory[meta header]
+* std[meta namespace]
+* class template[meta id-type]
+* cpp26[meta cpp]
+
+```cpp
+namespace std {
+  template &amp;lt;class T, class Allocator = allocator&amp;lt;T&amp;gt;&amp;gt;
+  class indirect;
+
+  namespace pmr {
+    template &amp;lt;class T&amp;gt;
+    using indirect = std::indirect&amp;lt;T, polymorphic_allocator&amp;lt;T&amp;gt;&amp;gt;;
+  }
+}
+```
+* allocator[link allocator.md]
+* polymorphic_allocator[link /reference/memory_resource/polymorphic_allocator.md]
+
+## 概要
+`std::indirect`クラスは、動的確保したオブジェクトに値の意味論をもたせる型である。
+
+ポインタやスマートポインタは参照の意味論をもつため、クラスのメンバとして使うとコピーや`const`の伝播が正しく行われず、クラスの特殊メンバ関数を正しく生成できないことがある。
+
+`std::indirect`クラスは所有するオブジェクトを動的確保しつつ、以下のように値型として振る舞う：
+
+- ディープコピー: `std::indirect`オブジェクトをコピーすると、所有するオブジェクト`T`がそのコピーコンストラクタによって複製される
+- `const`の伝播: `const`なアクセス経路から所有オブジェクトにアクセスすると、所有オブジェクトにも`const`が伝播する（`operator*`/`operator-&amp;gt;`に`const`版と非`const`版がある）
+- 不完全型のサポート: テンプレートパラメータ`T`は不完全型でもよい。これにより、再帰的なデータ構造を表現できる
+
+これらの性質によって、`std::indirect`クラスのオブジェクトはクラスのメンバとして保持するのに適しており、コンパイラによる特殊メンバ関数の自動生成と協調して動作する。
+
+所有オブジェクトを持たない状態を「無効値状態 (valueless state)」と呼ぶ。`std::indirect`オブジェクトが無効値状態になるのは、ムーブ後に空となった場合のみである。無効値状態のオブジェクトに対する`operator*`や`operator-&amp;gt;`の呼び出しは未定義動作を引き起こす。無効値状態かどうかは[`valueless_after_move()`](indirect/valueless_after_move.md)メンバ関数で判定できる。
+
+派生型のオブジェクトを多態的に保持したい場合は、[`std::polymorphic`](polymorphic.md)クラスを使用する。
+
+
+## テンプレートパラメータ制約
+- `Allocator`はCpp17Allocator要件を満たすこと
+- [`std::allocator_traits`](/reference/memory/allocator_traits.md)`&amp;lt;Allocator&amp;gt;::value_type`が`T`と同じ型であること
+
+
+## 適格要件
+- 以下のいずれかの場合に、プログラムは不適格となる
+    - `T`がオブジェクト型でない
+    - 配列型である
+    - (CV修飾された) [`std::in_place_t`](/reference/utility/in_place_t.md)である
+    - (CV修飾された) [`std::in_place_type_t`](/reference/utility/in_place_type_t.md)の特殊化である
+- `std::indirect`の明示的特殊化・部分特殊化をユーザーが宣言した場合、動作は未定義である
+
+
+## メンバ関数
+### 構築・破棄
+
+| 名前 | 説明 | 対応バージョン |
+|------|------|----------------|
+| [`(constructor)`](indirect/op_constructor.md) | コンストラクタ | C++26 |
+| [`(destructor)`](indirect/op_destructor.md) | デストラクタ | C++26 |
+| [`operator=`](indirect/op_assign.md) | 代入演算子 | C++26 |
+
+### 値へのアクセス
+
+| 名前 | 説明 | 対応バージョン |
+|------|------|----------------|
+| [`operator*`](indirect/op_deref.md) | 所有するオブジェクトへの参照を取得する | C++26 |
+| [`operator-&amp;gt;`](indirect/op_arrow.md) | 所有するオブジェクトのメンバへアクセスする | C++26 |
+| [`valueless_after_move`](indirect/valueless_after_move.md) | 無効値状態かどうかを判定する | C++26 |
+
+### その他
+
+| 名前 | 説明 | 対応バージョン |
+|------|------|----------------|
+| [`get_allocator`](indirect/get_allocator.md) | アロケータを取得する | C++26 |
+| [`swap`](indirect/swap.md) | 他の`indirect`オブジェクトと値を交換する | C++26 |
+
+
+## メンバ型
+
+| 名前 | 定義 | 対応バージョン |
+|------|------|----------------|
+| `value_type` | `T` | C++26 |
+| `allocator_type` | `Allocator` | C++26 |
+| `pointer` | [`allocator_traits`](/reference/memory/allocator_traits.md)`&amp;lt;Allocator&amp;gt;::pointer` | C++26 |
+| `const_pointer` | [`allocator_traits`](/reference/memory/allocator_traits.md)`&amp;lt;Allocator&amp;gt;::const_pointer` | C++26 |
+
+
+## 非メンバ（*Hidden friends*）関数
+
+| 名前 | 説明 | 対応バージョン |
+|------|------|----------------|
+| [`swap`](indirect/swap_free.md) | 2つの`indirect`オブジェクトを交換する | C++26 |
+
+### 比較演算子
+
+| 名前 | 説明 | 対応バージョン |
+|------|------|----------------|
+| [`operator==`](indirect/op_equal.md) | 等値比較を行う | C++26 |
+| [`operator&amp;lt;=&amp;gt;`](indirect/op_compare_3way.md) | 三方比較を行う | C++26 |
+
+`operator==`から`operator!=`が、`operator&amp;lt;=&amp;gt;`から`operator&amp;lt;` / `operator&amp;lt;=` / `operator&amp;gt;` / `operator&amp;gt;=`が導出される。
+
+
+## 推論補助
+
+| 名前 | 説明 | 対応バージョン |
+|------|------|----------------|
+| [`(deduction_guide)`](indirect/op_deduction_guide.md) | クラステンプレートの推論補助 | C++26 |
+
+
+## ハッシュサポート
+
+| 名前 | 説明 | 対応バージョン |
+|------|------|----------------|
+| [`hash`](indirect/hash.md) | `hash`クラスの特殊化 | C++26 |
+
+
+## 例
+```cpp example
+#include &amp;lt;cassert&amp;gt;
+#include &amp;lt;memory&amp;gt;
+
+int main()
+{
+  // 動的確保したintを、値の意味論で保持する
+  std::indirect&amp;lt;int&amp;gt; a{42};
+  assert(*a == 42);
+
+  // コピーは所有オブジェクトのディープコピー
+  std::indirect&amp;lt;int&amp;gt; b = a;
+  *b = 10;
+  assert(*a == 42); // aは影響を受けない
+  assert(*b == 10);
+
+  // 比較は所有オブジェクトの比較に転送される
+  assert(a == std::indirect&amp;lt;int&amp;gt;{42});
+  assert(b &amp;lt; a);
+}
+```
+* std::indirect[color ff0000]
+
+### 出力
+```
+```
+
+
+## バージョン
+### 言語
+- C++26
+
+### 処理系
+- [Clang](/implementation.md#clang): 22 [mark noimpl]
+- [GCC](/implementation.md#gcc): 16.1 [mark verified]
+- [Visual C++](/implementation.md#visual_cpp): 2026 Update 2 [mark noimpl]
+
+
+## 関連項目
+- [`std::polymorphic`](polymorphic.md) 派生型を多態的に保持する値型
+- [`std::unique_ptr`](unique_ptr.md) 所有権をもつが参照の意味論をもつスマートポインタ
+- [`std::optional`](/reference/optional/optional.md) 動的確保せずに無効値状態を表現する型
+
+
+## 参照
+- [P3019R14 `indirect` and `polymorphic`: Vocabulary Types for Composite Class Design](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3019r14.pdf)
+    - C++26で`indirect`と`polymorphic`が追加された
&lt;/code&gt;&lt;/pre&gt;</summary>
      
      <author>
        <name>Akira Takahashi</name>
        <email>faithandbrave@gmail.com</email>
      </author>
    </entry>
  
    <entry>
      <title>get_allocator -- C++26対応としてindirectとpolymorphicのリファレンスを作成 #1430</title>
      <link href="https://cpprefjp.github.io/reference/memory/indirect/get_allocator.html"/>
      <id>cff22113c8f884df3e65c2d23570ba6dc92e1fec:reference/memory/indirect/get_allocator.md</id>
      <updated>2026-06-22T16:01:50+09:00</updated>
      
        <summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/memory/indirect/get_allocator.md b/reference/memory/indirect/get_allocator.md
new file mode 100644
index 000000000..f51c173bc
--- /dev/null
+++ b/reference/memory/indirect/get_allocator.md
@@ -0,0 +1,39 @@
+# get_allocator
+* memory[meta header]
+* std[meta namespace]
+* indirect[meta class]
+* function[meta id-type]
+* cpp26[meta cpp]
+
+```cpp
+constexpr allocator_type get_allocator() const noexcept;
+```
+
+## 概要
+このオブジェクトが使用するアロケータを取得する。
+
+
+## 戻り値
+所有するアロケータのコピー。
+
+
+## 例外
+投げない。
+
+
+## バージョン
+### 言語
+- C++26
+
+### 処理系
+- [Clang](/implementation.md#clang): 22 [mark noimpl]
+- [GCC](/implementation.md#gcc): 16.1 [mark verified]
+- [Visual C++](/implementation.md#visual_cpp): 2026 Update 2 [mark noimpl]
+
+
+## 関連項目
+- [`std::indirect`](../indirect.md)
+
+
+## 参照
+- [P3019R14 `indirect` and `polymorphic`: Vocabulary Types for Composite Class Design](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3019r14.pdf)
&lt;/code&gt;&lt;/pre&gt;</summary>
      
      <author>
        <name>Akira Takahashi</name>
        <email>faithandbrave@gmail.com</email>
      </author>
    </entry>
  
    <entry>
      <title>hash -- C++26対応としてindirectとpolymorphicのリファレンスを作成 #1430</title>
      <link href="https://cpprefjp.github.io/reference/memory/indirect/hash.html"/>
      <id>cff22113c8f884df3e65c2d23570ba6dc92e1fec:reference/memory/indirect/hash.md</id>
      <updated>2026-06-22T16:01:50+09:00</updated>
      
        <summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/memory/indirect/hash.md b/reference/memory/indirect/hash.md
new file mode 100644
index 000000000..6aa893188
--- /dev/null
+++ b/reference/memory/indirect/hash.md
@@ -0,0 +1,66 @@
+# hash
+* memory[meta header]
+* std[meta namespace]
+* indirect[meta class]
+* class template[meta id-type]
+* cpp26[meta cpp]
+
+```cpp
+namespace std {
+  template &amp;lt;class T, class Allocator&amp;gt;
+  struct hash&amp;lt;indirect&amp;lt;T, Allocator&amp;gt;&amp;gt;;
+}
+```
+* hash[link /reference/functional/hash.md]
+
+## 概要
+[`std::hash`](/reference/functional/hash.md)クラスの、`std::indirect`に対する特殊化。
+
+この特殊化は、`hash&amp;lt;T&amp;gt;`が有効である場合にのみ有効となる。
+
+
+## 効果
+`indirect&amp;lt;T, Allocator&amp;gt;`型のオブジェクト`i`に対して、`hash&amp;lt;indirect&amp;lt;T, Allocator&amp;gt;&amp;gt;()(i)`は、`i`が無効値状態でなければ`hash&amp;lt;T&amp;gt;()(*i)`と同じ値を返し、無効値状態であれば処理系定義の値を返す。
+
+
+## 備考
+メンバ関数が`noexcept`である保証はない。
+
+
+## 例
+```cpp example
+#include &amp;lt;cassert&amp;gt;
+#include &amp;lt;functional&amp;gt;
+#include &amp;lt;memory&amp;gt;
+
+int main()
+{
+  std::indirect&amp;lt;int&amp;gt; a{42};
+  // 所有する値のハッシュ値と一致する
+  assert((std::hash&amp;lt;std::indirect&amp;lt;int&amp;gt;&amp;gt;{}(a) == std::hash&amp;lt;int&amp;gt;{}(42)));
+}
+```
+* std::indirect[color ff0000]
+* std::hash[link /reference/functional/hash.md]
+
+### 出力
+```
+```
+
+
+## バージョン
+### 言語
+- C++26
+
+### 処理系
+- [Clang](/implementation.md#clang): 22 [mark noimpl]
+- [GCC](/implementation.md#gcc): 16.1 [mark verified]
+- [Visual C++](/implementation.md#visual_cpp): 2026 Update 2 [mark noimpl]
+
+
+## 関連項目
+- [`std::indirect`](../indirect.md)
+
+
+## 参照
+- [P3019R14 `indirect` and `polymorphic`: Vocabulary Types for Composite Class Design](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3019r14.pdf)
&lt;/code&gt;&lt;/pre&gt;</summary>
      
      <author>
        <name>Akira Takahashi</name>
        <email>faithandbrave@gmail.com</email>
      </author>
    </entry>
  
    <entry>
      <title>operator-&gt; -- C++26対応としてindirectとpolymorphicのリファレンスを作成 #1430</title>
      <link href="https://cpprefjp.github.io/reference/memory/indirect/op_arrow.html"/>
      <id>cff22113c8f884df3e65c2d23570ba6dc92e1fec:reference/memory/indirect/op_arrow.md</id>
      <updated>2026-06-22T16:01:50+09:00</updated>
      
        <summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/memory/indirect/op_arrow.md b/reference/memory/indirect/op_arrow.md
new file mode 100644
index 000000000..a04a30351
--- /dev/null
+++ b/reference/memory/indirect/op_arrow.md
@@ -0,0 +1,65 @@
+# operator-&amp;gt;
+* memory[meta header]
+* std[meta namespace]
+* indirect[meta class]
+* function[meta id-type]
+* cpp26[meta cpp]
+
+```cpp
+constexpr const_pointer operator-&amp;gt;() const noexcept; // (1)
+constexpr pointer operator-&amp;gt;() noexcept;             // (2)
+```
+
+## 概要
+所有するオブジェクトのメンバへアクセスするためのポインタを取得する。
+
+
+## 事前条件
+`*this`が無効値状態でないこと。
+
+
+## 戻り値
+所有するオブジェクトを指すポインタ。
+
+
+## 例外
+投げない。
+
+
+## 例
+```cpp example
+#include &amp;lt;cassert&amp;gt;
+#include &amp;lt;memory&amp;gt;
+#include &amp;lt;string&amp;gt;
+
+int main()
+{
+  std::indirect&amp;lt;std::string&amp;gt; s{std::string{&amp;#34;hello&amp;#34;}};
+  assert(s-&amp;gt;size() == 5);  // 所有するstringのメンバにアクセス
+  s-&amp;gt;push_back(&amp;#39;!&amp;#39;);
+  assert(*s == &amp;#34;hello!&amp;#34;);
+}
+```
+* std::indirect[color ff0000]
+
+### 出力
+```
+```
+
+
+## バージョン
+### 言語
+- C++26
+
+### 処理系
+- [Clang](/implementation.md#clang): 22 [mark noimpl]
+- [GCC](/implementation.md#gcc): 16.1 [mark verified]
+- [Visual C++](/implementation.md#visual_cpp): 2026 Update 2 [mark noimpl]
+
+
+## 関連項目
+- [`std::indirect`](../indirect.md)
+
+
+## 参照
+- [P3019R14 `indirect` and `polymorphic`: Vocabulary Types for Composite Class Design](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3019r14.pdf)
&lt;/code&gt;&lt;/pre&gt;</summary>
      
      <author>
        <name>Akira Takahashi</name>
        <email>faithandbrave@gmail.com</email>
      </author>
    </entry>
  
    <entry>
      <title>代入演算子 -- C++26対応としてindirectとpolymorphicのリファレンスを作成 #1430</title>
      <link href="https://cpprefjp.github.io/reference/memory/indirect/op_assign.html"/>
      <id>cff22113c8f884df3e65c2d23570ba6dc92e1fec:reference/memory/indirect/op_assign.md</id>
      <updated>2026-06-22T16:01:50+09:00</updated>
      
        <summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/memory/indirect/op_assign.md b/reference/memory/indirect/op_assign.md
new file mode 100644
index 000000000..7048d1eda
--- /dev/null
+++ b/reference/memory/indirect/op_assign.md
@@ -0,0 +1,97 @@
+# 代入演算子
+* memory[meta header]
+* std[meta namespace]
+* indirect[meta class]
+* function[meta id-type]
+* cpp26[meta cpp]
+
+```cpp
+constexpr indirect&amp;amp; operator=(const indirect&amp;amp; other);              // (1)
+constexpr indirect&amp;amp; operator=(indirect&amp;amp;&amp;amp; other) noexcept(see below); // (2)
+template &amp;lt;class U = T&amp;gt;
+constexpr indirect&amp;amp; operator=(U&amp;amp;&amp;amp; u);                              // (3)
+```
+
+## 概要
+- (1) : コピー代入。`other`が所有するオブジェクトをディープコピーする。
+- (2) : ムーブ代入。`other`から所有権を移す。
+- (3) : 所有するオブジェクトに値`u`を代入する。
+
+
+## テンプレートパラメータ制約
+- (3) : [`remove_cvref_t`](/reference/type_traits/remove_cvref.md)`&amp;lt;U&amp;gt;`が`indirect`でなく、[`is_constructible_v`](/reference/type_traits/is_constructible.md)`&amp;lt;T, U&amp;gt;`と[`is_assignable_v`](/reference/type_traits/is_assignable.md)`&amp;lt;T&amp;amp;, U&amp;gt;`がともに`true`であること。
+
+
+## 適格要件
+- (1) : [`is_copy_assignable_v`](/reference/type_traits/is_copy_assignable.md)`&amp;lt;T&amp;gt;`と[`is_copy_constructible_v`](/reference/type_traits/is_copy_constructible.md)`&amp;lt;T&amp;gt;`がともに`true`であること。
+- (2) : [`is_copy_constructible_v`](/reference/type_traits/is_copy_constructible.md)`&amp;lt;T&amp;gt;`が`true`であること。
+
+
+## 効果
+- (1) : `other`が無効値状態であれば`*this`も無効値状態にする。そうでなければ、アロケータの伝播規則に従い、`other`が所有するオブジェクトのコピーを`*this`がもつようにする。
+- (2) : `other`が無効値状態であれば`*this`も無効値状態にする。そうでなければ、所有権を移すかムーブ構築する。`other`は無効値状態となる。
+- (3) : `*this`が無効値状態であれば`u`から`T`を構築して所有する。そうでなければ`**this = std::forward&amp;lt;U&amp;gt;(u)`と等価。
+
+
+## 戻り値
+`*this`への参照。
+
+
+## 例外
+- (1) : 強い例外安全性を保証する。例外が送出された場合、[`this-&amp;gt;valueless_after_move()`](valueless_after_move.md)の結果は変化しない。
+- (2) : 以下と等価な`noexcept`指定を持つ：
+```cpp
+noexcept(allocator_traits&amp;lt;Allocator&amp;gt;::propagate_on_container_move_assignment::value ||
+         allocator_traits&amp;lt;Allocator&amp;gt;::is_always_equal::value)
+```
+* allocator_traits[link /reference/memory/allocator_traits.md]
+
+
+## 例
+```cpp example
+#include &amp;lt;cassert&amp;gt;
+#include &amp;lt;memory&amp;gt;
+
+int main()
+{
+  std::indirect&amp;lt;int&amp;gt; a{1};
+  std::indirect&amp;lt;int&amp;gt; b{2};
+
+  a = b;                  // (1) コピー代入（ディープコピー）
+  assert(*a == 2);
+  *a = 3;
+  assert(*b == 2);        // bは影響を受けない
+
+  a = 10;                 // (3) 値の代入
+  assert(*a == 10);
+
+  a = std::move(b);       // (2) ムーブ代入
+  assert(*a == 2);
+  assert(b.valueless_after_move());
+}
+```
+* std::indirect[color ff0000]
+* std::move[link /reference/utility/move.md]
+* valueless_after_move[link valueless_after_move.md]
+
+### 出力
+```
+```
+
+
+## バージョン
+### 言語
+- C++26
+
+### 処理系
+- [Clang](/implementation.md#clang): 22 [mark noimpl]
+- [GCC](/implementation.md#gcc): 16.1 [mark verified]
+- [Visual C++](/implementation.md#visual_cpp): 2026 Update 2 [mark noimpl]
+
+
+## 関連項目
+- [`std::indirect`](../indirect.md)
+
+
+## 参照
+- [P3019R14 `indirect` and `polymorphic`: Vocabulary Types for Composite Class Design](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3019r14.pdf)
&lt;/code&gt;&lt;/pre&gt;</summary>
      
      <author>
        <name>Akira Takahashi</name>
        <email>faithandbrave@gmail.com</email>
      </author>
    </entry>
  
    <entry>
      <title>operator&lt;=&gt; -- C++26対応としてindirectとpolymorphicのリファレンスを作成 #1430</title>
      <link href="https://cpprefjp.github.io/reference/memory/indirect/op_compare_3way.html"/>
      <id>cff22113c8f884df3e65c2d23570ba6dc92e1fec:reference/memory/indirect/op_compare_3way.md</id>
      <updated>2026-06-22T16:01:50+09:00</updated>
      
        <summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/memory/indirect/op_compare_3way.md b/reference/memory/indirect/op_compare_3way.md
new file mode 100644
index 000000000..021ff8c0d
--- /dev/null
+++ b/reference/memory/indirect/op_compare_3way.md
@@ -0,0 +1,72 @@
+# operator&amp;lt;=&amp;gt;
+* memory[meta header]
+* std[meta namespace]
+* indirect[meta class]
+* function[meta id-type]
+* cpp26[meta cpp]
+
+```cpp
+template &amp;lt;class U, class AA&amp;gt;
+friend constexpr auto operator&amp;lt;=&amp;gt;(
+  const indirect&amp;amp; lhs, const indirect&amp;lt;U, AA&amp;gt;&amp;amp; rhs)
+    -&amp;gt; synth-three-way-result&amp;lt;T, U&amp;gt;; // (1)
+
+template &amp;lt;class U&amp;gt;
+friend constexpr auto operator&amp;lt;=&amp;gt;(
+  const indirect&amp;amp; lhs, const U&amp;amp; rhs)
+    -&amp;gt; synth-three-way-result&amp;lt;T, U&amp;gt;; // (2)
+```
+
+## 概要
+- (1) : 2つの`indirect`オブジェクトが所有する値を三方比較する。
+- (2) : `indirect`オブジェクトが所有する値と、別の値`rhs`を三方比較する。
+
+いずれも*Hidden friends*として定義される。
+
+
+## 戻り値
+- (1) : `lhs`と`rhs`のいずれかが無効値状態であれば`!lhs.valueless_after_move() &amp;lt;=&amp;gt; !rhs.valueless_after_move()`、そうでなければ`synth-three-way(*lhs, *rhs)`。
+- (2) : `lhs`が無効値状態であれば[`std::strong_ordering::less`](/reference/compare/strong_ordering.md)、そうでなければ`synth-three-way(*lhs, rhs)`。
+
+
+## 備考
+この演算子により、`operator&amp;lt;` / `operator&amp;lt;=` / `operator&amp;gt;` / `operator&amp;gt;=`が使用可能になる。
+
+
+## 例
+```cpp example
+#include &amp;lt;cassert&amp;gt;
+#include &amp;lt;memory&amp;gt;
+
+int main()
+{
+  std::indirect&amp;lt;int&amp;gt; a{1};
+  std::indirect&amp;lt;int&amp;gt; b{2};
+  assert(a &amp;lt; b);          // (1) indirect同士の比較
+  assert((a &amp;lt;=&amp;gt; b) &amp;lt; 0);
+  assert(a &amp;lt; 2);          // (2) 値との比較
+}
+```
+* std::indirect[color ff0000]
+
+### 出力
+```
+```
+
+
+## バージョン
+### 言語
+- C++26
+
+### 処理系
+- [Clang](/implementation.md#clang): 22 [mark noimpl]
+- [GCC](/implementation.md#gcc): 16.1 [mark verified]
+- [Visual C++](/implementation.md#visual_cpp): 2026 Update 2 [mark noimpl]
+
+
+## 関連項目
+- [`std::indirect`](../indirect.md)
+
+
+## 参照
+- [P3019R14 `indirect` and `polymorphic`: Vocabulary Types for Composite Class Design](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3019r14.pdf)
&lt;/code&gt;&lt;/pre&gt;</summary>
      
      <author>
        <name>Akira Takahashi</name>
        <email>faithandbrave@gmail.com</email>
      </author>
    </entry>
  
    <entry>
      <title>コンストラクタ -- C++26対応としてindirectとpolymorphicのリファレンスを作成 #1430</title>
      <link href="https://cpprefjp.github.io/reference/memory/indirect/op_constructor.html"/>
      <id>cff22113c8f884df3e65c2d23570ba6dc92e1fec:reference/memory/indirect/op_constructor.md</id>
      <updated>2026-06-22T16:01:50+09:00</updated>
      
        <summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/memory/indirect/op_constructor.md b/reference/memory/indirect/op_constructor.md
new file mode 100644
index 000000000..756c50dc8
--- /dev/null
+++ b/reference/memory/indirect/op_constructor.md
@@ -0,0 +1,156 @@
+# コンストラクタ
+* memory[meta header]
+* std[meta namespace]
+* indirect[meta class]
+* function[meta id-type]
+* cpp26[meta cpp]
+
+```cpp
+explicit constexpr
+  indirect();                          // (1)
+
+explicit constexpr
+  indirect(allocator_arg_t,
+           const Allocator&amp;amp; a);        // (2)
+
+constexpr
+  indirect(const indirect&amp;amp; other);     // (3)
+
+constexpr
+  indirect(allocator_arg_t,
+           const Allocator&amp;amp; a,
+           const indirect&amp;amp; other);     // (4)
+
+constexpr
+  indirect(indirect&amp;amp;&amp;amp; other) noexcept; // (5)
+
+constexpr
+  indirect(allocator_arg_t,
+           const Allocator&amp;amp; a,
+           indirect&amp;amp;&amp;amp; other) noexcept(see below); // (6)
+
+template &amp;lt;class U = T&amp;gt;
+explicit constexpr
+  indirect(U&amp;amp;&amp;amp; u);                     // (7)
+
+template &amp;lt;class U = T&amp;gt;
+explicit constexpr
+  indirect(allocator_arg_t,
+           const Allocator&amp;amp; a, U&amp;amp;&amp;amp; u); // (8)
+
+template &amp;lt;class... Us&amp;gt;
+explicit constexpr
+  indirect(in_place_t,
+           Us&amp;amp;&amp;amp;... us);                // (9)
+
+template &amp;lt;class... Us&amp;gt;
+explicit constexpr
+  indirect(allocator_arg_t,
+           const Allocator&amp;amp; a,
+           in_place_t,
+           Us&amp;amp;&amp;amp;... us);                // (10)
+
+template &amp;lt;class I, class... Us&amp;gt;
+explicit constexpr
+  indirect(in_place_t,
+           initializer_list&amp;lt;I&amp;gt; ilist,
+           Us&amp;amp;&amp;amp;... us);                // (11)
+
+template &amp;lt;class I, class... Us&amp;gt;
+explicit constexpr
+  indirect(allocator_arg_t,
+           const Allocator&amp;amp; a,
+           in_place_t,
+           initializer_list&amp;lt;I&amp;gt; ilist,
+           Us&amp;amp;&amp;amp;... us);                // (12)
+```
+* allocator_arg_t[link /reference/memory/allocator_arg_t.md]
+* in_place_t[link /reference/utility/in_place_t.md]
+* initializer_list[link /reference/initializer_list/initializer_list.md]
+
+## 概要
+`indirect`オブジェクトを構築する。`allocator_arg_t`を第1引数に取るオーバーロードは、使用するアロケータ`a`を明示的に指定する。
+
+- (1), (2) : デフォルトコンストラクタ。`T`をデフォルト構築して所有する。
+- (3), (4) : コピーコンストラクタ。`other`が所有するオブジェクトをディープコピーして所有する。`other`が無効値状態の場合、構築されるオブジェクトも無効値状態となる。
+- (5), (6) : ムーブコンストラクタ。`other`が所有するオブジェクトの所有権を移す。ムーブ後の`other`は無効値状態となる。
+- (7), (8) : 単一の引数`u`から`T`を構築して所有する。
+- (9), (10) : `in_place_t`をマーカーとして、引数`us...`から`T`を直接構築して所有する。
+- (11), (12) : `in_place_t`をマーカーとして、初期化子リストと引数`us...`から`T`を直接構築して所有する。
+
+
+## テンプレートパラメータ制約
+- (7), (8) : [`remove_cvref_t`](/reference/type_traits/remove_cvref.md)`&amp;lt;U&amp;gt;`が`indirect`でも`in_place_t`でもなく、かつ[`is_constructible_v`](/reference/type_traits/is_constructible.md)`&amp;lt;T, U&amp;gt;`が`true`であること。(7)はさらに[`is_default_constructible_v`](/reference/type_traits/is_default_constructible.md)`&amp;lt;Allocator&amp;gt;`が`true`であること。
+- (9), (10) : [`is_constructible_v`](/reference/type_traits/is_constructible.md)`&amp;lt;T, Us...&amp;gt;`が`true`であること。(9)はさらに[`is_default_constructible_v`](/reference/type_traits/is_default_constructible.md)`&amp;lt;Allocator&amp;gt;`が`true`であること。
+- (11), (12) : [`is_constructible_v`](/reference/type_traits/is_constructible.md)`&amp;lt;T, initializer_list&amp;lt;I&amp;gt;&amp;amp;, Us...&amp;gt;`が`true`であること。(11)はさらに[`is_default_constructible_v`](/reference/type_traits/is_default_constructible.md)`&amp;lt;Allocator&amp;gt;`が`true`であること。
+
+
+## 適格要件
+- (1), (2) : [`is_default_constructible_v`](/reference/type_traits/is_default_constructible.md)`&amp;lt;T&amp;gt;`が`true`であること。
+- (3), (4) : [`is_copy_constructible_v`](/reference/type_traits/is_copy_constructible.md)`&amp;lt;T&amp;gt;`が`true`であること。
+- (6) : [`allocator_traits`](/reference/memory/allocator_traits.md)`&amp;lt;Allocator&amp;gt;::is_always_equal::value`が`false`の場合、`T`が完全型であること。
+
+
+## 例外
+- すべてのオーバーロード : [`allocator_traits`](/reference/memory/allocator_traits.md)`&amp;lt;Allocator&amp;gt;::allocate()`または[`allocator_traits`](/reference/memory/allocator_traits.md)`&amp;lt;Allocator&amp;gt;::construct()`が例外を送出した場合を除いて、例外を送出しない。
+- (6) : 以下と等価な`noexcept`指定を持つ：
+```cpp
+noexcept(allocator_traits&amp;lt;Allocator&amp;gt;::is_always_equal::value)
+```
+* allocator_traits[link /reference/memory/allocator_traits.md]
+
+
+## 事後条件
+- (5), (6) : `other`は無効値状態となる。
+
+
+## 例
+```cpp example
+#include &amp;lt;cassert&amp;gt;
+#include &amp;lt;memory&amp;gt;
+#include &amp;lt;string&amp;gt;
+#include &amp;lt;utility&amp;gt;
+
+int main()
+{
+  std::indirect&amp;lt;int&amp;gt; a;                          // (1) デフォルト構築
+  assert(*a == 0);
+
+  std::indirect&amp;lt;int&amp;gt; b{42};                       // (7) 単一の引数から構築
+  assert(*b == 42);
+
+  std::indirect&amp;lt;std::string&amp;gt; c{std::in_place, 3, &amp;#39;x&amp;#39;}; // (9) in_placeで直接構築
+  assert(*c == &amp;#34;xxx&amp;#34;);
+
+  std::indirect&amp;lt;int&amp;gt; d = b;                       // (3) コピー構築（ディープコピー）
+  assert(*d == 42);
+
+  std::indirect&amp;lt;int&amp;gt; e = std::move(d);            // (5) ムーブ構築
+  assert(*e == 42);
+  assert(d.valueless_after_move());               // ムーブ後は無効値状態
+}
+```
+* std::indirect[color ff0000]
+* std::in_place[link /reference/utility/in_place_t.md]
+
+### 出力
+```
+```
+
+
+## バージョン
+### 言語
+- C++26
+
+### 処理系
+- [Clang](/implementation.md#clang): 22 [mark noimpl]
+- [GCC](/implementation.md#gcc): 16.1 [mark verified]
+- [Visual C++](/implementation.md#visual_cpp): 2026 Update 2 [mark noimpl]
+
+
+## 関連項目
+- [`std::indirect`](../indirect.md)
+
+
+## 参照
+- [P3019R14 `indirect` and `polymorphic`: Vocabulary Types for Composite Class Design](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3019r14.pdf)
&lt;/code&gt;&lt;/pre&gt;</summary>
      
      <author>
        <name>Akira Takahashi</name>
        <email>faithandbrave@gmail.com</email>
      </author>
    </entry>
  
    <entry>
      <title>推論補助 -- C++26対応としてindirectとpolymorphicのリファレンスを作成 #1430</title>
      <link href="https://cpprefjp.github.io/reference/memory/indirect/op_deduction_guide.html"/>
      <id>cff22113c8f884df3e65c2d23570ba6dc92e1fec:reference/memory/indirect/op_deduction_guide.md</id>
      <updated>2026-06-22T16:01:50+09:00</updated>
      
        <summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/memory/indirect/op_deduction_guide.md b/reference/memory/indirect/op_deduction_guide.md
new file mode 100644
index 000000000..e1544a47b
--- /dev/null
+++ b/reference/memory/indirect/op_deduction_guide.md
@@ -0,0 +1,59 @@
+# 推論補助
+* memory[meta header]
+* std[meta namespace]
+* indirect[meta class]
+* function[meta id-type]
+* cpp26[meta cpp]
+
+```cpp
+template &amp;lt;class Value&amp;gt;
+indirect(Value) -&amp;gt; indirect&amp;lt;Value&amp;gt;; // (1)
+
+template &amp;lt;class Allocator, class Value&amp;gt;
+indirect(allocator_arg_t, Allocator, Value)
+  -&amp;gt; indirect&amp;lt;Value,
+       typename allocator_traits&amp;lt;Allocator&amp;gt;::template rebind_alloc&amp;lt;Value&amp;gt;&amp;gt;; // (2)
+```
+* allocator_arg_t[link /reference/memory/allocator_arg_t.md]
+
+## 概要
+`std::indirect`クラステンプレートの型推論を補助する。
+
+- (1) : 単一の値から`indirect`を構築する場合、その値の型を`T`として推論する。
+- (2) : アロケータと値から構築する場合、値の型を`T`とし、アロケータを`Value`向けに`rebind`した型を`Allocator`として推論する。
+
+
+## 例
+```cpp example
+#include &amp;lt;memory&amp;gt;
+#include &amp;lt;type_traits&amp;gt;
+
+int main()
+{
+  std::indirect a{42};
+  static_assert(std::is_same_v&amp;lt;decltype(a), std::indirect&amp;lt;int&amp;gt;&amp;gt;);
+}
+```
+* std::indirect[color ff0000]
+
+### 出力
+```
+```
+
+
+## バージョン
+### 言語
+- C++26
+
+### 処理系
+- [Clang](/implementation.md#clang): 22 [mark noimpl]
+- [GCC](/implementation.md#gcc): 16.1 [mark verified]
+- [Visual C++](/implementation.md#visual_cpp): 2026 Update 2 [mark noimpl]
+
+
+## 関連項目
+- [`std::indirect`](../indirect.md)
+
+
+## 参照
+- [P3019R14 `indirect` and `polymorphic`: Vocabulary Types for Composite Class Design](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3019r14.pdf)
&lt;/code&gt;&lt;/pre&gt;</summary>
      
      <author>
        <name>Akira Takahashi</name>
        <email>faithandbrave@gmail.com</email>
      </author>
    </entry>
  
    <entry>
      <title>operator* -- C++26対応としてindirectとpolymorphicのリファレンスを作成 #1430</title>
      <link href="https://cpprefjp.github.io/reference/memory/indirect/op_deref.html"/>
      <id>cff22113c8f884df3e65c2d23570ba6dc92e1fec:reference/memory/indirect/op_deref.md</id>
      <updated>2026-06-22T16:01:50+09:00</updated>
      
        <summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/memory/indirect/op_deref.md b/reference/memory/indirect/op_deref.md
new file mode 100644
index 000000000..ef08fcf8a
--- /dev/null
+++ b/reference/memory/indirect/op_deref.md
@@ -0,0 +1,72 @@
+# operator*
+* memory[meta header]
+* std[meta namespace]
+* indirect[meta class]
+* function[meta id-type]
+* cpp26[meta cpp]
+
+```cpp
+constexpr const T&amp;amp; operator*() const &amp;amp; noexcept;   // (1)
+constexpr T&amp;amp; operator*() &amp;amp; noexcept;               // (2)
+constexpr const T&amp;amp;&amp;amp; operator*() const &amp;amp;&amp;amp; noexcept; // (3)
+constexpr T&amp;amp;&amp;amp; operator*() &amp;amp;&amp;amp; noexcept;             // (4)
+```
+
+## 概要
+所有するオブジェクトへの参照を取得する。`const`なアクセス経路では`const`が所有オブジェクトに伝播する。
+
+
+## 事前条件
+`*this`が無効値状態でないこと。
+
+
+## 戻り値
+- (1), (2) : 所有するオブジェクトへの参照。
+- (3), (4) : 所有するオブジェクトへの右辺値参照（`std::move(*p)`）。
+
+
+## 例外
+投げない。
+
+
+## 例
+```cpp example
+#include &amp;lt;cassert&amp;gt;
+#include &amp;lt;memory&amp;gt;
+#include &amp;lt;type_traits&amp;gt;
+
+int main()
+{
+  std::indirect&amp;lt;int&amp;gt; a{42};
+  assert(*a == 42);       // 参照の取得
+  *a = 10;                // 非const版で書き換え
+  assert(*a == 10);
+
+  // constなアクセス経路ではconstが伝播する
+  const std::indirect&amp;lt;int&amp;gt; b{5};
+  static_assert(std::is_same_v&amp;lt;decltype(*b), const int&amp;amp;&amp;gt;);
+}
+```
+* std::indirect[color ff0000]
+
+### 出力
+```
+```
+
+
+## バージョン
+### 言語
+- C++26
+
+### 処理系
+- [Clang](/implementation.md#clang): 22 [mark noimpl]
+- [GCC](/implementation.md#gcc): 16.1 [mark verified]
+- [Visual C++](/implementation.md#visual_cpp): 2026 Update 2 [mark noimpl]
+
+
+## 関連項目
+- [`std::indirect`](../indirect.md)
+
+
+## 参照
+- [P3019R14 `indirect` and `polymorphic`: Vocabulary Types for Composite Class Design](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3019r14.pdf)
&lt;/code&gt;&lt;/pre&gt;</summary>
      
      <author>
        <name>Akira Takahashi</name>
        <email>faithandbrave@gmail.com</email>
      </author>
    </entry>
  
    <entry>
      <title>デストラクタ -- C++26対応としてindirectとpolymorphicのリファレンスを作成 #1430</title>
      <link href="https://cpprefjp.github.io/reference/memory/indirect/op_destructor.html"/>
      <id>cff22113c8f884df3e65c2d23570ba6dc92e1fec:reference/memory/indirect/op_destructor.md</id>
      <updated>2026-06-22T16:01:50+09:00</updated>
      
        <summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/memory/indirect/op_destructor.md b/reference/memory/indirect/op_destructor.md
new file mode 100644
index 000000000..4769f7624
--- /dev/null
+++ b/reference/memory/indirect/op_destructor.md
@@ -0,0 +1,39 @@
+# デストラクタ
+* memory[meta header]
+* std[meta namespace]
+* indirect[meta class]
+* function[meta id-type]
+* cpp26[meta cpp]
+
+```cpp
+constexpr ~indirect();
+```
+
+## 概要
+`indirect`オブジェクトを破棄する。
+
+
+## 適格要件
+`T`は完全型であること。
+
+
+## 効果
+`*this`が無効値状態でなければ、所有するオブジェクトを[`allocator_traits`](/reference/memory/allocator_traits.md)`&amp;lt;Allocator&amp;gt;::destroy`で破棄し、ストレージを解放する。
+
+
+## バージョン
+### 言語
+- C++26
+
+### 処理系
+- [Clang](/implementation.md#clang): 22 [mark noimpl]
+- [GCC](/implementation.md#gcc): 16.1 [mark verified]
+- [Visual C++](/implementation.md#visual_cpp): 2026 Update 2 [mark noimpl]
+
+
+## 関連項目
+- [`std::indirect`](../indirect.md)
+
+
+## 参照
+- [P3019R14 `indirect` and `polymorphic`: Vocabulary Types for Composite Class Design](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3019r14.pdf)
&lt;/code&gt;&lt;/pre&gt;</summary>
      
      <author>
        <name>Akira Takahashi</name>
        <email>faithandbrave@gmail.com</email>
      </author>
    </entry>
  
    <entry>
      <title>operator== -- C++26対応としてindirectとpolymorphicのリファレンスを作成 #1430</title>
      <link href="https://cpprefjp.github.io/reference/memory/indirect/op_equal.html"/>
      <id>cff22113c8f884df3e65c2d23570ba6dc92e1fec:reference/memory/indirect/op_equal.md</id>
      <updated>2026-06-22T16:01:50+09:00</updated>
      
        <summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/memory/indirect/op_equal.md b/reference/memory/indirect/op_equal.md
new file mode 100644
index 000000000..91417707f
--- /dev/null
+++ b/reference/memory/indirect/op_equal.md
@@ -0,0 +1,75 @@
+# operator==
+* memory[meta header]
+* std[meta namespace]
+* indirect[meta class]
+* function[meta id-type]
+* cpp26[meta cpp]
+
+```cpp
+template &amp;lt;class U, class AA&amp;gt;
+friend constexpr bool operator==(
+  const indirect&amp;amp; lhs, const indirect&amp;lt;U, AA&amp;gt;&amp;amp; rhs) noexcept(see below); // (1)
+
+template &amp;lt;class U&amp;gt;
+friend constexpr bool operator==(
+  const indirect&amp;amp; lhs, const U&amp;amp; rhs) noexcept(see below);               // (2)
+```
+
+## 概要
+- (1) : 2つの`indirect`オブジェクトが所有する値を等値比較する。
+- (2) : `indirect`オブジェクトが所有する値と、別の値`rhs`を等値比較する。
+
+いずれも*Hidden friends*として定義される。
+
+
+## 適格要件
+- (1) : 式`*lhs == *rhs`が適格であり、その結果が`bool`に変換可能であること。
+- (2) : 式`*lhs == rhs`が適格であり、その結果が`bool`に変換可能であること。
+
+
+## 戻り値
+- (1) : `lhs`と`rhs`のいずれかが無効値状態であれば`lhs.valueless_after_move() == rhs.valueless_after_move()`、そうでなければ`*lhs == *rhs`。
+- (2) : `lhs`が無効値状態であれば`false`、そうでなければ`*lhs == rhs`。
+
+
+## 備考
+この演算子により、`operator!=`が使用可能になる。
+
+
+## 例
+```cpp example
+#include &amp;lt;cassert&amp;gt;
+#include &amp;lt;memory&amp;gt;
+
+int main()
+{
+  std::indirect&amp;lt;int&amp;gt; a{42};
+  std::indirect&amp;lt;int&amp;gt; b{42};
+  assert(a == b);    // (1) indirect同士の比較
+  assert(a == 42);   // (2) 値との比較
+  assert(a != 0);
+}
+```
+* std::indirect[color ff0000]
+
+### 出力
+```
+```
+
+
+## バージョン
+### 言語
+- C++26
+
+### 処理系
+- [Clang](/implementation.md#clang): 22 [mark noimpl]
+- [GCC](/implementation.md#gcc): 16.1 [mark verified]
+- [Visual C++](/implementation.md#visual_cpp): 2026 Update 2 [mark noimpl]
+
+
+## 関連項目
+- [`std::indirect`](../indirect.md)
+
+
+## 参照
+- [P3019R14 `indirect` and `polymorphic`: Vocabulary Types for Composite Class Design](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3019r14.pdf)
&lt;/code&gt;&lt;/pre&gt;</summary>
      
      <author>
        <name>Akira Takahashi</name>
        <email>faithandbrave@gmail.com</email>
      </author>
    </entry>
  
    <entry>
      <title>swap -- C++26対応としてindirectとpolymorphicのリファレンスを作成 #1430</title>
      <link href="https://cpprefjp.github.io/reference/memory/indirect/swap.html"/>
      <id>cff22113c8f884df3e65c2d23570ba6dc92e1fec:reference/memory/indirect/swap.md</id>
      <updated>2026-06-22T16:01:50+09:00</updated>
      
        <summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/memory/indirect/swap.md b/reference/memory/indirect/swap.md
new file mode 100644
index 000000000..f48250199
--- /dev/null
+++ b/reference/memory/indirect/swap.md
@@ -0,0 +1,69 @@
+# swap
+* memory[meta header]
+* std[meta namespace]
+* indirect[meta class]
+* function[meta id-type]
+* cpp26[meta cpp]
+
+```cpp
+constexpr void swap(indirect&amp;amp; other) noexcept(see below);
+```
+
+## 概要
+`*this`と`other`の状態を交換する。所有オブジェクトまたは無効値状態を交換する。
+
+
+## 事前条件
+[`allocator_traits`](/reference/memory/allocator_traits.md)`&amp;lt;Allocator&amp;gt;::propagate_on_container_swap::value`が`true`の場合、`Allocator`はCpp17Swappable要件を満たすこと。そうでない場合、`get_allocator() == other.get_allocator()`が`true`であること。
+
+
+## 効果
+`*this`と`other`の状態（所有オブジェクトまたは無効値状態）を交換する。`propagate_on_container_swap::value`が`true`の場合はアロケータも交換する。所有オブジェクトに対して直接`swap`を呼ぶわけではない。
+
+
+## 例外
+以下と等価な`noexcept`指定を持つ：
+
+```cpp
+noexcept(allocator_traits&amp;lt;Allocator&amp;gt;::propagate_on_container_swap::value ||
+         allocator_traits&amp;lt;Allocator&amp;gt;::is_always_equal::value)
+```
+* allocator_traits[link /reference/memory/allocator_traits.md]
+
+
+## 例
+```cpp example
+#include &amp;lt;cassert&amp;gt;
+#include &amp;lt;memory&amp;gt;
+
+int main()
+{
+  std::indirect&amp;lt;int&amp;gt; a{1};
+  std::indirect&amp;lt;int&amp;gt; b{2};
+  a.swap(b);
+  assert(*a == 2 &amp;amp;&amp;amp; *b == 1);
+}
+```
+* std::indirect[color ff0000]
+
+### 出力
+```
+```
+
+
+## バージョン
+### 言語
+- C++26
+
+### 処理系
+- [Clang](/implementation.md#clang): 22 [mark noimpl]
+- [GCC](/implementation.md#gcc): 16.1 [mark verified]
+- [Visual C++](/implementation.md#visual_cpp): 2026 Update 2 [mark noimpl]
+
+
+## 関連項目
+- [`std::indirect`](../indirect.md)
+
+
+## 参照
+- [P3019R14 `indirect` and `polymorphic`: Vocabulary Types for Composite Class Design](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3019r14.pdf)
&lt;/code&gt;&lt;/pre&gt;</summary>
      
      <author>
        <name>Akira Takahashi</name>
        <email>faithandbrave@gmail.com</email>
      </author>
    </entry>
  
    <entry>
      <title>swap -- C++26対応としてindirectとpolymorphicのリファレンスを作成 #1430</title>
      <link href="https://cpprefjp.github.io/reference/memory/indirect/swap_free.html"/>
      <id>cff22113c8f884df3e65c2d23570ba6dc92e1fec:reference/memory/indirect/swap_free.md</id>
      <updated>2026-06-22T16:01:50+09:00</updated>
      
        <summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/memory/indirect/swap_free.md b/reference/memory/indirect/swap_free.md
new file mode 100644
index 000000000..b85df0bd7
--- /dev/null
+++ b/reference/memory/indirect/swap_free.md
@@ -0,0 +1,63 @@
+# swap
+* memory[meta header]
+* std[meta namespace]
+* indirect[meta class]
+* function[meta id-type]
+* cpp26[meta cpp]
+
+```cpp
+friend constexpr void swap(indirect&amp;amp; lhs, indirect&amp;amp; rhs) noexcept(see below);
+```
+
+## 概要
+2つの`indirect`オブジェクトを交換する。*Hidden friends*として定義される。
+
+
+## 効果
+`lhs.swap(rhs)`と等価。
+
+
+## 例外
+以下と等価な`noexcept`指定を持つ：
+
+```cpp
+noexcept(noexcept(lhs.swap(rhs)))
+```
+
+
+## 例
+```cpp example
+#include &amp;lt;cassert&amp;gt;
+#include &amp;lt;memory&amp;gt;
+
+int main()
+{
+  std::indirect&amp;lt;int&amp;gt; a{1};
+  std::indirect&amp;lt;int&amp;gt; b{2};
+  swap(a, b);   // ADLにより非メンバswapが呼ばれる
+  assert(*a == 2 &amp;amp;&amp;amp; *b == 1);
+}
+```
+* std::indirect[color ff0000]
+
+### 出力
+```
+```
+
+
+## バージョン
+### 言語
+- C++26
+
+### 処理系
+- [Clang](/implementation.md#clang): 22 [mark noimpl]
+- [GCC](/implementation.md#gcc): 16.1 [mark verified]
+- [Visual C++](/implementation.md#visual_cpp): 2026 Update 2 [mark noimpl]
+
+
+## 関連項目
+- [`std::indirect`](../indirect.md)
+
+
+## 参照
+- [P3019R14 `indirect` and `polymorphic`: Vocabulary Types for Composite Class Design](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3019r14.pdf)
&lt;/code&gt;&lt;/pre&gt;</summary>
      
      <author>
        <name>Akira Takahashi</name>
        <email>faithandbrave@gmail.com</email>
      </author>
    </entry>
  
    <entry>
      <title>valueless_after_move -- C++26対応としてindirectとpolymorphicのリファレンスを作成 #1430</title>
      <link href="https://cpprefjp.github.io/reference/memory/indirect/valueless_after_move.html"/>
      <id>cff22113c8f884df3e65c2d23570ba6dc92e1fec:reference/memory/indirect/valueless_after_move.md</id>
      <updated>2026-06-22T16:01:50+09:00</updated>
      
        <summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/memory/indirect/valueless_after_move.md b/reference/memory/indirect/valueless_after_move.md
new file mode 100644
index 000000000..f866a5a8e
--- /dev/null
+++ b/reference/memory/indirect/valueless_after_move.md
@@ -0,0 +1,61 @@
+# valueless_after_move
+* memory[meta header]
+* std[meta namespace]
+* indirect[meta class]
+* function[meta id-type]
+* cpp26[meta cpp]
+
+```cpp
+constexpr bool valueless_after_move() const noexcept;
+```
+
+## 概要
+`*this`が無効値状態かどうかを判定する。`indirect`はムーブされたあとにのみ無効値状態となりうる。
+
+
+## 戻り値
+`*this`が無効値状態であれば`true`、そうでなければ`false`。
+
+
+## 例外
+投げない。
+
+
+## 例
+```cpp example
+#include &amp;lt;cassert&amp;gt;
+#include &amp;lt;memory&amp;gt;
+
+int main()
+{
+  std::indirect&amp;lt;int&amp;gt; a{42};
+  assert(!a.valueless_after_move());
+
+  std::indirect&amp;lt;int&amp;gt; b = std::move(a);
+  assert(a.valueless_after_move());  // ムーブ後は無効値状態
+  assert(!b.valueless_after_move());
+}
+```
+* std::indirect[color ff0000]
+
+### 出力
+```
+```
+
+
+## バージョン
+### 言語
+- C++26
+
+### 処理系
+- [Clang](/implementation.md#clang): 22 [mark noimpl]
+- [GCC](/implementation.md#gcc): 16.1 [mark verified]
+- [Visual C++](/implementation.md#visual_cpp): 2026 Update 2 [mark noimpl]
+
+
+## 関連項目
+- [`std::indirect`](../indirect.md)
+
+
+## 参照
+- [P3019R14 `indirect` and `polymorphic`: Vocabulary Types for Composite Class Design](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3019r14.pdf)
&lt;/code&gt;&lt;/pre&gt;</summary>
      
      <author>
        <name>Akira Takahashi</name>
        <email>faithandbrave@gmail.com</email>
      </author>
    </entry>
  
    <entry>
      <title>polymorphic -- C++26対応としてindirectとpolymorphicのリファレンスを作成 #1430</title>
      <link href="https://cpprefjp.github.io/reference/memory/polymorphic.html"/>
      <id>cff22113c8f884df3e65c2d23570ba6dc92e1fec:reference/memory/polymorphic.md</id>
      <updated>2026-06-22T16:01:50+09:00</updated>
      
        <summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/memory/polymorphic.md b/reference/memory/polymorphic.md
new file mode 100644
index 000000000..ad7a74aed
--- /dev/null
+++ b/reference/memory/polymorphic.md
@@ -0,0 +1,147 @@
+# polymorphic
+* memory[meta header]
+* std[meta namespace]
+* class template[meta id-type]
+* cpp26[meta cpp]
+
+```cpp
+namespace std {
+  template &amp;lt;class T, class Allocator = allocator&amp;lt;T&amp;gt;&amp;gt;
+  class polymorphic;
+
+  namespace pmr {
+    template &amp;lt;class T&amp;gt;
+    using polymorphic = std::polymorphic&amp;lt;T, polymorphic_allocator&amp;lt;T&amp;gt;&amp;gt;;
+  }
+}
+```
+* allocator[link allocator.md]
+* polymorphic_allocator[link /reference/memory_resource/polymorphic_allocator.md]
+
+## 概要
+`std::polymorphic`クラスは、動的確保したオブジェクトに値の意味論をもたせつつ、`T`から派生した任意の型のオブジェクトを多態的に保持できる型である。
+
+[`std::indirect`](indirect.md)クラスが単一の型`T`のオブジェクトを保持するのに対し、`std::polymorphic&amp;lt;T&amp;gt;`クラスは`T`を基底とする派生型のオブジェクトを保持できる。値型としての性質は`std::indirect`クラスと共通している：
+
+- ディープコピー: `std::polymorphic&amp;lt;T&amp;gt;`クラスのオブジェクトをコピーすると、実際に保持している派生型のオブジェクトが、その派生型のコピーコンストラクタによって複製される（型消去をとおした仮想ディスパッチが用いられる）
+- `const`の伝播: `const`なアクセス経路から所有オブジェクトにアクセスすると、所有オブジェクトにも`const`が伝播する
+- 不完全型のサポート: テンプレートパラメータ`T`は不完全型でもよい
+
+これらの性質によって、`std::polymorphic`クラスは多態的な性質をもつクラスのメンバ変数として適しており、コンパイラによる特殊メンバ関数の自動生成と協調して動作する。
+
+所有オブジェクトを持たない状態を「無効値状態 (valueless state)」と呼ぶ。`std::polymorphic`クラスが無効値状態になるのは、ムーブ後に空となった場合のみである。無効値状態のオブジェクトに対する`operator*`や`operator-&amp;gt;`の呼び出しは未定義動作を引き起こす。無効値状態かどうかは[`valueless_after_move()`](polymorphic/valueless_after_move.md)で判定できる。
+
+保持する型の集合が既知である場合は、[`std::variant`](/reference/variant/variant.md)や`indirect&amp;lt;std::variant&amp;lt;...&amp;gt;&amp;gt;`の使用を検討するとよい。
+
+
+## テンプレートパラメータ制約
+- `Allocator`はCpp17Allocator要件を満たすこと。
+- [`allocator_traits`](/reference/memory/allocator_traits.md)`&amp;lt;Allocator&amp;gt;::value_type`が`T`と同じ型であること
+
+
+## 適格要件
+- 以下のいずれかの場合に、プログラムは不適格となる
+    - `T`がオブジェクト型でない
+    - 配列型である
+    - (CV修飾された) [`std::in_place_t`](/reference/utility/in_place_t.md)である
+    - (CV修飾された) [`std::in_place_type_t`](/reference/utility/in_place_type_t.md)の特殊化である
+    - CV修飾された型である
+- `std::polymorphic`の明示的特殊化・部分特殊化をユーザーが宣言した場合、動作は未定義である
+
+
+## メンバ関数
+### 構築・破棄
+
+| 名前 | 説明 | 対応バージョン |
+|------|------|----------------|
+| [`(constructor)`](polymorphic/op_constructor.md) | コンストラクタ | C++26 |
+| [`(destructor)`](polymorphic/op_destructor.md) | デストラクタ | C++26 |
+| [`operator=`](polymorphic/op_assign.md) | 代入演算子 | C++26 |
+
+### 値へのアクセス
+
+| 名前 | 説明 | 対応バージョン |
+|------|------|----------------|
+| [`operator*`](polymorphic/op_deref.md) | 所有するオブジェクトへの参照を取得する | C++26 |
+| [`operator-&amp;gt;`](polymorphic/op_arrow.md) | 所有するオブジェクトのメンバへアクセスする | C++26 |
+| [`valueless_after_move`](polymorphic/valueless_after_move.md) | 無効値状態かどうかを判定する | C++26 |
+
+### その他
+
+| 名前 | 説明 | 対応バージョン |
+|------|------|----------------|
+| [`get_allocator`](polymorphic/get_allocator.md) | アロケータを取得する | C++26 |
+| [`swap`](polymorphic/swap.md) | 他の`polymorphic`オブジェクトと値を交換する | C++26 |
+
+
+## メンバ型
+
+| 名前 | 定義 | 対応バージョン |
+|------|------|----------------|
+| `value_type` | `T` | C++26 |
+| `allocator_type` | `Allocator` | C++26 |
+| `pointer` | [`allocator_traits`](/reference/memory/allocator_traits.md)`&amp;lt;Allocator&amp;gt;::pointer` | C++26 |
+| `const_pointer` | [`allocator_traits`](/reference/memory/allocator_traits.md)`&amp;lt;Allocator&amp;gt;::const_pointer` | C++26 |
+
+
+## 非メンバ（*Hidden friends*）関数
+
+| 名前 | 説明 | 対応バージョン |
+|------|------|----------------|
+| [`swap`](polymorphic/swap_free.md) | 2つの`polymorphic`オブジェクトを交換する | C++26 |
+
+
+## 例
+```cpp example
+#include &amp;lt;cassert&amp;gt;
+#include &amp;lt;memory&amp;gt;
+
+struct Shape {
+  virtual ~Shape() = default;
+  virtual int area() const = 0;
+};
+
+struct Square : Shape {
+  int side;
+  Square(int s) : side(s) {}
+  int area() const override { return side * side; }
+};
+
+int main()
+{
+  // Shapeから派生したSquareを、値の意味論で多態的に保持する
+  std::polymorphic&amp;lt;Shape&amp;gt; a{std::in_place_type&amp;lt;Square&amp;gt;, 3};
+  assert(a-&amp;gt;area() == 9);
+
+  // コピーは派生型(Square)のディープコピー
+  std::polymorphic&amp;lt;Shape&amp;gt; b = a;
+  assert(b-&amp;gt;area() == 9);
+}
+```
+* std::polymorphic[color ff0000]
+* std::in_place_type[link /reference/utility/in_place_type_t.md]
+
+### 出力
+```
+```
+
+
+## バージョン
+### 言語
+- C++26
+
+### 処理系
+- [Clang](/implementation.md#clang): 22 [mark noimpl]
+- [GCC](/implementation.md#gcc): 16.1 [mark verified]
+- [Visual C++](/implementation.md#visual_cpp): 2026 Update 2 [mark noimpl]
+
+
+## 関連項目
+- [`std::indirect`](indirect.md) 単一の型を保持する値型
+- [`std::variant`](/reference/variant/variant.md) 既知の型集合から1つを保持する型
+- [`std::unique_ptr`](unique_ptr.md) 多態的な所有権をもつが参照の意味論をもつスマートポインタ
+
+
+## 参照
+- [P3019R14 `indirect` and `polymorphic`: Vocabulary Types for Composite Class Design](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3019r14.pdf)
+    - C++26で`indirect`と`polymorphic`が追加された
&lt;/code&gt;&lt;/pre&gt;</summary>
      
      <author>
        <name>Akira Takahashi</name>
        <email>faithandbrave@gmail.com</email>
      </author>
    </entry>
  
    <entry>
      <title>get_allocator -- C++26対応としてindirectとpolymorphicのリファレンスを作成 #1430</title>
      <link href="https://cpprefjp.github.io/reference/memory/polymorphic/get_allocator.html"/>
      <id>cff22113c8f884df3e65c2d23570ba6dc92e1fec:reference/memory/polymorphic/get_allocator.md</id>
      <updated>2026-06-22T16:01:50+09:00</updated>
      
        <summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/memory/polymorphic/get_allocator.md b/reference/memory/polymorphic/get_allocator.md
new file mode 100644
index 000000000..c7981d7a0
--- /dev/null
+++ b/reference/memory/polymorphic/get_allocator.md
@@ -0,0 +1,39 @@
+# get_allocator
+* memory[meta header]
+* std[meta namespace]
+* polymorphic[meta class]
+* function[meta id-type]
+* cpp26[meta cpp]
+
+```cpp
+constexpr allocator_type get_allocator() const noexcept;
+```
+
+## 概要
+このオブジェクトが使用するアロケータを取得する。
+
+
+## 戻り値
+所有するアロケータのコピー。
+
+
+## 例外
+投げない。
+
+
+## バージョン
+### 言語
+- C++26
+
+### 処理系
+- [Clang](/implementation.md#clang): 22 [mark noimpl]
+- [GCC](/implementation.md#gcc): 16.1 [mark verified]
+- [Visual C++](/implementation.md#visual_cpp): 2026 Update 2 [mark noimpl]
+
+
+## 関連項目
+- [`std::polymorphic`](../polymorphic.md)
+
+
+## 参照
+- [P3019R14 `indirect` and `polymorphic`: Vocabulary Types for Composite Class Design](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3019r14.pdf)
&lt;/code&gt;&lt;/pre&gt;</summary>
      
      <author>
        <name>Akira Takahashi</name>
        <email>faithandbrave@gmail.com</email>
      </author>
    </entry>
  
    <entry>
      <title>operator-&gt; -- C++26対応としてindirectとpolymorphicのリファレンスを作成 #1430</title>
      <link href="https://cpprefjp.github.io/reference/memory/polymorphic/op_arrow.html"/>
      <id>cff22113c8f884df3e65c2d23570ba6dc92e1fec:reference/memory/polymorphic/op_arrow.md</id>
      <updated>2026-06-22T16:01:50+09:00</updated>
      
        <summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/memory/polymorphic/op_arrow.md b/reference/memory/polymorphic/op_arrow.md
new file mode 100644
index 000000000..fad8e5e62
--- /dev/null
+++ b/reference/memory/polymorphic/op_arrow.md
@@ -0,0 +1,74 @@
+# operator-&amp;gt;
+* memory[meta header]
+* std[meta namespace]
+* polymorphic[meta class]
+* function[meta id-type]
+* cpp26[meta cpp]
+
+```cpp
+constexpr const_pointer operator-&amp;gt;() const noexcept; // (1)
+constexpr pointer operator-&amp;gt;() noexcept;             // (2)
+```
+
+## 概要
+所有するオブジェクトのメンバへ、基底型`T`としてアクセスするためのポインタを取得する。
+
+
+## 事前条件
+`*this`が無効値状態でないこと。
+
+
+## 戻り値
+所有するオブジェクトを指すポインタ。
+
+
+## 例外
+投げない。
+
+
+## 例
+```cpp example
+#include &amp;lt;cassert&amp;gt;
+#include &amp;lt;memory&amp;gt;
+
+struct Base {
+  virtual ~Base() = default;
+  virtual int f() const { return 0; }
+};
+struct Derived : Base {
+  int x = 42;
+  Derived() = default;
+  Derived(int x) : x(x) {}
+  int f() const override { return x; }
+};
+
+int main()
+{
+  std::polymorphic&amp;lt;Base&amp;gt; a{std::in_place_type&amp;lt;Derived&amp;gt;};
+  assert(a-&amp;gt;f() == 42);  // 基底型Baseのメンバへアクセス（仮想ディスパッチ）
+}
+```
+* std::polymorphic[color ff0000]
+* std::in_place_type[link /reference/utility/in_place_type_t.md]
+
+### 出力
+```
+```
+
+
+## バージョン
+### 言語
+- C++26
+
+### 処理系
+- [Clang](/implementation.md#clang): 22 [mark noimpl]
+- [GCC](/implementation.md#gcc): 16.1 [mark verified]
+- [Visual C++](/implementation.md#visual_cpp): 2026 Update 2 [mark noimpl]
+
+
+## 関連項目
+- [`std::polymorphic`](../polymorphic.md)
+
+
+## 参照
+- [P3019R14 `indirect` and `polymorphic`: Vocabulary Types for Composite Class Design](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3019r14.pdf)
&lt;/code&gt;&lt;/pre&gt;</summary>
      
      <author>
        <name>Akira Takahashi</name>
        <email>faithandbrave@gmail.com</email>
      </author>
    </entry>
  
    <entry>
      <title>代入演算子 -- C++26対応としてindirectとpolymorphicのリファレンスを作成 #1430</title>
      <link href="https://cpprefjp.github.io/reference/memory/polymorphic/op_assign.html"/>
      <id>cff22113c8f884df3e65c2d23570ba6dc92e1fec:reference/memory/polymorphic/op_assign.md</id>
      <updated>2026-06-22T16:01:50+09:00</updated>
      
        <summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/memory/polymorphic/op_assign.md b/reference/memory/polymorphic/op_assign.md
new file mode 100644
index 000000000..0e472b166
--- /dev/null
+++ b/reference/memory/polymorphic/op_assign.md
@@ -0,0 +1,93 @@
+# 代入演算子
+* memory[meta header]
+* std[meta namespace]
+* polymorphic[meta class]
+* function[meta id-type]
+* cpp26[meta cpp]
+
+```cpp
+constexpr polymorphic&amp;amp; operator=(const polymorphic&amp;amp; other);                // (1)
+constexpr polymorphic&amp;amp; operator=(polymorphic&amp;amp;&amp;amp; other) noexcept(see below); // (2)
+```
+
+## 概要
+- (1) : コピー代入。`other`が保持する派生型のオブジェクトをディープコピーする。
+- (2) : ムーブ代入。`other`から所有権を移す。
+
+
+## 適格要件
+- (1) : `T`は完全型であること。
+
+
+## 効果
+- (1) : `addressof(other) == this`であれば何もしない。そうでなければ、アロケータの伝播規則に従い、`other`が保持するオブジェクトのコピーを`*this`がもつようにする。`other`が無効値状態であれば`*this`も無効値状態にする。
+- (2) : `addressof(other) == this`であれば何もしない。そうでなければ、アロケータの伝播規則に従い、`other`から所有権を移すか、ムーブ構築する。
+
+
+## 戻り値
+`*this`への参照。
+
+
+## 例外
+- (1) : 強い例外安全性を保証する。例外が送出された場合、`*this`や`other`に影響はない。
+- (2) : 以下と等価な`noexcept`指定を持つ：
+
+```cpp
+noexcept(allocator_traits&amp;lt;Allocator&amp;gt;::propagate_on_container_move_assignment::value ||
+         allocator_traits&amp;lt;Allocator&amp;gt;::is_always_equal::value)
+```
+* allocator_traits[link /reference/memory/allocator_traits.md]
+
+
+## 例
+```cpp example
+#include &amp;lt;cassert&amp;gt;
+#include &amp;lt;memory&amp;gt;
+
+struct Base {
+  virtual ~Base() = default;
+  virtual int f() const { return 0; }
+};
+struct Derived : Base {
+  int x = 42;
+  Derived() = default;
+  Derived(int x) : x(x) {}
+  int f() const override { return x; }
+};
+
+int main()
+{
+  std::polymorphic&amp;lt;Base&amp;gt; a{std::in_place_type&amp;lt;Derived&amp;gt;, 1};
+  std::polymorphic&amp;lt;Base&amp;gt; b{std::in_place_type&amp;lt;Derived&amp;gt;, 2};
+
+  a = b;             // (1) コピー代入（派生型のディープコピー）
+  assert(a-&amp;gt;f() == 2);
+
+  a = std::move(b);  // (2) ムーブ代入
+  assert(a-&amp;gt;f() == 2);
+}
+```
+* std::polymorphic[color ff0000]
+* std::in_place_type[link /reference/utility/in_place_type_t.md]
+
+### 出力
+```
+```
+
+
+## バージョン
+### 言語
+- C++26
+
+### 処理系
+- [Clang](/implementation.md#clang): 22 [mark noimpl]
+- [GCC](/implementation.md#gcc): 16.1 [mark verified]
+- [Visual C++](/implementation.md#visual_cpp): 2026 Update 2 [mark noimpl]
+
+
+## 関連項目
+- [`std::polymorphic`](../polymorphic.md)
+
+
+## 参照
+- [P3019R14 `indirect` and `polymorphic`: Vocabulary Types for Composite Class Design](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3019r14.pdf)
&lt;/code&gt;&lt;/pre&gt;</summary>
      
      <author>
        <name>Akira Takahashi</name>
        <email>faithandbrave@gmail.com</email>
      </author>
    </entry>
  
    <entry>
      <title>コンストラクタ -- C++26対応としてindirectとpolymorphicのリファレンスを作成 #1430</title>
      <link href="https://cpprefjp.github.io/reference/memory/polymorphic/op_constructor.html"/>
      <id>cff22113c8f884df3e65c2d23570ba6dc92e1fec:reference/memory/polymorphic/op_constructor.md</id>
      <updated>2026-06-22T16:01:50+09:00</updated>
      
        <summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/memory/polymorphic/op_constructor.md b/reference/memory/polymorphic/op_constructor.md
new file mode 100644
index 000000000..4a0e01af7
--- /dev/null
+++ b/reference/memory/polymorphic/op_constructor.md
@@ -0,0 +1,158 @@
+# コンストラクタ
+* memory[meta header]
+* std[meta namespace]
+* polymorphic[meta class]
+* function[meta id-type]
+* cpp26[meta cpp]
+
+```cpp
+explicit constexpr 
+  polymorphic();                             // (1)
+
+explicit constexpr
+  polymorphic(allocator_arg_t,
+              const Allocator&amp;amp; a);           // (2)
+
+constexpr
+  polymorphic(const polymorphic&amp;amp; other);     // (3)
+
+constexpr
+  polymorphic(allocator_arg_t,
+              const Allocator&amp;amp; a,
+              const polymorphic&amp;amp; other);     // (4)
+
+constexpr
+  polymorphic(polymorphic&amp;amp;&amp;amp; other) noexcept; // (5)
+
+constexpr
+  polymorphic(allocator_arg_t,
+              const Allocator&amp;amp; a,
+              polymorphic&amp;amp;&amp;amp; other) noexcept(see below); // (6)
+
+template &amp;lt;class U = T&amp;gt;
+explicit constexpr
+  polymorphic(U&amp;amp;&amp;amp; u);                          // (7)
+
+template &amp;lt;class U = T&amp;gt;
+explicit constexpr
+  polymorphic(allocator_arg_t,
+              const Allocator&amp;amp; a,
+              U&amp;amp;&amp;amp; u);                          // (8)
+
+template &amp;lt;class U, class... Ts&amp;gt;
+explicit constexpr
+  polymorphic(in_place_type_t&amp;lt;U&amp;gt;,
+              Ts&amp;amp;&amp;amp;... ts);                     // (9)
+
+template &amp;lt;class U, class... Ts&amp;gt;
+explicit constexpr
+  polymorphic(allocator_arg_t,
+              const Allocator&amp;amp; a,
+              in_place_type_t&amp;lt;U&amp;gt;, Ts&amp;amp;&amp;amp;... ts); // (10)
+
+template &amp;lt;class U, class I, class... Us&amp;gt;
+explicit constexpr
+  polymorphic(in_place_type_t&amp;lt;U&amp;gt;,
+              initializer_list&amp;lt;I&amp;gt; ilist,
+              Us&amp;amp;&amp;amp;... us);                    // (11)
+
+template &amp;lt;class U, class I, class... Us&amp;gt;
+explicit constexpr
+  polymorphic(allocator_arg_t, const Allocator&amp;amp; a,
+              in_place_type_t&amp;lt;U&amp;gt;,
+              initializer_list&amp;lt;I&amp;gt; ilist, Us&amp;amp;&amp;amp;... us); // (12)
+```
+* allocator_arg_t[link /reference/memory/allocator_arg_t.md]
+* in_place_type_t[link /reference/utility/in_place_type_t.md]
+* initializer_list[link /reference/initializer_list/initializer_list.md]
+
+## 概要
+`polymorphic`オブジェクトを構築する。`allocator_arg_t`を第1引数に取るオーバーロードは、使用するアロケータ`a`を明示的に指定する。
+
+- (1), (2) : デフォルトコンストラクタ。`T`をデフォルト構築して所有する。
+- (3), (4) : コピーコンストラクタ。`other`が保持する派生型のオブジェクトをディープコピーして所有する。`other`が無効値状態の場合、構築されるオブジェクトも無効値状態となる。
+- (5), (6) : ムーブコンストラクタ。`other`が保持するオブジェクトの所有権を移す。
+- (7), (8) : 単一の引数`u`から、その型`U`（`T`から派生していてもよい）のオブジェクトを構築して所有する。
+- (9), (10) : `in_place_type_t&amp;lt;U&amp;gt;`をマーカーとして、型`U`のオブジェクトを引数`ts...`から直接構築して所有する。
+- (11), (12) : `in_place_type_t&amp;lt;U&amp;gt;`をマーカーとして、型`U`のオブジェクトを初期化子リストと引数`us...`から直接構築して所有する。
+
+
+## テンプレートパラメータ制約
+- (7), (8) : [`remove_cvref_t`](/reference/type_traits/remove_cvref.md)`&amp;lt;U&amp;gt;`を`UU`とするとき、`UU`が`polymorphic`でも`in_place_type_t`の特殊化でもなく、[`derived_from`](/reference/concepts/derived_from.md)`&amp;lt;UU, T&amp;gt;`、[`is_constructible_v`](/reference/type_traits/is_constructible.md)`&amp;lt;UU, U&amp;gt;`、[`is_copy_constructible_v`](/reference/type_traits/is_copy_constructible.md)`&amp;lt;UU&amp;gt;`がいずれも`true`であること。(7)はさらに[`is_default_constructible_v`](/reference/type_traits/is_default_constructible.md)`&amp;lt;Allocator&amp;gt;`が`true`であること。
+- (9), (10) : [`is_same_v`](/reference/type_traits/is_same.md)`&amp;lt;`[`remove_cvref_t`](/reference/type_traits/remove_cvref.md)`&amp;lt;U&amp;gt;, U&amp;gt;`、[`derived_from`](/reference/concepts/derived_from.md)`&amp;lt;U, T&amp;gt;`、[`is_constructible_v`](/reference/type_traits/is_constructible.md)`&amp;lt;U, Ts...&amp;gt;`、[`is_copy_constructible_v`](/reference/type_traits/is_copy_constructible.md)`&amp;lt;U&amp;gt;`がいずれも`true`であること。(9)はさらに[`is_default_constructible_v`](/reference/type_traits/is_default_constructible.md)`&amp;lt;Allocator&amp;gt;`が`true`であること。
+- (11), (12) : [`is_same_v`](/reference/type_traits/is_same.md)`&amp;lt;`[`remove_cvref_t`](/reference/type_traits/remove_cvref.md)`&amp;lt;U&amp;gt;, U&amp;gt;`、[`derived_from`](/reference/concepts/derived_from.md)`&amp;lt;U, T&amp;gt;`、[`is_constructible_v`](/reference/type_traits/is_constructible.md)`&amp;lt;U, initializer_list&amp;lt;I&amp;gt;&amp;amp;, Us...&amp;gt;`、[`is_copy_constructible_v`](/reference/type_traits/is_copy_constructible.md)`&amp;lt;U&amp;gt;`がいずれも`true`であること。(11)はさらに[`is_default_constructible_v`](/reference/type_traits/is_default_constructible.md)`&amp;lt;Allocator&amp;gt;`が`true`であること。
+
+
+## 適格要件
+- (1), (2) : [`is_default_constructible_v`](/reference/type_traits/is_default_constructible.md)`&amp;lt;T&amp;gt;`と[`is_copy_constructible_v`](/reference/type_traits/is_copy_constructible.md)`&amp;lt;T&amp;gt;`がともに`true`であること。
+
+
+## 効果
+所有するオブジェクトを、指定された型・引数とアロケータ`alloc`を用いて構築する。`allocator_arg_t`版は`alloc`を`a`で初期化する。
+
+
+## 例外
+- すべてのオーバーロード : [`allocator_traits`](/reference/memory/allocator_traits.md)`&amp;lt;Allocator&amp;gt;::allocate`または[`allocator_traits`](/reference/memory/allocator_traits.md)`&amp;lt;Allocator&amp;gt;::construct`が例外を送出した場合を除いて、例外を送出しない。
+- (6) : 以下と等価な`noexcept`指定を持つ：
+
+```cpp
+noexcept(allocator_traits&amp;lt;Allocator&amp;gt;::is_always_equal::value)
+```
+* allocator_traits[link /reference/memory/allocator_traits.md]
+
+
+## 例
+```cpp example
+#include &amp;lt;cassert&amp;gt;
+#include &amp;lt;memory&amp;gt;
+
+struct Base {
+  virtual ~Base() = default;
+  virtual int f() const { return 0; }
+};
+struct Derived : Base {
+  int x = 42;
+  Derived() = default;
+  Derived(int x) : x(x) {}
+  int f() const override { return x; }
+};
+
+int main()
+{
+  // (9) in_place_typeで派生型Derivedを直接構築
+  std::polymorphic&amp;lt;Base&amp;gt; a{std::in_place_type&amp;lt;Derived&amp;gt;};
+  assert(a-&amp;gt;f() == 42);
+
+  // (7) 派生型の値から構築
+  std::polymorphic&amp;lt;Base&amp;gt; b{Derived{10}};
+  assert(b-&amp;gt;f() == 10);
+
+  // (3) コピー構築（派生型Derivedのディープコピー）
+  std::polymorphic&amp;lt;Base&amp;gt; c = a;
+  assert(c-&amp;gt;f() == 42);
+}
+```
+* std::polymorphic[color ff0000]
+* std::in_place_type[link /reference/utility/in_place_type_t.md]
+
+### 出力
+```
+```
+
+
+## バージョン
+### 言語
+- C++26
+
+### 処理系
+- [Clang](/implementation.md#clang): 22 [mark noimpl]
+- [GCC](/implementation.md#gcc): 16.1 [mark verified]
+- [Visual C++](/implementation.md#visual_cpp): 2026 Update 2 [mark noimpl]
+
+
+## 関連項目
+- [`std::polymorphic`](../polymorphic.md)
+
+
+## 参照
+- [P3019R14 `indirect` and `polymorphic`: Vocabulary Types for Composite Class Design](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3019r14.pdf)
&lt;/code&gt;&lt;/pre&gt;</summary>
      
      <author>
        <name>Akira Takahashi</name>
        <email>faithandbrave@gmail.com</email>
      </author>
    </entry>
  
    <entry>
      <title>operator* -- C++26対応としてindirectとpolymorphicのリファレンスを作成 #1430</title>
      <link href="https://cpprefjp.github.io/reference/memory/polymorphic/op_deref.html"/>
      <id>cff22113c8f884df3e65c2d23570ba6dc92e1fec:reference/memory/polymorphic/op_deref.md</id>
      <updated>2026-06-22T16:01:50+09:00</updated>
      
        <summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/memory/polymorphic/op_deref.md b/reference/memory/polymorphic/op_deref.md
new file mode 100644
index 000000000..bfc03fe52
--- /dev/null
+++ b/reference/memory/polymorphic/op_deref.md
@@ -0,0 +1,75 @@
+# operator*
+* memory[meta header]
+* std[meta namespace]
+* polymorphic[meta class]
+* function[meta id-type]
+* cpp26[meta cpp]
+
+```cpp
+constexpr const T&amp;amp; operator*() const noexcept; // (1)
+constexpr T&amp;amp; operator*() noexcept;             // (2)
+```
+
+## 概要
+所有するオブジェクトへの、基底型`T`としての参照を取得する。`const`なアクセス経路では`const`が所有オブジェクトに伝播する。
+
+
+## 事前条件
+`*this`が無効値状態でないこと。
+
+
+## 戻り値
+所有するオブジェクトへの`T`型としての参照。
+
+
+## 例外
+投げない。
+
+
+## 例
+```cpp example
+#include &amp;lt;cassert&amp;gt;
+#include &amp;lt;memory&amp;gt;
+
+struct Base {
+  virtual ~Base() = default;
+  virtual int f() const { return 0; }
+};
+struct Derived : Base {
+  int x = 42;
+  Derived() = default;
+  Derived(int x) : x(x) {}
+  int f() const override { return x; }
+};
+
+int main()
+{
+  std::polymorphic&amp;lt;Base&amp;gt; a{std::in_place_type&amp;lt;Derived&amp;gt;};
+  Base&amp;amp; r = *a;          // 基底型Baseとしての参照を取得
+  assert(r.f() == 42);   // 仮想関数で派生型Derivedの実装が呼ばれる
+}
+```
+* std::polymorphic[color ff0000]
+* std::in_place_type[link /reference/utility/in_place_type_t.md]
+
+### 出力
+```
+```
+
+
+## バージョン
+### 言語
+- C++26
+
+### 処理系
+- [Clang](/implementation.md#clang): 22 [mark noimpl]
+- [GCC](/implementation.md#gcc): 16.1 [mark verified]
+- [Visual C++](/implementation.md#visual_cpp): 2026 Update 2 [mark noimpl]
+
+
+## 関連項目
+- [`std::polymorphic`](../polymorphic.md)
+
+
+## 参照
+- [P3019R14 `indirect` and `polymorphic`: Vocabulary Types for Composite Class Design](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3019r14.pdf)
&lt;/code&gt;&lt;/pre&gt;</summary>
      
      <author>
        <name>Akira Takahashi</name>
        <email>faithandbrave@gmail.com</email>
      </author>
    </entry>
  
    <entry>
      <title>デストラクタ -- C++26対応としてindirectとpolymorphicのリファレンスを作成 #1430</title>
      <link href="https://cpprefjp.github.io/reference/memory/polymorphic/op_destructor.html"/>
      <id>cff22113c8f884df3e65c2d23570ba6dc92e1fec:reference/memory/polymorphic/op_destructor.md</id>
      <updated>2026-06-22T16:01:50+09:00</updated>
      
        <summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/memory/polymorphic/op_destructor.md b/reference/memory/polymorphic/op_destructor.md
new file mode 100644
index 000000000..94fba4547
--- /dev/null
+++ b/reference/memory/polymorphic/op_destructor.md
@@ -0,0 +1,39 @@
+# デストラクタ
+* memory[meta header]
+* std[meta namespace]
+* polymorphic[meta class]
+* function[meta id-type]
+* cpp26[meta cpp]
+
+```cpp
+constexpr ~polymorphic();
+```
+
+## 概要
+`polymorphic`オブジェクトを破棄する。
+
+
+## 適格要件
+`T`は完全型であること。
+
+
+## 効果
+`*this`が無効値状態でなければ、所有するオブジェクトを[`allocator_traits`](/reference/memory/allocator_traits.md)`&amp;lt;Allocator&amp;gt;::destroy`で破棄し、ストレージを解放する。
+
+
+## バージョン
+### 言語
+- C++26
+
+### 処理系
+- [Clang](/implementation.md#clang): 22 [mark noimpl]
+- [GCC](/implementation.md#gcc): 16.1 [mark verified]
+- [Visual C++](/implementation.md#visual_cpp): 2026 Update 2 [mark noimpl]
+
+
+## 関連項目
+- [`std::polymorphic`](../polymorphic.md)
+
+
+## 参照
+- [P3019R14 `indirect` and `polymorphic`: Vocabulary Types for Composite Class Design](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3019r14.pdf)
&lt;/code&gt;&lt;/pre&gt;</summary>
      
      <author>
        <name>Akira Takahashi</name>
        <email>faithandbrave@gmail.com</email>
      </author>
    </entry>
  
    <entry>
      <title>swap -- C++26対応としてindirectとpolymorphicのリファレンスを作成 #1430</title>
      <link href="https://cpprefjp.github.io/reference/memory/polymorphic/swap.html"/>
      <id>cff22113c8f884df3e65c2d23570ba6dc92e1fec:reference/memory/polymorphic/swap.md</id>
      <updated>2026-06-22T16:01:50+09:00</updated>
      
        <summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/memory/polymorphic/swap.md b/reference/memory/polymorphic/swap.md
new file mode 100644
index 000000000..695d15cce
--- /dev/null
+++ b/reference/memory/polymorphic/swap.md
@@ -0,0 +1,74 @@
+# swap
+* memory[meta header]
+* std[meta namespace]
+* polymorphic[meta class]
+* function[meta id-type]
+* cpp26[meta cpp]
+
+```cpp
+constexpr void swap(polymorphic&amp;amp; other) noexcept(see below);
+```
+
+## 概要
+`*this`と`other`の状態を交換する。所有オブジェクトまたは無効値状態を交換する。
+
+
+## 事前条件
+[`allocator_traits`](/reference/memory/allocator_traits.md)`&amp;lt;Allocator&amp;gt;::propagate_on_container_swap::value`が`true`の場合、`Allocator`は*Cpp17Swappable*要件を満たすこと。そうでない場合、`get_allocator() == other.get_allocator()`が`true`であること。
+
+
+## 効果
+`*this`と`other`の状態を交換する。`propagate_on_container_swap::value`が`true`の場合はアロケータも交換する。
+
+
+## 例外
+以下と等価な`noexcept`指定を持つ：
+
+```cpp
+noexcept(allocator_traits&amp;lt;Allocator&amp;gt;::propagate_on_container_swap::value ||
+         allocator_traits&amp;lt;Allocator&amp;gt;::is_always_equal::value)
+```
+* allocator_traits[link /reference/memory/allocator_traits.md]
+
+
+## 例
+```cpp example
+#include &amp;lt;cassert&amp;gt;
+#include &amp;lt;memory&amp;gt;
+
+struct Base { virtual ~Base() = default; virtual int f() const = 0; };
+struct D1 : Base { int f() const override { return 1; } };
+struct D2 : Base { int f() const override { return 2; } };
+
+int main()
+{
+  std::polymorphic&amp;lt;Base&amp;gt; a{std::in_place_type&amp;lt;D1&amp;gt;};
+  std::polymorphic&amp;lt;Base&amp;gt; b{std::in_place_type&amp;lt;D2&amp;gt;};
+  a.swap(b);
+  assert(a-&amp;gt;f() == 2 &amp;amp;&amp;amp; b-&amp;gt;f() == 1);
+}
+```
+* std::polymorphic[color ff0000]
+* std::in_place_type[link /reference/utility/in_place_type_t.md]
+
+### 出力
+```
+```
+
+
+## バージョン
+### 言語
+- C++26
+
+### 処理系
+- [Clang](/implementation.md#clang): 22 [mark noimpl]
+- [GCC](/implementation.md#gcc): 16.1 [mark verified]
+- [Visual C++](/implementation.md#visual_cpp): 2026 Update 2 [mark noimpl]
+
+
+## 関連項目
+- [`std::polymorphic`](../polymorphic.md)
+
+
+## 参照
+- [P3019R14 `indirect` and `polymorphic`: Vocabulary Types for Composite Class Design](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3019r14.pdf)
&lt;/code&gt;&lt;/pre&gt;</summary>
      
      <author>
        <name>Akira Takahashi</name>
        <email>faithandbrave@gmail.com</email>
      </author>
    </entry>
  
    <entry>
      <title>swap -- C++26対応としてindirectとpolymorphicのリファレンスを作成 #1430</title>
      <link href="https://cpprefjp.github.io/reference/memory/polymorphic/swap_free.html"/>
      <id>cff22113c8f884df3e65c2d23570ba6dc92e1fec:reference/memory/polymorphic/swap_free.md</id>
      <updated>2026-06-22T16:01:50+09:00</updated>
      
        <summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/memory/polymorphic/swap_free.md b/reference/memory/polymorphic/swap_free.md
new file mode 100644
index 000000000..f680893d8
--- /dev/null
+++ b/reference/memory/polymorphic/swap_free.md
@@ -0,0 +1,68 @@
+# swap
+* memory[meta header]
+* std[meta namespace]
+* polymorphic[meta class]
+* function[meta id-type]
+* cpp26[meta cpp]
+
+```cpp
+friend constexpr void swap(polymorphic&amp;amp; lhs, polymorphic&amp;amp; rhs) noexcept(see below);
+```
+
+## 概要
+2つの`polymorphic`オブジェクトを交換する。*Hidden friends*として定義される。
+
+
+## 効果
+`lhs.swap(rhs)`と等価。
+
+
+## 例外
+以下と等価な`noexcept`指定を持つ：
+
+```cpp
+noexcept(noexcept(lhs.swap(rhs)))
+```
+
+
+## 例
+```cpp example
+#include &amp;lt;cassert&amp;gt;
+#include &amp;lt;memory&amp;gt;
+
+struct Base { virtual ~Base() = default; virtual int f() const = 0; };
+struct D1 : Base { int f() const override { return 1; } };
+struct D2 : Base { int f() const override { return 2; } };
+
+int main()
+{
+  std::polymorphic&amp;lt;Base&amp;gt; a{std::in_place_type&amp;lt;D1&amp;gt;};
+  std::polymorphic&amp;lt;Base&amp;gt; b{std::in_place_type&amp;lt;D2&amp;gt;};
+  swap(a, b);   // ADLにより非メンバswapが呼ばれる
+  assert(a-&amp;gt;f() == 2 &amp;amp;&amp;amp; b-&amp;gt;f() == 1);
+}
+```
+* std::polymorphic[color ff0000]
+* std::in_place_type[link /reference/utility/in_place_type_t.md]
+
+### 出力
+```
+```
+
+
+## バージョン
+### 言語
+- C++26
+
+### 処理系
+- [Clang](/implementation.md#clang): 22 [mark noimpl]
+- [GCC](/implementation.md#gcc): 16.1 [mark verified]
+- [Visual C++](/implementation.md#visual_cpp): 2026 Update 2 [mark noimpl]
+
+
+## 関連項目
+- [`std::polymorphic`](../polymorphic.md)
+
+
+## 参照
+- [P3019R14 `indirect` and `polymorphic`: Vocabulary Types for Composite Class Design](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3019r14.pdf)
&lt;/code&gt;&lt;/pre&gt;</summary>
      
      <author>
        <name>Akira Takahashi</name>
        <email>faithandbrave@gmail.com</email>
      </author>
    </entry>
  
    <entry>
      <title>valueless_after_move -- C++26対応としてindirectとpolymorphicのリファレンスを作成 #1430</title>
      <link href="https://cpprefjp.github.io/reference/memory/polymorphic/valueless_after_move.html"/>
      <id>cff22113c8f884df3e65c2d23570ba6dc92e1fec:reference/memory/polymorphic/valueless_after_move.md</id>
      <updated>2026-06-22T16:01:50+09:00</updated>
      
        <summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/memory/polymorphic/valueless_after_move.md b/reference/memory/polymorphic/valueless_after_move.md
new file mode 100644
index 000000000..687f983f7
--- /dev/null
+++ b/reference/memory/polymorphic/valueless_after_move.md
@@ -0,0 +1,72 @@
+# valueless_after_move
+* memory[meta header]
+* std[meta namespace]
+* polymorphic[meta class]
+* function[meta id-type]
+* cpp26[meta cpp]
+
+```cpp
+constexpr bool valueless_after_move() const noexcept;
+```
+
+## 概要
+`*this`が無効値状態かどうかを判定する。`polymorphic`はムーブされたあとにのみ無効値状態となりうる。
+
+
+## 戻り値
+`*this`が無効値状態であれば`true`、そうでなければ`false`。
+
+
+## 例外
+投げない。
+
+
+## 例
+```cpp example
+#include &amp;lt;cassert&amp;gt;
+#include &amp;lt;memory&amp;gt;
+
+struct Base {
+  virtual ~Base() = default;
+  virtual int f() const { return 0; }
+};
+struct Derived : Base {
+  int x = 42;
+  Derived() = default;
+  Derived(int x) : x(x) {}
+  int f() const override { return x; }
+};
+
+int main()
+{
+  std::polymorphic&amp;lt;Base&amp;gt; a{std::in_place_type&amp;lt;Derived&amp;gt;};
+  assert(!a.valueless_after_move());
+
+  std::polymorphic&amp;lt;Base&amp;gt; b = std::move(a);
+  assert(a.valueless_after_move());  // ムーブ後は無効値状態
+}
+```
+* std::polymorphic[color ff0000]
+* std::in_place_type[link /reference/utility/in_place_type_t.md]
+
+### 出力
+```
+```
+
+
+## バージョン
+### 言語
+- C++26
+
+### 処理系
+- [Clang](/implementation.md#clang): 22 [mark noimpl]
+- [GCC](/implementation.md#gcc): 16.1 [mark verified]
+- [Visual C++](/implementation.md#visual_cpp): 2026 Update 2 [mark noimpl]
+
+
+## 関連項目
+- [`std::polymorphic`](../polymorphic.md)
+
+
+## 参照
+- [P3019R14 `indirect` and `polymorphic`: Vocabulary Types for Composite Class Design](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3019r14.pdf)
&lt;/code&gt;&lt;/pre&gt;</summary>
      
      <author>
        <name>Akira Takahashi</name>
        <email>faithandbrave@gmail.com</email>
      </author>
    </entry>
  
    <entry>
      <title>constant_wrapper -- constant_wrapper: meta aliasタグ追加</title>
      <link href="https://cpprefjp.github.io/reference/utility/constant_wrapper.html"/>
      <id>ebaeb5d2cf1235c9123f6b6b14bf16dd5e90da07:reference/utility/constant_wrapper.md</id>
      <updated>2026-06-21T23:39:30+09:00</updated>
      
        <summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/utility/constant_wrapper.md b/reference/utility/constant_wrapper.md
index d44643773..42db28c1c 100644
--- a/reference/utility/constant_wrapper.md
+++ b/reference/utility/constant_wrapper.md
@@ -3,6 +3,7 @@
 * std[meta namespace]
 * class template[meta id-type]
 * cpp26[meta cpp]
+* cw[meta alias]
 
 ```cpp
 namespace std {
&lt;/code&gt;&lt;/pre&gt;</summary>
      
      <author>
        <name>yoh</name>
        <email>kawasaki.liamg@gmail.com</email>
      </author>
    </entry>
  
</feed>