Skip to content

Commit 5743f63

Browse files
author
cpprefjp-autoupdate
committed
update automatically
1 parent 7c2c24a commit 5743f63

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+1764
-249
lines changed

lang/cpp20/access_checking_on_specializations.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -288,7 +288,7 @@ <h2>この機能が必要になった背景・経緯</h2>
288288
<span class="p">};</span>
289289

290290
<span class="k">template</span><span class="o">&lt;</span><span class="k">typename</span> <span class="n">T</span><span class="o">&gt;</span>
291-
<span class="k">struct</span> <span class="n">std</span><span class="o">::</span><span class="n">iterator_traits</span><span class="o">&lt;</span><span class="n">my_view</span><span class="o">&lt;</span><span class="kt">int</span><span class="o">&gt;::</span><span class="n">my_view_iterator</span><span class="o">&lt;</span><span class="n">T</span><span class="o">&gt;&gt;</span><span class="p">;</span>
291+
<span class="k">struct</span> <span class="n">std</span><span class="o">::</span><span class="n"><a href="../../reference/iterator/iterator_traits.html">iterator_traits</a></span><span class="o">&lt;</span><span class="n">my_view</span><span class="o">&lt;</span><span class="kt">int</span><span class="o">&gt;::</span><span class="n">my_view_iterator</span><span class="o">&lt;</span><span class="n">T</span><span class="o">&gt;&gt;</span><span class="p">;</span>
292292
</code></pre></div>
293293
</p>
294294
<p>このようなイテレータの実装方法はC++17以前にもよく行われており、C++20の<code>&lt;ranges&gt;</code>の一部の<code>view</code>型の実装においても行われる。これを放置すると、そのような<code>view</code>型ではポータブルかつ合法的に<code>std::iterator_traits</code>を使用することができなくなる。</p>

