Skip to content

Commit 91c449c

Browse files
author
cpprefjp-autoupdate
committed
update automatically
1 parent 4b76652 commit 91c449c

File tree

18 files changed

+2247
-1662
lines changed

18 files changed

+2247
-1662
lines changed

lang/cpp23.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -176,12 +176,12 @@
176176

177177
<p class="text-right"><small>
178178
最終更新日時(UTC):
179-
<span itemprop="datePublished" content="2025-08-18T10:21:16">
180-
2025年08月18日 10時21分16秒
179+
<span itemprop="datePublished" content="2026-02-17T03:19:01">
180+
2026年02月17日 03時19分01秒
181181
</span>
182182
<br/>
183183
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
184-
<span itemprop="name">Raclamusi</span>
184+
<span itemprop="name">Akira Takahashi</span>
185185
</span>
186186
が更新
187187
</small></p>
@@ -484,7 +484,7 @@ <h3>新ライブラリ</h3>
484484
<h3>コンテナ</h3>
485485
<ul>
486486
<li><code><a href="../reference/stack/stack.html">std::stack</a></code><code><a href="../reference/queue/queue.html">std::queue</a></code>に、イテレータのペアをとるコンストラクタを追加</li>
487-
<li><code>auto v = std::vector(v, alloc);</code>のようなアロケータ引数をともなう場合のクラステンプレートのテンプレート引数推論が動作しなかったため、各コンテナクラスのコンストラクタにおけるアロケータパラメータの型を<code>const Allocator&amp;</code>から<code>const <a href="../reference/type_traits/type_identity.html">std::type_identity_t</a>&lt;Allocator&gt;&amp;</code>に修正</li>
487+
<li><code>auto v = std::vector(v, alloc);</code>のようなアロケータ引数をともなう場合のクラステンプレートのテンプレート引数推論が動作しなかったため、各コンテナクラスのコンストラクタにおけるアロケータパラメータの型を<code>const Allocator&amp;</code>から<code>const <a href="../reference/type_traits/type_identity.html">std::type_identity_t</a>&lt;Allocator&gt;&amp;</code>に修正し、<a class="cpprefjp-defined-word" data-desc="コンテナをラップしたクラス。一部のコンテナインタフェースをもたない場合がある">コンテナアダプタ</a>の推論補助の制約を修正</li>
488488
<li>N要素のメモリアロケート時にアロケータが実際にどれくらいのメモリを確保したかを得られるインタフェースとして、<ul>
489489
<li><code><a href="../reference/memory/allocator.html">std::allocator</a></code>クラスに、<code><a href="../reference/memory/allocator/allocate_at_least.html">allocate_at_least()</a></code>メンバ関数を追加</li>
490490
<li><code><a href="../reference/memory/allocator_traits.html">std::allocator_traits</a></code>クラスに、<code><a href="../reference/memory/allocator_traits/allocate_at_least.html">allocate_at_least()</a></code>関数を追加</li>

reference/deque/deque/op_constructor.html

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -200,8 +200,8 @@
200200

201201
<p class="text-right"><small>
202202
最終更新日時(UTC):
203-
<span itemprop="datePublished" content="2025-07-08T15:33:39">
204-
2025年07月08日 15時33分39秒
203+
<span itemprop="datePublished" content="2026-02-17T03:19:01">
204+
2026年02月17日 03時19分01秒
205205
</span>
206206
<br/>
207207
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
@@ -246,8 +246,12 @@
246246

