Skip to content

Commit d178ce1

Browse files
author
cpprefjp-autoupdate
committed
update automatically
1 parent 7c16368 commit d178ce1

File tree

4 files changed

+165
-175
lines changed

4 files changed

+165
-175
lines changed

reference/chrono/make24.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,7 @@ <h2>例</h2>
239239
<span class="n"><a href="../cassert/assert.html">assert</a></span><span class="p">(</span><span class="n"><span style="color:#ff0000">chrono::make24</span></span><span class="p">(</span><span class="n"><a href="duration/op_h.html">12h</a></span><span class="p">,</span> <span class="nb">false</span><span class="p">)</span> <span class="o">==</span> <span class="n"><a href="duration/op_h.html">0h</a></span><span class="p">);</span>
240240

241241
<span class="n"><a href="../cassert/assert.html">assert</a></span><span class="p">(</span><span class="n"><span style="color:#ff0000">chrono::make24</span></span><span class="p">(</span><span class="n"><a href="duration/op_h.html">12h</a></span><span class="p">,</span> <span class="nb">true</span><span class="p">)</span> <span class="o">==</span> <span class="n"><a href="duration/op_h.html">12h</a></span><span class="p">);</span>
242-
<span class="n"><a href="../cassert/assert.html">assert</a></span><span class="p">(</span><span class="n"><span style="color:#ff0000">chrono::make24</span></span><span class="p">(</span><span class="n"><a href="duration/op_h.html">1h</a></span><span class="p">,</span> <span class="nb">true</span><span class="p">)</span> <span class="o">==</span> <span class="mi">1</span><span class="n"><a href="duration/op_h.html">3h</a></span><span class="p">);</span>
242+
<span class="n"><a href="../cassert/assert.html">assert</a></span><span class="p">(</span><span class="n"><span style="color:#ff0000">chrono::make24</span></span><span class="p">(</span><span class="n"><a href="duration/op_h.html">1h</a></span><span class="p">,</span> <span class="nb">true</span><span class="p">)</span> <span class="o">==</span> <span class="mi">1L</span><span class="n">nZtJQqvtklcsALIiBYyMVSMpRCIhhXI</span><span class="p">);</span>
243243
<span class="n"><a href="../cassert/assert.html">assert</a></span><span class="p">(</span><span class="n"><span style="color:#ff0000">chrono::make24</span></span><span class="p">(</span><span class="n"><a href="duration/op_h.html">3h</a></span><span class="p">,</span> <span class="nb">true</span><span class="p">)</span> <span class="o">==</span> <span class="n"><a href="duration/op_h.html">15h</a></span><span class="p">);</span>
244244
<span class="n"><a href="../cassert/assert.html">assert</a></span><span class="p">(</span><span class="n"><span style="color:#ff0000">chrono::make24</span></span><span class="p">(</span><span class="n"><a href="duration/op_h.html">11h</a></span><span class="p">,</span> <span class="nb">true</span><span class="p">)</span> <span class="o">==</span> <span class="n"><a href="duration/op_h.html">23h</a></span><span class="p">);</span>
245245
<span class="p">}</span>

reference/functional/function/op_constructor.html

Lines changed: 64 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,11 @@
2828
<meta property="og:url" content="https://cpprefjp.github.io/reference/functional/function/op_constructor.html" />
2929
<meta property="og:site_name" content="cpprefjp - C++日本語リファレンス" />
3030
<meta property="og:type" content="article" />
31-
<meta property="og:description" content="function&amp;lt;functional&amp;gt;std::function::コンストラクタ(C++11) function() noexcept; // (1) function(nullptr_t) noexcept; // (2) function(const function&amp;amp; f); // (3) function(function&amp;amp;&amp;amp; " />
31+
<meta property="og:description" content="`function`オブジェクトを構築する。" />
3232
<meta name="twitter:card" content="summary" />
3333
<meta name="twitter:title" content="function::コンストラクタ - cpprefjp C++日本語リファレンス" />
3434
<meta name="twitter:url" content="https://cpprefjp.github.io/reference/functional/function/op_constructor.html" />
35-
<meta name="twitter:description" content="function&amp;lt;functional&amp;gt;std::function::コンストラクタ(C++11) function() noexcept; // (1) function(nullptr_t) noexcept; // (2) function(const function&amp;amp; f); // (3) function(function&amp;amp;&amp;amp; " />
35+
<meta name="twitter:description" content="`function`オブジェクトを構築する。" />
3636

3737

3838
<link rel="alternate" type="application/atom+xml" title="Atom" href="https://cpprefjp.github.io/rss.xml" />
@@ -200,12 +200,12 @@
200200

201201
<p class="text-right"><small>
202202
最終更新日時(UTC):
203-
<span itemprop="datePublished" content="2024-11-02T18:25:04">
204-
2024年11月02日 18時25分04秒
203+
<span itemprop="datePublished" content="2024-11-02T19:55:08">
204+
2024年11月02日 19時55分08秒
205205
</span>
206206
<br/>
207207
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
208-
<span itemprop="name">biobios</span>
208+
<span itemprop="name">Akira Takahashi</span>
209209
</span>
210210
が更新
211211
</small></p>
@@ -225,15 +225,17 @@
225225
<div class="col-sm-12 content-body">
226226