reference/algorithm/count.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -259,9 +259,9 @@ <h3>出力</h3>
259259
</code></pre></p>
260260
<h2>実装例</h2>
261261
<p><div class="codehilite"><pre><span></span><code><span class="k">template</span> <span class="o">&lt;</span><span class="k">class</span> <span class="nc">InputIterator</span><span class="p">,</span> <span class="k">class</span> <span class="nc">T</span><span class="o">&gt;</span>
262-
<span class="k">typename</span> <span class="n">iterator_traits</span><span class="o">&lt;</span><span class="n">InputIterator</span><span class="o">&gt;::</span><span class="n">difference_type</span>
262+
<span class="k">typename</span> <span class="n"><a href="../iterator/iterator_traits.html">iterator_traits</a></span><span class="o">&lt;</span><span class="n">InputIterator</span><span class="o">&gt;::</span><span class="n">difference_type</span>
263263
<span class="n">count</span><span class="p">(</span><span class="n">InputIterator</span> <span class="n">first</span><span class="p">,</span> <span class="n">InputIterator</span> <span class="n">last</span><span class="p">,</span> <span class="k">const</span> <span class="n">T</span><span class="o">&amp;</span> <span class="n">value</span><span class="p">)</span> <span class="p">{</span>
264-
<span class="k">typename</span> <span class="n">iterator_traits</span><span class="o">&lt;</span><span class="n">InputIterator</span><span class="o">&gt;::</span><span class="n">difference_type</span> <span class="n">ret</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
264+
<span class="k">typename</span> <span class="n"><a href="../iterator/iterator_traits.html">iterator_traits</a></span><span class="o">&lt;</span><span class="n">InputIterator</span><span class="o">&gt;::</span><span class="n">difference_type</span> <span class="n">ret</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
265265
<span class="k">for</span> <span class="p">(</span> <span class="p">;</span> <span class="n">first</span> <span class="o">!=</span> <span class="n">last</span><span class="p">;</span> <span class="o">++</span><span class="n">first</span><span class="p">)</span>
266266
<span class="k">if</span> <span class="p">(</span><span class="n">value</span> <span class="o">==</span> <span class="o">*</span><span class="n">first</span><span class="p">)</span> <span class="n">ret</span><span class="o">++</span><span class="p">;</span>
267267
<span class="k">return</span> <span class="n">ret</span><span class="p">;</span>

reference/algorithm/count_if.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -261,9 +261,9 @@ <h3>出力</h3>
261261
</p>
262262
<h2>実装例</h2>
263263
<p><div class="codehilite"><pre><span></span><code><span class="k">template</span> <span class="o">&lt;</span><span class="k">class</span> <span class="nc">InputIterator</span><span class="p">,</span> <span class="k">class</span> <span class="nc">Predicate</span><span class="o">&gt;</span>
264-
<span class="k">typename</span> <span class="n">iterator_traits</span><span class="o">&lt;</span><span class="n">InputIterator</span><span class="o">&gt;::</span><span class="n">difference_type</span>
264+
<span class="k">typename</span> <span class="n"><a href="../iterator/iterator_traits.html">iterator_traits</a></span><span class="o">&lt;</span><span class="n">InputIterator</span><span class="o">&gt;::</span><span class="n">difference_type</span>
265265
<span class="n">count_if</span><span class="p">(</span><span class="n">InputIterator</span> <span class="n">first</span><span class="p">,</span> <span class="n">InputIterator</span> <span class="n">last</span><span class="p">,</span> <span class="n">Predicate</span> <span class="n">pred</span><span class="p">)</span> <span class="p">{</span>
266-
<span class="k">typename</span> <span class="n">iterator_traits</span><span class="o">&lt;</span><span class="n">InputIterator</span><span class="o">&gt;::</span><span class="n">difference_type</span> <span class="n">ret</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
266+
<span class="k">typename</span> <span class="n"><a href="../iterator/iterator_traits.html">iterator_traits</a></span><span class="o">&lt;</span><span class="n">InputIterator</span><span class="o">&gt;::</span><span class="n">difference_type</span> <span class="n">ret</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
267267
<span class="k">for</span> <span class="p">(</span> <span class="p">;</span> <span class="n">first</span> <span class="o">!=</span> <span class="n">last</span><span class="p">;</span> <span class="o">++</span><span class="n">first</span><span class="p">)</span>
268268
<span class="k">if</span> <span class="p">(</span><span class="n">pred</span><span class="p">(</span><span class="o">*</span><span class="n">first</span><span class="p">))</span> <span class="n">ret</span><span class="o">++</span><span class="p">;</span>
269269
<span class="k">return</span> <span class="n">ret</span><span class="p">;</span>

reference/algorithm/ranges_copy_n.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,7 @@
219219
<span class="n">requires</span> <span class="n"><a href="../iterator/indirectly_copyable.html">indirectly_copyable</a></span><span class="o">&lt;</span><span class="n">I</span><span class="p">,</span> <span class="n">O</span><span class="o">&gt;</span>
220220
<span class="k">constexpr</span> <span class="n"><a href="ranges_in_out_result.html">copy_n_result</a></span><span class="o">&lt;</span><span class="n">I</span><span class="p">,</span> <span class="n">O</span><span class="o">&gt;</span>
221221
<span class="n">copy_n</span><span class="p">(</span><span class="n">I</span> <span class="n">first</span><span class="p">,</span>
222-
<span class="n">iter_difference_t</span><span class="o">&lt;</span><span class="n">I</span><span class="o">&gt;</span> <span class="n">n</span><span class="p">,</span>
222+
<span class="n"><a href="../iterator/iter_difference_t.html">iter_difference_t</a></span><span class="o">&lt;</span><span class="n">I</span><span class="o">&gt;</span> <span class="n">n</span><span class="p">,</span>
223223
<span class="n">O</span> <span class="n">result</span><span class="p">);</span> <span class="c1">// (1) C++20</span>
224224
<span class="p">}</span>
225225
</code></pre></div>

reference/algorithm/ranges_fold_left_first.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -334,10 +334,10 @@ <h3>出力</h3>
334334
</code></pre></p>
335335
<h2>実装例</h2>
336336
<p><div class="codehilite"><pre><span></span><code><span class="k">template</span><span class="o">&lt;</span><span class="n"><a href="../iterator/input_iterator.html">input_iterator</a></span> <span class="n">I</span><span class="p">,</span> <span class="n"><a href="../iterator/sentinel_for.html">sentinel_for</a></span><span class="o">&lt;</span><span class="n">I</span><span class="o">&gt;</span> <span class="n">S</span><span class="p">,</span>
337-
<span class="n">indirectly</span><span class="o">-</span><span class="n">binary</span><span class="o">-</span><span class="n">left</span><span class="o">-</span><span class="n">foldable</span><span class="o">&lt;</span><span class="n">iter_value_t</span><span class="o">&lt;</span><span class="n">I</span><span class="o">&gt;</span><span class="p">,</span> <span class="n">I</span><span class="o">&gt;</span> <span class="n">F</span><span class="o">&gt;</span>
338-
<span class="n">requires</span> <span class="n">constructible_from</span><span class="o">&lt;</span><span class="n">iter_value_t</span><span class="o">&lt;</span><span class="n">I</span><span class="o">&gt;</span><span class="p">,</span> <span class="n">iter_reference_t</span><span class="o">&lt;</span><span class="n">I</span><span class="o">&gt;&gt;</span>
337+
<span class="n">indirectly</span><span class="o">-</span><span class="n">binary</span><span class="o">-</span><span class="n">left</span><span class="o">-</span><span class="n">foldable</span><span class="o">&lt;</span><span class="n"><span href="https://cpprefjp.github.io/reference/algorithm/reference/iterator/iter_value_t.html">iter_value_t</span></span><span class="o">&lt;</span><span class="n">I</span><span class="o">&gt;</span><span class="p">,</span> <span class="n">I</span><span class="o">&gt;</span> <span class="n">F</span><span class="o">&gt;</span>
338+
<span class="n">requires</span> <span class="n">constructible_from</span><span class="o">&lt;</span><span class="n"><span href="https://cpprefjp.github.io/reference/algorithm/reference/iterator/iter_value_t.html">iter_value_t</span></span><span class="o">&lt;</span><span class="n">I</span><span class="o">&gt;</span><span class="p">,</span> <span class="n">iter_reference_t</span><span class="o">&lt;</span><span class="n">I</span><span class="o">&gt;&gt;</span>
339339
<span class="k">constexpr</span> <span class="k">auto</span> <span class="n">fold_left_first</span><span class="p">(</span><span class="n">I</span> <span class="n">first</span><span class="p">,</span> <span class="n">S</span> <span class="n">last</span><span class="p">,</span> <span class="n">F</span> <span class="n">f</span><span class="p">)</span> <span class="p">{</span>
340-
<span class="k">using</span> <span class="n">U</span> <span class="o">=</span> <span class="k">decltype</span><span class="p">(</span><span class="n">ranges</span><span class="o">::</span><span class="n">fold_left</span><span class="p">(</span><span class="n">std</span><span class="o">::</span><span class="n">move</span><span class="p">(</span><span class="n">first</span><span class="p">),</span> <span class="n">last</span><span class="p">,</span> <span class="n">iter_value_t</span><span class="o">&lt;</span><span class="n">I</span><span class="o">&gt;</span><span class="p">(</span><span class="o">*</span><span class="n">first</span><span class="p">),</span> <span class="n">f</span><span class="p">));</span>
340+
<span class="k">using</span> <span class="n">U</span> <span class="o">=</span> <span class="k">decltype</span><span class="p">(</span><span class="n">ranges</span><span class="o">::</span><span class="n">fold_left</span><span class="p">(</span><span class="n">std</span><span class="o">::</span><span class="n">move</span><span class="p">(</span><span class="n">first</span><span class="p">),</span> <span class="n">last</span><span class="p">,</span> <span class="n"><span href="https://cpprefjp.github.io/reference/algorithm/reference/iterator/iter_value_t.html">iter_value_t</span></span><span class="o">&lt;</span><span class="n">I</span><span class="o">&gt;</span><span class="p">(</span><span class="o">*</span><span class="n">first</span><span class="p">),</span> <span class="n">f</span><span class="p">));</span>
341341

342342
<span class="k">if</span> <span class="p">(</span><span class="n">first</span> <span class="o">==</span> <span class="n">last</span><span class="p">)</span> <span class="p">{</span>
343343
<span class="k">return</span> <span class="n">optional</span><span class="o">&lt;</span><span class="n">U</span><span class="o">&gt;</span><span class="p">();</span>

0 commit comments

Comments
 (0)