247247
<span class="n">deque</span><span class="p">(</span><span class="k">const</span> <span class="n">deque</span><span class="o">&amp;</span> <span class="n">x</span><span class="p">);</span> <span class="c1">// (6)</span>
248248
<span class="n">deque</span><span class="p">(</span><span class="n">deque</span><span class="o">&amp;&amp;</span> <span class="n">y</span><span class="p">);</span> <span class="c1">// (7) C++11 から</span>
249-
<span class="n">deque</span><span class="p">(</span><span class="k">const</span> <span class="n">deque</span><span class="o">&amp;</span> <span class="n">x</span><span class="p">,</span> <span class="k">const</span> <span class="n">Allocator</span><span class="o">&amp;</span> <span class="n">a</span><span class="p">);</span> <span class="c1">// (8) C++11 から</span>
250-
<span class="n">deque</span><span class="p">(</span><span class="n">deque</span><span class="o">&amp;&amp;</span> <span class="n">y</span><span class="p">,</span> <span class="k">const</span> <span class="n">Allocator</span><span class="o">&amp;</span> <span class="n">a</span><span class="p">);</span> <span class="c1">// (9) C++11 から</span>
249+
<span class="n">deque</span><span class="p">(</span><span class="k">const</span> <span class="n">deque</span><span class="o">&amp;</span> <span class="n">x</span><span class="p">,</span> <span class="k">const</span> <span class="n">Allocator</span><span class="o">&amp;</span> <span class="n">a</span><span class="p">);</span> <span class="c1">// (8) C++11</span>
250+
<span class="n">deque</span><span class="p">(</span><span class="k">const</span> <span class="n">deque</span><span class="o">&amp;</span> <span class="n">x</span><span class="p">,</span>
251+
<span class="k">const</span> <span class="n"><a href="../../type_traits/type_identity.html">type_identity_t</a></span><span class="o">&lt;</span><span class="n">Allocator</span><span class="o">&gt;&amp;</span> <span class="n">a</span><span class="p">);</span> <span class="c1">// (8) C++23</span>
252+
253+
<span class="n">deque</span><span class="p">(</span><span class="n">deque</span><span class="o">&amp;&amp;</span> <span class="n">y</span><span class="p">,</span> <span class="k">const</span> <span class="n">Allocator</span><span class="o">&amp;</span> <span class="n">a</span><span class="p">);</span> <span class="c1">// (9) C++11</span>
254+
<span class="n">deque</span><span class="p">(</span><span class="n">deque</span><span class="o">&amp;&amp;</span> <span class="n">y</span><span class="p">,</span> <span class="k">const</span> <span class="n"><a href="../../type_traits/type_identity.html">type_identity_t</a></span><span class="o">&lt;</span><span class="n">Allocator</span><span class="o">&gt;&amp;</span> <span class="n">a</span><span class="p">);</span> <span class="c1">// (9) C++23</span>
251255

252256
<span class="n">deque</span><span class="p">(</span><span class="n"><a href="../../initializer_list/initializer_list.html">initializer_list</a></span><span class="o">&lt;</span><span class="n">T</span><span class="o">&gt;</span> <span class="n">il</span><span class="p">,</span>
253257
<span class="k">const</span> <span class="n">Allocator</span><span class="o">&amp;</span> <span class="n">a</span> <span class="o">=</span> <span class="n">Allocator</span><span class="p">());</span> <span class="c1">// (10) C++11 から</span>
@@ -326,6 +330,10 @@ <h2>備考</h2>
326330
</code></pre></div>
327331
</div></p>
328332
</li>
333+
<li>
334+
<p>C++23 では、(8) と (9) のアロケータパラメータの型が <code>const Allocator&amp;</code> から <code>const type_identity_t&lt;Allocator&gt;&amp;</code> に変更された。
335+
これは、クラステンプレートのテンプレート引数推論 (CTAD) の際に、コピー/ムーブ元の <code>deque</code> から推論される <code>Allocator</code> と、アロケータ引数から推論される型が異なる場合に推論が失敗する問題を修正するためである。<code><a href="../../type_traits/type_identity.html">type_identity_t</a></code> で包むことで、アロケータ引数が非推論コンテキストとなり、アロケータの型はコピー/ムーブ元のみから推論されるようになる。</p>
336+
</li>
329337
</ul>
330338
<h2></h2>
331339
<p><div class="yata" id="536c8a887fd1bd4c1fd7a0e75a34de247863a053"><div class="codehilite"><pre><span></span><code><span class="cp">#include</span> <span class="cpf"><a href="../../iostream.html">&lt;iostream&gt;</a></span><span class="cp"></span>
@@ -397,6 +405,10 @@ <h2>参照</h2>
397405
<li><a href="http://cplusplus.github.io/LWG/lwg-defects.html#2210" target="_blank">LWG 2210. Missing allocator-extended constructor for allocator-aware containers</a><br />
398406
<code>explicit deque(size_type n)</code> にアロケータ引数を追加するきっかけとなったレポート<br />
399407
なお、Discussion の例はアロケータの型が誤っているので注意</li>
408+
<li><a href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p1518r2.html" target="_blank">P1518R2 Stop Overconstraining Allocators in Container Deduction Guides</a><ul>
409+
<li>C++23でのアロケータ引数を<code>type_identity_t</code>で包む変更</li>
410+
</ul>
411+
</li>
400412
</ul></div>
401413