227227
<div class="identifier-type">function</div><div class="header">&lt;functional&gt;</div><h1 itemprop="name"><span class="namespace" title="namespace std">std::</span><span class="class" title="class function">function::</span><span class="token">コンストラクタ</span><span class="cpp cpp11" title="C++11で追加">(C++11)</span></h1>
228-
<div itemprop="articleBody"><p><div class="codehilite"><pre><span></span><code><span class="n">function</span><span class="p">()</span> <span class="k">noexcept</span><span class="p">;</span> <span class="c1">// (1)</span>
229-
<span class="n">function</span><span class="p">(</span><span class="n"><a href="../../cstddef/nullptr_t.html">nullptr_t</a></span><span class="p">)</span> <span class="k">noexcept</span><span class="p">;</span> <span class="c1">// (2)</span>
230-
<span class="n">function</span><span class="p">(</span><span class="k">const</span> <span class="n">function</span><span class="o">&amp;</span> <span class="n">f</span><span class="p">);</span> <span class="c1">// (3)</span>
228+
<div itemprop="articleBody"><p><div class="codehilite"><pre><span></span><code><span class="n">function</span><span class="p">()</span> <span class="k">noexcept</span><span class="p">;</span> <span class="c1">// (1) C++11</span>
229+
<span class="n">function</span><span class="p">(</span><span class="n"><a href="../../cstddef/nullptr_t.html">nullptr_t</a></span><span class="p">)</span> <span class="k">noexcept</span><span class="p">;</span> <span class="c1">// (2) C++11</span>
230+
<span class="n">function</span><span class="p">(</span><span class="k">const</span> <span class="n">function</span><span class="o">&amp;</span> <span class="n">f</span><span class="p">);</span> <span class="c1">// (3) C++11</span>
231231

232-
<span class="n">function</span><span class="p">(</span><span class="n">function</span><span class="o">&amp;&amp;</span> <span class="n">f</span><span class="p">);</span> <span class="c1">// (4) C++17まで</span>
232+
<span class="n">function</span><span class="p">(</span><span class="n">function</span><span class="o">&amp;&amp;</span> <span class="n">f</span><span class="p">);</span> <span class="c1">// (4) C++11</span>
233233
<span class="n">function</span><span class="p">(</span><span class="n">function</span><span class="o">&amp;&amp;</span> <span class="n">f</span><span class="p">)</span> <span class="k">noexcept</span><span class="p">;</span> <span class="c1">// (4) C++20</span>
234234

235235
<span class="k">template</span> <span class="o">&lt;</span><span class="k">class</span> <span class="nc">F</span><span class="o">&gt;</span>
236-
<span class="n">function</span><span class="p">(</span><span class="n">F</span><span class="o">&amp;&amp;</span> <span class="n">f</span><span class="p">);</span> <span class="c1">// (5)</span>
236+
<span class="n">function</span><span class="p">(</span><span class="n">F</span> <span class="n">f</span><span class="p">);</span> <span class="c1">// (5) C++11</span>
237+
<span class="k">template</span> <span class="o">&lt;</span><span class="k">class</span> <span class="nc">F</span><span class="o">&gt;</span>
238+
<span class="n">function</span><span class="p">(</span><span class="n">F</span><span class="o">&amp;&amp;</span> <span class="n">f</span><span class="p">);</span> <span class="c1">// (5) C++23</span>
237239

