Skip to content

Commit d0bf686

Browse files
author
cpprefjp-autoupdate
committed
update automatically
1 parent 22bbbb9 commit d0bf686

File tree

4 files changed

+419
-549
lines changed

4 files changed

+419
-549
lines changed

reference/algorithm/fill.html

Lines changed: 85 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@
6868

6969
</head>
7070
<body>
71-
<header data-kunai-mdinfo="{&#34;meta&#34;: {&#34;header&#34;: [&#34;algorithm&#34;], &#34;namespace&#34;: [&#34;std&#34;], &#34;id-type&#34;: [&#34;function template&#34;]}, &#34;sources&#34;: [{&#34;id&#34;: &#34;3196eee14b0d849eb2143181a869c1426d718d85&#34;, &#34;source&#34;: &#34;#include &lt;algorithm&gt;\n#include &lt;iostream&gt;\n#include &lt;vector&gt;\n\nint main() {\n std::vector&lt;int&gt; v(5);\n\n // v \u3092 3 \u306e\u5024\u3067\u57cb\u3081\u308b\n std::fill(v.begin(), v.end(), 3);\n\n std::for_each(v.begin(), v.end(), [](int x) { std::cout &lt;&lt; x &lt;&lt; \&#34;,\&#34;; });\n}\n&#34;}], &#34;page_id&#34;: [&#34;reference&#34;, &#34;algorithm&#34;, &#34;fill&#34;]}">
71+
<header data-kunai-mdinfo="{&#34;meta&#34;: {&#34;header&#34;: [&#34;algorithm&#34;], &#34;namespace&#34;: [&#34;std&#34;], &#34;id-type&#34;: [&#34;function template&#34;]}, &#34;sources&#34;: [{&#34;id&#34;: &#34;3196eee14b0d849eb2143181a869c1426d718d85&#34;, &#34;source&#34;: &#34;#include &lt;algorithm&gt;\n#include &lt;iostream&gt;\n#include &lt;vector&gt;\n\nint main() {\n std::vector&lt;int&gt; v(5);\n\n // v \u3092 3 \u306e\u5024\u3067\u57cb\u3081\u308b\n std::fill(v.begin(), v.end(), 3);\n\n std::for_each(v.begin(), v.end(), [](int x) { std::cout &lt;&lt; x &lt;&lt; \&#34;,\&#34;; });\n}\n&#34;}, {&#34;id&#34;: &#34;3d05b60ba3e6ba9ba0b176b9f9e3b89f7dfcf9f1&#34;, &#34;source&#34;: &#34;#include &lt;algorithm&gt;\n#include &lt;iostream&gt;\n#include &lt;vector&gt;\n\nstruct Point {\n int x;\n int y;\n\n bool operator==(const Point&amp; other) const = default;\n};\n\nint main() {\n std::vector&lt;Point&gt; v(5);\n\n std::fill(v.begin(), v.end(), {1, 2});\n\n for (const Point&amp; p : v) {\n std::cout &lt;&lt; p.x &lt;&lt; \&#34;,\&#34; &lt;&lt; p.y &lt;&lt; std::endl;\n }\n}\n&#34;}], &#34;page_id&#34;: [&#34;reference&#34;, &#34;algorithm&#34;, &#34;fill&#34;]}">
7272
<nav class="navbar navbar-default" role="navigation">
7373
<div class="container-fluid">
7474
<div class="navbar-header">
@@ -188,8 +188,8 @@
188188

189189
<p class="text-right"><small>
190190
最終更新日時(UTC):
191-
<span itemprop="datePublished" content="2022-12-27T15:47:26">
192-
2022年12月27日 15時47分26秒
191+
<span itemprop="datePublished" content="2025-05-26T09:30:02">
192+
2025年05月26日 09時30分02秒
193193
</span>
194194
<br/>
195195
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
@@ -214,34 +214,66 @@
214214