402414
</div>

reference/forward_list/forward_list/op_constructor.html

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -200,8 +200,8 @@
200200

201201
<p class="text-right"><small>
202202
最終更新日時(UTC):
203-
<span itemprop="datePublished" content="2025-07-08T15:33:39">
204-
2025年07月08日 15時33分39秒
203+
<span itemprop="datePublished" content="2026-02-17T03:19:01">
204+
2026年02月17日 03時19分01秒
205205
</span>
206206
<br/>
207207
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
@@ -246,8 +246,13 @@
246246
<span class="n">forward_list</span><span class="p">(</span><span class="k">const</span> <span class="n">forward_list</span><span class="o">&amp;</span> <span class="n">x</span><span class="p">);</span> <span class="c1">// (6) C++11</span>
247247
<span class="n">forward_list</span><span class="p">(</span><span class="n">forward_list</span><span class="o">&amp;&amp;</span> <span class="n">x</span><span class="p">);</span> <span class="c1">// (7) C++11</span>
248248

249-
<span class="n">forward_list</span><span class="p">(</span><span class="k">const</span> <span class="n">forward_list</span><span class="o">&amp;</span> <span class="n">x</span><span class="p">,</span> <span class="k">const</span> <span class="n">Allocator</span><span class="o">&amp;</span> <span class="n">a</span><span class="p">);</span> <span class="c1">// (8) C++11</span>
250-
<span class="n">forward_list</span><span class="p">(</span><span class="n">forward_list</span><span class="o">&amp;&amp;</span> <span class="n">x</span><span class="p">,</span> <span class="k">const</span> <span class="n">Allocator</span><span class="o">&amp;</span> <span class="n">a</span><span class="p">);</span> <span class="c1">// (9) C++11</span>
249+
<span class="n">forward_list</span><span class="p">(</span><span class="k">const</span> <span class="n">forward_list</span><span class="o">&amp;</span> <span class="n">x</span><span class="p">,</span> <span class="k">const</span> <span class="n">Allocator</span><span class="o">&amp;</span> <span class="n">a</span><span class="p">);</span> <span class="c1">// (8) C++11</span>
250+
<span class="n">forward_list</span><span class="p">(</span><span class="k">const</span> <span class="n">forward_list</span><span class="o">&amp;</span> <span class="n">x</span><span class="p">,</span>
251+
<span class="k">const</span> <span class="n"><a href="../../type_traits/type_identity.html">type_identity_t</a></span><span class="o">&lt;</span><span class="n">Allocator</span><span class="o">&gt;&amp;</span> <span class="n">a</span><span class="p">);</span> <span class="c1">// (8) C++23</span>
252+
253+
<span class="n">forward_list</span><span class="p">(</span><span class="n">forward_list</span><span class="o">&amp;&amp;</span> <span class="n">x</span><span class="p">,</span> <span class="k">const</span> <span class="n">Allocator</span><span class="o">&amp;</span> <span class="n">a</span><span class="p">);</span> <span class="c1">// (9) C++11</span>
254+
<span class="n">forward_list</span><span class="p">(</span><span class="n">forward_list</span><span class="o">&amp;&amp;</span> <span class="n">x</span><span class="p">,</span>
255+
<span class="k">const</span> <span class="n"><a href="../../type_traits/type_identity.html">type_identity_t</a></span><span class="o">&lt;</span><span class="n">Allocator</span><span class="o">&gt;&amp;</span> <span class="n">a</span><span class="p">);</span> <span class="c1">// (9) C++23</span>
251256