238240
<span class="k">template</span> <span class="o">&lt;</span><span class="k">class</span> <span class="nc">Alloc</span><span class="o">&gt;</span>
239241
<span class="n">function</span><span class="p">(</span><span class="n"><a href="../../memory/allocator_arg_t.html">allocator_arg_t</a></span><span class="p">,</span> <span class="k">const</span> <span class="n">Alloc</span><span class="o">&amp;</span> <span class="n">alloc</span><span class="p">)</span> <span class="k">noexcept</span><span class="p">;</span> <span class="c1">// (6) C++17で削除</span>
@@ -251,12 +253,55 @@
251253
<span class="n">function</span><span class="p">(</span><span class="n"><a href="../../memory/allocator_arg_t.html">allocator_arg_t</a></span><span class="p">,</span> <span class="k">const</span> <span class="n">Alloc</span><span class="o">&amp;</span> <span class="n">alloc</span><span class="p">,</span> <span class="n">F</span> <span class="n">f</span><span class="p">);</span> <span class="c1">// (10) C++17で削除</span>
252254
</code></pre></div>
253255
</p>
254-
<h2>要件</h2>
256+
<h2>概要</h2>
257+
<p><code>function</code>オブジェクトを構築する。</p>
258+
<ul>
259+
<li>(1) : <a class="cpprefjp-defined-word" data-desc="デフォルト初期化。`T x;`構文での初期化。トリビアルにデフォルト構築可能な型の場合は初期化されず(オブジェクトのlifetimeは開始される)、そうではないクラス型はデフォルトコンストラクタで初期化する。配列型の場合は各要素が再帰的にデフォルト初期化される">デフォルト構築</a>。空の<code>function</code>オブジェクトを構築する</li>
260+
<li>(2) : <code>nullptr</code>からの構築。空の<code>function</code>オブジェクトを構築する</li>
261+
<li>(3) : コピー構築する</li>
262+
<li>(4) : ムーブ構築する</li>
263+
<li>(5) : 任意の型の関数ポインタ、メンバポインタ、関数オブジェクトを受け取って構築する</li>
264+
<li>(6) : アロケータをとって空の<code>function</code>オブジェクトを構築する</li>
265+
<li>(7) : アロケータと<code>nullptr</code>をとって空の<code>function</code>オブジェクトを構築する</li>
266+
<li>(8) : アロケータをとってコピー構築する</li>
267+
<li>(9) : アロケータをとってムーブ構築する</li>
268+
<li>(10) : アロケータと、任意の型の関数ポインタ、メンバポインタ、関数オブジェクトを受け取って構築する</li>
269+
</ul>
270+
<h2><a class="cpprefjp-defined-word" data-desc="関数であればオーバーロード解決に参加するための条件、それ以外であれば受け付ける型の条件">テンプレートパラメータ制約</a></h2>
271+
<p><code><a href="../../type_traits/decay.html">decay_t</a>&lt;F&gt;</code><code>FD</code>として、</p>
255272
<ul>
256-
<li>(5), (10) :<ul>
257-
<li><code>F</code>はコピー構築可能であること。</li>
258-
<li><code>F</code>のコピーコンストラクタとデストラクタは、例外を投げるべきではない。</li>
259-
<li>C++11まで : <code>F</code>は、パラメータとして<code>ArgTypes...</code>型をとり、戻り値として<code>R</code>型を返す関数ポインタ、メンバ関数ポインタ、メンバ変数ポインタ、または関数オブジェクトであること。</li>
273+
<li>(5) :<ul>
274+
<li>C++11<ul>
275+
<li><code>F</code>は、パラメータとして<code>ArgTypes...</code>型をとり、戻り値として<code>R</code>型を返す関数ポインタ、メンバ関数ポインタ、メンバ変数ポインタ、または関数オブジェクトであること</li>
276+
</ul>
277+
</li>
278+
<li>C++23<ul>
279+
<li><code>F</code><code>function</code>ではないこと</li>
280+
<li><code>FD</code>は、パラメータとして<code>ArgTypes...</code>型をとり、戻り値として<code>R</code>型を返す関数ポインタ、メンバ関数ポインタ、メンバ変数ポインタ、または関数オブジェクトであること</li>
281+
</ul>
282+
</li>
283+
</ul>
284+
</li>
285+
<li>(10) :<ul>
286+
<li><code>F</code>はコピー構築可能であること</li>
287+
<li><code>F</code>のコピーコンストラクタとデストラクタは、例外を投げるべきではない</li>
288+
<li><code>F</code>は、パラメータとして<code>ArgTypes...</code>型をとり、戻り値として<code>R</code>型を返す関数ポインタ、メンバ関数ポインタ、メンバ変数ポインタ、または関数オブジェクトであること</li>
289+
</ul>
290+
</li>
291+
</ul>
292+
<h2><a class="cpprefjp-defined-word" data-desc="満たさなければプログラムが不適格となる要件。`static_assert`や関数のdelete宣言などに相当する">適格要件</a></h2>
293+
<ul>
294+
<li>(5) :<ul>
295+
<li>C++11<ul>
296+
<li><code>F</code>はコピー構築可能であること</li>
297+
<li><code>F</code>は、パラメータとして<code>ArgTypes...</code>型をとり、戻り値として<code>R</code>型を返す関数ポインタ、メンバ関数ポインタ、メンバ変数ポインタ、または関数オブジェクトであること。</li>
298+
</ul>
299+
</li>
300+
<li>C++23<ul>
301+
<li><code>FD</code>はコピー構築可能であること</li>
302+
<li><code>FD</code><code>F</code>から構築可能であること</li>
303+
</ul>
304+
</li>
260305
</ul>
261306
</li>
262307
</ul>
@@ -460,6 +505,10 @@ <h2>参照</h2>
460505
</li>
461506
<li><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0302r1.html" target="_blank">P0302R1 Removing Allocator Support in <code>std::function</code> (rev 1)</a></li>
462507
<li><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0771r1.pdf" target="_blank">P0771R1 std::function move constructor should be noexcept</a></li>
508+
<li><a href="https://cplusplus.github.io/LWG/issue2774" target="_blank">LWG Issue 2774. <code>std::function</code> construction vs assignment</a><ul>
509+
<li>C++23から、<code>function(F)</code>のオーバーロードが<code>function(F&amp;&amp;)</code>に変更された</li>
510+
</ul>
511+
</li>
463512
</ul></div>
464513

465514
</div>

0 commit comments

Comments
 (0)