Skip to content

Commit 2e0965d

Browse files
author
cpprefjp-autoupdate
committed
update automatically
1 parent c6b2833 commit 2e0965d

File tree

6 files changed

+421
-447
lines changed

6 files changed

+421
-447
lines changed

reference/queue/priority_queue/op_constructor.html

Lines changed: 78 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -200,12 +200,12 @@
200200

201201
<p class="text-right"><small>
202202
最終更新日時(UTC):
203-
<span itemprop="datePublished" content="2024-06-11T13:45:38">
204-
2024年06月11日 13時45分38秒
203+
<span itemprop="datePublished" content="2024-07-28T08:03:20">
204+
2024年07月28日 08時03分20秒
205205
</span>
206206
<br/>
207207
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
208-
<span itemprop="name">Akira Takahashi</span>
208+
<span itemprop="name">suomesta</span>
209209
</span>
210210
が更新
211211
</small></p>
@@ -282,6 +282,36 @@
282282
<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>
283283
<span class="n">priority_queue</span><span class="p">(</span><span class="n">priority_queue</span><span class="o">&amp;&amp;</span> <span class="n">que</span><span class="p">,</span>
284284
<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="c1">// (14) C++11</span>
285+
286+
<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">Alloc</span><span class="o">&gt;</span>
287+
<span class="n">priority_queue</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>
288+
<span class="k">const</span> <span class="n">Compare</span><span class="o">&amp;</span> <span class="n">x</span><span class="p">,</span>
289+
<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="c1">// (15) C++23</span>
290+
291+
<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">Alloc</span><span class="o">&gt;</span>
292+
<span class="n">priority_queue</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>
293+
<span class="k">const</span> <span class="n">Compare</span><span class="o">&amp;</span> <span class="n">x</span><span class="p">,</span>
294+
<span class="k">const</span> <span class="n">Container</span><span class="o">&amp;</span> <span class="n">other</span><span class="p">,</span>
295+
<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="c1">// (16) C++23</span>
296+
297+
<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">Alloc</span><span class="o">&gt;</span>
298+
<span class="n">priority_queue</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>
299+
<span class="k">const</span> <span class="n">Compare</span><span class="o">&amp;</span> <span class="n">x</span><span class="p">,</span>
300+
<span class="n">Container</span><span class="o">&amp;&amp;</span> <span class="n">other</span><span class="p">,</span>
301+
<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="c1">// (17) C++23</span>
302+
303+
<span class="k">template</span> <span class="o">&lt;</span><span class="n">container</span><span class="o">-</span><span class="n">compatible</span><span class="o">-</span><span class="n"><a href="../../ranges/range.html">range</a></span><span class="o">&lt;</span><span class="n">T</span><span class="o">&gt;</span> <span class="n">R</span><span class="o">&gt;</span>
304+
<span class="n">priority_queue</span><span class="p">(</span><span class="n"><a href="../../ranges/from_range_t.html">from_range_t</a></span><span class="p">,</span> <span class="n">R</span><span class="o">&amp;&amp;</span> <span class="n">rg</span><span class="p">,</span>
305+
<span class="k">const</span> <span class="n">Compare</span><span class="o">&amp;</span> <span class="n">x</span> <span class="o">=</span> <span class="n">Compare</span><span class="p">());</span> <span class="c1">// (18) C++23</span>
306+
307+
<span class="k">template</span> <span class="o">&lt;</span><span class="n">container</span><span class="o">-</span><span class="n">compatible</span><span class="o">-</span><span class="n"><a href="../../ranges/range.html">range</a></span><span class="o">&lt;</span><span class="n">T</span><span class="o">&gt;</span> <span class="n">R</span><span class="p">,</span> <span class="k">class</span> <span class="nc">Alloc</span><span class="o">&gt;</span>
308+
<span class="n">priority_queue</span><span class="p">(</span><span class="n"><a href="../../ranges/from_range_t.html">from_range_t</a></span><span class="p">,</span> <span class="n">R</span><span class="o">&amp;&amp;</span> <span class="n">rg</span><span class="p">,</span>
309+
<span class="k">const</span> <span class="n">Compare</span><span class="o">&amp;</span> <span class="n">x</span><span class="p">,</span>
310+
<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="c1">// (19) C++23</span>
311+
312+
<span class="k">template</span> <span class="o">&lt;</span><span class="n">container</span><span class="o">-</span><span class="n">compatible</span><span class="o">-</span><span class="n"><a href="../../ranges/range.html">range</a></span><span class="o">&lt;</span><span class="n">T</span><span class="o">&gt;</span> <span class="n">R</span><span class="p">,</span> <span class="k">class</span> <span class="nc">Alloc</span><span class="o">&gt;</span>
313+
<span class="n">priority_queue</span><span class="p">(</span><span class="n"><a href="../../ranges/from_range_t.html">from_range_t</a></span><span class="p">,</span> <span class="n">R</span><span class="o">&amp;&amp;</span> <span class="n">rg</span><span class="p">,</span>
314+
<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="c1">// (20) C++23</span>
285315
</code></pre></div>
286316
</p>
287317
<h2>概要</h2>
@@ -303,6 +333,8 @@ <h2>概要</h2>
303333
<li>(12) : 比較関数、元となるコンテナの一時オブジェクト、アロケータを受け取るコンストラクタ</li>
304334
<li>(13) : アロケータ指定でコピー構築する</li>
305335
<li>(14) : アロケータ指定でムーブ構築する</li>
336+
<li>(15), (16), (17) : アロケータ指定で<a class="cpprefjp-defined-word" data-desc="2つのイテレータで表現される半開区間を表す。C++20からイテレータと番兵で異なる型であっても指定可能になる">イテレータ範囲</a>から優先順位付きキューを構築する</li>
337+
<li>(18), (19), (20) : Rangeから優先順位付きキューを構築する</li>
306338
</ul>
307339
<h2>要件</h2>
308340
<p><code>Compare</code>型パラメータ<code>x</code>が、<a href="../../algorithm.html#strict-weak-ordering">狭義の弱順序</a>で定義されていること。</p>
@@ -392,6 +424,49 @@ <h2>効果</h2>
392424
<li><code><a href="../../algorithm/make_heap.html">make_heap</a>(c.begin(), c.end(), comp)</code>を呼び出す。</li>
393425
</ol>
394426
</li>
427+
<li>(15) :<ol>
428+
<li>メンバ変数<code>comp</code><code>x</code>でコピー構築する。</li>
429+
<li>メンバ変数<code>c</code>のメモリアロケートに<code>alloc</code>を使用する。</li>
430+
<li><code>c.insert(c.end(), first, last)</code>を呼び出す。</li>
431+
<li><code><a href="../../algorithm/make_heap.html">make_heap</a>(c.begin(), c.end(), comp)</code>を呼び出す。</li>
432+
</ol>
433+
</li>
434+
<li>(16) :<ol>
435+
<li>メンバ変数<code>comp</code><code>x</code>でコピー構築する。</li>
436+
<li>メンバ変数<code>c</code><code>other</code>でコピー構築する。</li>
437+
<li>メンバ変数<code>c</code>のメモリアロケートに<code>alloc</code>を使用する。</li>
438+
<li><code>c.insert(c.end(), first, last)</code>を呼び出す。</li>
439+
<li><code><a href="../../algorithm/make_heap.html">make_heap</a>(c.begin(), c.end(), comp)</code>を呼び出す。</li>
440+
</ol>
441+
</li>
442+
<li>(17) :<ol>
443+
<li>メンバ変数<code>comp</code><code>x</code>でコピー構築する。</li>
444+
<li>メンバ変数<code>c</code><code>other</code>でムーブ構築する。</li>
445+
<li>メンバ変数<code>c</code>のメモリアロケートに<code>alloc</code>を使用する。</li>
446+
<li><code>c.insert(c.end(), first, last)</code>を呼び出す。</li>
447+
<li><code><a href="../../algorithm/make_heap.html">make_heap</a>(c.begin(), c.end(), comp)</code>を呼び出す。</li>
448+
</ol>
449+
</li>
450+
<li>(18) :<ol>
451+
<li>メンバ変数<code>comp</code><code>x</code>でコピー構築する。</li>
452+
<li><code>c.insert(c.end(), ranges::begin(rg), ranges::end(rg))</code>を呼び出す。</li>
453+
<li><code><a href="../../algorithm/make_heap.html">make_heap</a>(c.begin(), c.end(), comp)</code>を呼び出す。</li>
454+
</ol>
455+
</li>
456+
<li>(19) :<ol>
457+
<li>メンバ変数<code>comp</code><code>x</code>でコピー構築する。</li>
458+
<li>メンバ変数<code>c</code>のメモリアロケートに<code>alloc</code>を使用する。</li>
459+
<li><code>c.insert(c.end(), ranges::begin(rg), ranges::end(rg))</code>を呼び出す。</li>
460+
<li><code><a href="../../algorithm/make_heap.html">make_heap</a>(c.begin(), c.end(), comp)</code>を呼び出す。</li>
461+
</ol>
462+
</li>
463+
<li>(20) :<ol>
464+
<li>メンバ変数<code>comp</code><a class="cpprefjp-defined-word" data-desc="`T x{};`構文での初期化。組み込み型の場合はゼロ相当の値で、クラス型の場合はデフォルトコンストラクタで初期化する。配列型の場合は各要素が再帰的に値初期化される">値初期化</a>する。</li>
465+
<li>メンバ変数<code>c</code>のメモリアロケートに<code>alloc</code>を使用する。</li>
466+
<li><code>c.insert(c.end(), ranges::begin(rg), ranges::end(rg))</code>を呼び出す。</li>
467+
<li><code><a href="../../algorithm/make_heap.html">make_heap</a>(c.begin(), c.end(), comp)</code>を呼び出す。</li>
468+
</ol>
469+
</li>
395470
</ul>
396471
<h2></h2>
397472
<p><div class="yata" id="e985ff0fc56ce4141a6aeaa8be359a6e7aef8a00"><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>

reference/queue/queue/op_constructor.html

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

201201
<p class="text-right"><small>
202202
最終更新日時(UTC):
203-
<span itemprop="datePublished" content="2021-08-26T08:40:52">
204-
2021年08月26日 08時40分52秒
203+
<span itemprop="datePublished" content="2024-07-28T08:03:20">
204+
2024年07月28日 08時03分20秒
205205
</span>
206206
<br/>
207207
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
208-
<span itemprop="name">onihusube</span>
208+
<span itemprop="name">suomesta</span>
209209
</span>
210210
が更新
211211
</small></p>
@@ -253,6 +253,11 @@
253253

254254
<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">Alloc</span><span class="o">&gt;</span>
255255
<span class="n">queue</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">Alloc</span><span class="o">&amp;</span><span class="p">);</span> <span class="c1">// (10) C++23</span>
256+
257+
<span class="k">template</span> <span class="o">&lt;</span><span class="n">container</span><span class="o">-</span><span class="n">compatible</span><span class="o">-</span><span class="n"><a href="../../ranges/range.html">range</a></span><span class="o">&lt;</span><span class="n">T</span><span class="o">&gt;</span> <span class="n">R</span><span class="o">&gt;</span>
258+
<span class="n">queue</span><span class="p">(</span><span class="n"><a href="../../ranges/from_range_t.html">from_range_t</a></span><span class="p">,</span> <span class="n">R</span><span class="o">&amp;&amp;</span> <span class="n">rg</span><span class="p">);</span> <span class="c1">// (11) C++23</span>
259+
<span class="k">template</span> <span class="o">&lt;</span><span class="n">container</span><span class="o">-</span><span class="n">compatible</span><span class="o">-</span><span class="n"><a href="../../ranges/range.html">range</a></span><span class="o">&lt;</span><span class="n">T</span><span class="o">&gt;</span> <span class="n">R</span><span class="p">,</span> <span class="k">class</span> <span class="nc">Alloc</span><span class="o">&gt;</span>
260+
<span class="n">queue</span><span class="p">(</span><span class="n"><a href="../../ranges/from_range_t.html">from_range_t</a></span><span class="p">,</span> <span class="n">R</span><span class="o">&amp;&amp;</span> <span class="n">rg</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="c1">// (12) C++23</span>
256261
</code></pre></div>
257262
</p>
258263
<h2>概要</h2>
@@ -263,7 +268,8 @@ <h2>引数</h2>
263268
<p><code>other</code>: 初期化に用いるコンテナオブジェクト
264269
<code>alloc</code>: 内部のコンテナで使用するアロケータオブジェクト
265270
<code>que</code>: コピー・ムーブ元の<code>queue</code>オブジェクト
266-
<code>first</code>, <code>last</code>: 初期化に用いるイテレータのペア</p>
271+
<code>first</code>, <code>last</code>: 初期化に用いるイテレータのペア
272+
<code>rg</code>: 初期化に用いるRange</p>
267273
<h2>計算量</h2>
268274
<p>線形 O(n)。</p>
269275
<h2></h2>

0 commit comments

Comments
 (0)