252257
<span class="n">forward_list</span><span class="p">(</span><span class="n"><a href="../../initializer_list/initializer_list.html">initializer_list</a></span><span class="o">&lt;</span><span class="n">T</span><span class="o">&gt;</span> <span class="n">il</span><span class="p">,</span>
253258
<span class="k">const</span> <span class="n">Allocator</span><span class="o">&amp;</span> <span class="n">a</span> <span class="o">=</span> <span class="n">Allocator</span><span class="p">());</span> <span class="c1">// (10) C++11</span>
@@ -319,6 +324,10 @@ <h2>備考</h2>
319324
</code></pre></div>
320325
</div></p>
321326
</li>
327+
<li>
328+
<p>C++23 では、(8) と (9) のアロケータパラメータの型が <code>const Allocator&amp;</code> から <code>const type_identity_t&lt;Allocator&gt;&amp;</code> に変更された。
329+
これは、クラステンプレートのテンプレート引数推論 (CTAD) の際に、コピー/ムーブ元の <code>forward_list</code> から推論される <code>Allocator</code> と、アロケータ引数から推論される型が異なる場合に推論が失敗する問題を修正するためである。<code><a href="../../type_traits/type_identity.html">type_identity_t</a></code> で包むことで、アロケータ引数が非推論コンテキストとなり、アロケータの型はコピー/ムーブ元のみから推論されるようになる。</p>
330+
</li>
322331
</ul>
323332
<h2></h2>
324333
<p><div class="yata" id="4d7b9efc6d4043bdc35a7838d8dbe98999818860"><div class="codehilite"><pre><span></span><code><span class="cp">#include</span> <span class="cpf"><a href="../../iostream.html">&lt;iostream&gt;</a></span><span class="cp"></span>
@@ -405,6 +414,10 @@ <h2>参照</h2>
405414
<li><a href="http://cplusplus.github.io/LWG/lwg-defects.html#2210" target="_blank">LWG 2210. Missing allocator-extended constructor for allocator-aware containers</a><br />
406415
<code>explicit forward_list(size_type n)</code> にアロケータ引数を追加するきっかけとなったレポート<br />
407416
なお、Discussion の例はアロケータの型が誤っているので注意</li>
417+
<li><a href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p1518r2.html" target="_blank">P1518R2 Stop Overconstraining Allocators in Container Deduction Guides</a><ul>
418+
<li>C++23でのアロケータ引数を<code>type_identity_t</code>で包む変更</li>
419+
</ul>
420+
</li>
408421
</ul></div>
409422

410423
</div>

reference/list/list/op_constructor.html

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -200,8 +200,8 @@
200200

201201
<p class="text-right"><small>
202202
最終更新日時(UTC):
203-
<span itemprop="datePublished" content="2025-07-08T15:33:39">
204-
2025年07月08日 15時33分39秒
203+
<span itemprop="datePublished" content="2026-02-17T03:19:01">
204+
2026年02月17日 03時19分01秒
205205
</span>
206206
<br/>
207207
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
@@ -244,8 +244,12 @@
244244