215215
<div class="identifier-type">function template</div><div class="header">&lt;algorithm&gt;</div><h1 itemprop="name"><span class="namespace" title="namespace std">std::</span><span class="token">fill</span></h1>
216216
<div itemprop="articleBody"><p><div class="codehilite"><pre><span></span><code><span class="k">namespace</span> <span class="n">std</span> <span class="p">{</span>
217-
<span class="k">template</span> <span class="o">&lt;</span><span class="k">class</span> <span class="nc">ForwardIterator</span><span class="p">,</span> <span class="k">class</span> <span class="nc">T</span><span class="o">&gt;</span>
218-
<span class="kt">void</span> <span class="n">fill</span><span class="p">(</span><span class="n">ForwardIterator</span> <span class="n">first</span><span class="p">,</span>
219-
<span class="n">ForwardIterator</span> <span class="n">last</span><span class="p">,</span>
220-
<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="c1">// (1) C++03</span>
221-
222-
<span class="k">template</span> <span class="o">&lt;</span><span class="k">class</span> <span class="nc">ForwardIterator</span><span class="p">,</span> <span class="k">class</span> <span class="nc">T</span><span class="o">&gt;</span>
223-
<span class="k">constexpr</span> <span class="kt">void</span> <span class="n">fill</span><span class="p">(</span><span class="n">ForwardIterator</span> <span class="n">first</span><span class="p">,</span>
224-
<span class="n">ForwardIterator</span> <span class="n">last</span><span class="p">,</span>
225-
<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="c1">// (1) C++20</span>
217+
<span class="k">template</span> <span class="o">&lt;</span><span class="k">class</span> <span class="nc">ForwardIterator</span><span class="p">,</span>
218+
<span class="k">class</span> <span class="nc">T</span><span class="o">&gt;</span>
219+
<span class="kt">void</span>
220+
<span class="n">fill</span><span class="p">(</span><span class="n">ForwardIterator</span> <span class="n">first</span><span class="p">,</span>
221+
<span class="n">ForwardIterator</span> <span class="n">last</span><span class="p">,</span>
222+
<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="c1">// (1) C++03</span>
223+
<span class="k">template</span> <span class="o">&lt;</span><span class="k">class</span> <span class="nc">ForwardIterator</span><span class="p">,</span>
224+
<span class="k">class</span> <span class="nc">T</span><span class="o">&gt;</span>
225+
<span class="k">constexpr</span> <span class="kt">void</span>
226+
<span class="n">fill</span><span class="p">(</span><span class="n">ForwardIterator</span> <span class="n">first</span><span class="p">,</span>
227+
<span class="n">ForwardIterator</span> <span class="n">last</span><span class="p">,</span>
228+
<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="c1">// (1) C++20</span>
229+
<span class="k">template</span> <span class="o">&lt;</span><span class="k">class</span> <span class="nc">ForwardIterator</span><span class="p">,</span>
230+
<span class="k">class</span> <span class="nc">T</span> <span class="o">=</span> <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">ForwardIterator</span><span class="o">&gt;::</span><span class="n">value_type</span><span class="o">&gt;</span>
231+
<span class="k">constexpr</span> <span class="kt">void</span>
232+
<span class="n">fill</span><span class="p">(</span><span class="n">ForwardIterator</span> <span class="n">first</span><span class="p">,</span>
233+
<span class="n">ForwardIterator</span> <span class="n">last</span><span class="p">,</span>
234+
<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="c1">// (1) C++20</span>
226235

227-
<span class="k">template</span> <span class="o">&lt;</span><span class="k">class</span> <span class="nc"><a href="../execution/execution/execution_policy.html">ExecutionPolicy</a></span><span class="p">,</span> <span class="k">class</span> <span class="nc">ForwardIterator</span><span class="p">,</span>
236+
<span class="k">template</span> <span class="o">&lt;</span><span class="k">class</span> <span class="nc"><a href="../execution/execution/execution_policy.html">ExecutionPolicy</a></span><span class="p">,</span>
237+
<span class="k">class</span> <span class="nc">ForwardIterator</span><span class="p">,</span>
228238
<span class="k">class</span> <span class="nc">T</span><span class="o">&gt;</span>
229-
<span class="kt">void</span> <span class="n">fill</span><span class="p">(</span><span class="n"><a href="../execution/execution/execution_policy.html">ExecutionPolicy</a></span><span class="o">&amp;&amp;</span> <span class="n">exec</span><span class="p">,</span>
230-
<span class="n">ForwardIterator</span> <span class="n">first</span><span class="p">,</span>
231-
<span class="n">ForwardIterator</span> <span class="n">last</span><span class="p">,</span>
232-
<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="c1">// (2) C++17</span>
239+
<span class="kt">void</span>
240+
<span class="n">fill</span><span class="p">(</span><span class="n"><a href="../execution/execution/execution_policy.html">ExecutionPolicy</a></span><span class="o">&amp;&amp;</span> <span class="n">exec</span><span class="p">,</span>
241+
<span class="n">ForwardIterator</span> <span class="n">first</span><span class="p">,</span>
242+
<span class="n">ForwardIterator</span> <span class="n">last</span><span class="p">,</span>
243+
<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="c1">// (2) C++17</span>
244+
<span class="k">template</span> <span class="o">&lt;</span><span class="k">class</span> <span class="nc"><a href="../execution/execution/execution_policy.html">ExecutionPolicy</a></span><span class="p">,</span>
245+
<span class="k">class</span> <span class="nc">ForwardIterator</span><span class="p">,</span>
246+
<span class="k">class</span> <span class="nc">T</span> <span class="o">=</span> <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">ForwardIterator</span><span class="o">&gt;::</span><span class="n">value_type</span><span class="o">&gt;</span>
247+
<span class="kt">void</span>
248+
<span class="n">fill</span><span class="p">(</span><span class="n"><a href="../execution/execution/execution_policy.html">ExecutionPolicy</a></span><span class="o">&amp;&amp;</span> <span class="n">exec</span><span class="p">,</span>
249+
<span class="n">ForwardIterator</span> <span class="n">first</span><span class="p">,</span>
250+
<span class="n">ForwardIterator</span> <span class="n">last</span><span class="p">,</span>
251+
<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="c1">// (2) C++26</span>
233252
<span class="p">}</span>
234253
</code></pre></div>
235254
</p>
236255
<h2>概要</h2>
237256
<p><a class="cpprefjp-defined-word" data-desc="2つのイテレータで表現される半開区間を表す。C++20からイテレータと番兵で異なる型であっても指定可能になる">イテレータ範囲</a><code>[first, last)</code>のすべての要素に指定された値を書き込む。</p>
238-
<h2>要件</h2>
257+
<h2><a class="cpprefjp-defined-word" data-desc="関数等の意味論を構成する要素の1つ。Mandates。満たさなければプログラムが不適格となる要件。この要件は、オーバーロード解決によって選択された関数内での`static_assert`の定数条件式や、関数に対するdelete宣言などで表現できる">適格要件</a></h2>
239258
<p><code>value</code><code>output iterator</code> へ書き込み可能でなければならない</p>
240259
<h2>効果</h2>
241260
<p><code>[first,last)</code> 内の全ての要素に <code>value</code> を代入する</p>
242261
<h2><a class="cpprefjp-defined-word" data-desc="関数等の意味論を構成する要素の1つ。Complexity。関数が使うアルゴリズムの空間計算量・時間計算量">計算量</a></h2>
243262
<p>正確に <code>last - first</code> 回の代入を行う</p>
263+
<h2>備考</h2>
264+
<ul>
265+
<li>(1), (2) :<ul>
266+
<li>C++26 : 引数として波カッコ初期化<code>{}</code>を受け付ける
267+
<br />
268+
<div class="codehilite"><pre><span></span><code><span class="n"><a href="../vector/vector.html">std::vector</a></span><span class="o">&lt;</span><span class="n">T</span><span class="o">&gt;</span> <span class="n">v</span><span class="p">;</span>
269+
<span class="n">std</span><span class="o">::</span><span class="n">fill</span><span class="p">(</span><span class="n"><a href="../vector/vector/begin.html">v.begin()</a></span><span class="p">,</span> <span class="n"><a href="../vector/vector/end.html">v.end()</a></span><span class="p">,</span> <span class="p">{</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">});</span>
270+
</code></pre></div>
271+
</li>
272+
</ul>
273+
</li>
274+
</ul>
244275
<h2></h2>
276+
<h3>基本的な使い方</h3>
245277
<p><div class="yata" id="3196eee14b0d849eb2143181a869c1426d718d85"><div class="codehilite"><pre><span></span><code><span class="cp">#include</span> <span class="cpf"><a href="../algorithm.html">&lt;algorithm&gt;</a></span><span class="cp"></span>
246278
<span class="cp">#include</span> <span class="cpf"><a href="../iostream.html">&lt;iostream&gt;</a></span><span class="cp"></span>
247279
<span class="cp">#include</span> <span class="cpf"><a href="../vector.html">&lt;vector&gt;</a></span><span class="cp"></span>
@@ -256,9 +288,39 @@ <h2>例</h2>
256288
<span class="p">}</span>
257289
</code></pre></div>
258290
</div></p>
259-
<h3>出力</h3>
291+
<h4>出力</h4>
260292
<p><pre><code>3,3,3,3,3,
261293
</code></pre></p>
294+
<h3>波カッコ初期化を入力として使用する (C++26)</h3>
295+
<p><div class="yata" id="3d05b60ba3e6ba9ba0b176b9f9e3b89f7dfcf9f1"><div class="codehilite"><pre><span></span><code><span class="cp">#include</span> <span class="cpf"><a href="../algorithm.html">&lt;algorithm&gt;</a></span><span class="cp"></span>
296+
<span class="cp">#include</span> <span class="cpf"><a href="../iostream.html">&lt;iostream&gt;</a></span><span class="cp"></span>
297+
<span class="cp">#include</span> <span class="cpf"><a href="../vector.html">&lt;vector&gt;</a></span><span class="cp"></span>
298+
299+
<span class="k">struct</span> <span class="n">Point</span> <span class="p">{</span>
300+
<span class="kt">int</span> <span class="n">x</span><span class="p">;</span>
301+
<span class="kt">int</span> <span class="n">y</span><span class="p">;</span>
302+
303+
<span class="kt">bool</span> <span class="k">operator</span><span class="o">==</span><span class="p">(</span><span class="k">const</span> <span class="n">Point</span><span class="o">&amp;</span> <span class="n">other</span><span class="p">)</span> <span class="k">const</span> <span class="o">=</span> <span class="k">default</span><span class="p">;</span>
304+
<span class="p">};</span>
305+
306+
<span class="kt">int</span> <span class="nf">main</span><span class="p">()</span> <span class="p">{</span>
307+
<span class="n"><a href="../vector/vector.html">std::vector</a></span><span class="o">&lt;</span><span class="n">Point</span><span class="o">&gt;</span> <span class="n">v</span><span class="p">(</span><span class="mi">5</span><span class="p">);</span>
308+
309+
<span class="n"><span style="color:#ff0000">std::fill</span></span><span class="p">(</span><span class="n"><a href="../vector/vector/begin.html">v.begin()</a></span><span class="p">,</span> <span class="n"><a href="../vector/vector/end.html">v.end()</a></span><span class="p">,</span> <span class="p">{</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">});</span>
310+
311+
<span class="k">for</span> <span class="p">(</span><span class="k">const</span> <span class="n">Point</span><span class="o">&amp;</span> <span class="nl">p</span> <span class="p">:</span> <span class="n">v</span><span class="p">)</span> <span class="p">{</span>
312+
<span class="n"><a href="../iostream/cout.html">std::cout</a></span> <span class="o">&lt;&lt;</span> <span class="n">p</span><span class="p">.</span><span class="n">x</span> <span class="o">&lt;&lt;</span> <span class="s">","</span> <span class="o">&lt;&lt;</span> <span class="n">p</span><span class="p">.</span><span class="n">y</span> <span class="o">&lt;&lt;</span> <span class="n"><a href="../ostream/endl.html">std::endl</a></span><span class="p">;</span>
313+
<span class="p">}</span>
314+
<span class="p">}</span>
315+
</code></pre></div>
316+
</div></p>
317+
<h4>出力</h4>
318+
<p><pre><code>1,2
319+
1,2
320+
1,2
321+
1,2
322+
1,2
323+
</code></pre></p>
262324
<h2>実装例</h2>
263325
<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">ForwardIterator</span><span class="p">,</span> <span class="k">class</span> <span class="nc">T</span><span class="o">&gt;</span>
264326
<span class="kt">void</span> <span class="n">fill</span><span class="p">(</span><span class="n">ForwardIterator</span> <span class="n">first</span><span class="p">,</span> <span class="n">ForwardIterator</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>
@@ -270,6 +332,10 @@ <h2>実装例</h2>
270332
<h2>参照</h2>
271333
<ul>
272334
<li><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0202r3.html" target="_blank">P0202R3 Add Constexpr Modifiers to Functions in <code>&lt;algorithm&gt;</code> and <code>&lt;utility&gt;</code> Headers</a></li>
335+
<li><a href="https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2248r8.html" target="_blank">P2248R8 Enabling list-initialization for algorithms</a><ul>
336+
<li>C++26で波カッコ初期化 (リスト初期化) に対応した</li>
337+
</ul>
338+
</li>
273339
</ul></div>
274340

275341
</div>

0 commit comments

Comments
 (0)