245245
<span class="n">list</span><span class="p">(</span><span class="k">const</span> <span class="n">list</span><span class="o">&amp;</span> <span class="n">x</span><span class="p">);</span> <span class="c1">// (6)</span>
246246
<span class="n">list</span><span class="p">(</span><span class="n">list</span><span class="o">&amp;&amp;</span> <span class="n">x</span><span class="p">);</span> <span class="c1">// (7) C++11 から</span>
247-
<span class="n">list</span><span class="p">(</span><span class="k">const</span> <span class="n">list</span><span class="o">&amp;</span> <span class="n">x</span><span class="p">,</span> <span class="k">const</span> <span class="n">Allocator</span><span class="o">&amp;</span> <span class="n">a</span><span class="p">);</span> <span class="c1">// (8) C++11 から</span>
248-
<span class="n">list</span><span class="p">(</span><span class="n">list</span><span class="o">&amp;&amp;</span> <span class="n">x</span><span class="p">,</span> <span class="k">const</span> <span class="n">Allocator</span><span class="o">&amp;</span> <span class="n">a</span><span class="p">);</span> <span class="c1">// (9) C++11 から</span>
247+
<span class="n">list</span><span class="p">(</span><span class="k">const</span> <span class="n">list</span><span class="o">&amp;</span> <span class="n">x</span><span class="p">,</span> <span class="k">const</span> <span class="n">Allocator</span><span class="o">&amp;</span> <span class="n">a</span><span class="p">);</span> <span class="c1">// (8) C++11</span>
248+
<span class="n">list</span><span class="p">(</span><span class="k">const</span> <span class="n">list</span><span class="o">&amp;</span> <span class="n">x</span><span class="p">,</span>
249+
<span class="k">const</span> <span class="n"><a href="../../type_traits/type_identity.html">type_identity_t</a></span><span class="o">&lt;</span><span class="n">Allocator</span><span class="o">&gt;&amp;</span> <span class="n">a</span><span class="p">);</span> <span class="c1">// (8) C++23</span>
250+
251+
<span class="n">list</span><span class="p">(</span><span class="n">list</span><span class="o">&amp;&amp;</span> <span class="n">x</span><span class="p">,</span> <span class="k">const</span> <span class="n">Allocator</span><span class="o">&amp;</span> <span class="n">a</span><span class="p">);</span> <span class="c1">// (9) C++11</span>
252+
<span class="n">list</span><span class="p">(</span><span class="n">list</span><span class="o">&amp;&amp;</span> <span class="n">x</span><span class="p">,</span> <span class="k">const</span> <span class="n"><a href="../../type_traits/type_identity.html">type_identity_t</a></span><span class="o">&lt;</span><span class="n">Allocator</span><span class="o">&gt;&amp;</span> <span class="n">a</span><span class="p">);</span> <span class="c1">// (9) C++23</span>
249253

250254
<span class="n">list</span><span class="p">(</span><span class="n"><a href="../../initializer_list/initializer_list.html">initializer_list</a></span><span class="o">&lt;</span><span class="n">T</span><span class="o">&gt;</span> <span class="n">il</span><span class="p">,</span>
251255
<span class="k">const</span> <span class="n">Allocator</span><span class="o">&amp;</span> <span class="n">a</span> <span class="o">=</span> <span class="n">Allocator</span><span class="p">());</span> <span class="c1">// (10) C++11 から</span>
@@ -314,6 +318,10 @@ <h2>備考</h2>
314318
</code></pre></div>
315319
</div></p>
316320
</li>
321+
<li>
322+
<p>C++23 では、(8) と (9) のアロケータパラメータの型が <code>const Allocator&amp;</code> から <code>const type_identity_t&lt;Allocator&gt;&amp;</code> に変更された。
323+
これは、クラステンプレートのテンプレート引数推論 (CTAD) の際に、コピー/ムーブ元の <code>list</code> から推論される <code>Allocator</code> と、アロケータ引数から推論される型が異なる場合に推論が失敗する問題を修正するためである。<code><a href="../../type_traits/type_identity.html">type_identity_t</a></code> で包むことで、アロケータ引数が非推論コンテキストとなり、アロケータの型はコピー/ムーブ元のみから推論されるようになる。</p>
324+
</li>
317325
</ul>
318326
<h2></h2>
319327
<p><div class="yata" id="1096b9c17b5cb640c4196cc39d48ea23ab1e5525"><div class="codehilite"><pre><span></span><code><span class="cp">#include</span> <span class="cpf"><a href="../../iostream.html">&lt;iostream&gt;</a></span><span class="cp"></span>
@@ -383,6 +391,10 @@ <h2>参照</h2>
383391
<li><a href="http://cplusplus.github.io/LWG/lwg-defects.html#2210" target="_blank">LWG 2210. Missing allocator-extended constructor for allocator-aware containers</a><br />
384392
<code>explicit list(size_type n)</code> にアロケータ引数を追加するきっかけとなったレポート<br />
385393
なお、Discussion の例はアロケータの型が誤っているので注意</li>
394+
<li><a href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p1518r2.html" target="_blank">P1518R2 Stop Overconstraining Allocators in Container Deduction Guides</a><ul>
395+
<li>C++23でのアロケータ引数を<code>type_identity_t</code>で包む変更</li>
396+
</ul>
397+
</li>
386398
</ul></div>
387399

388400
</div>

0 commit comments

Comments
 (0)