200
200
201
201
< p class ="text-right "> < small >
202
202
最終更新日時(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秒
205
205
</ span >
206
206
< br />
207
207
< span itemprop ="author " itemscope itemtype ="http://schema.org/Person ">
208
- < span itemprop ="name "> Akira Takahashi </ span >
208
+ < span itemprop ="name "> suomesta </ span >
209
209
</ span >
210
210
が更新
211
211
</ small > </ p >
282
282
< span class ="k "> template</ span > < span class ="o "> <</ span > < span class ="k "> class</ span > < span class ="nc "> Alloc</ span > < span class ="o "> ></ span >
283
283
< span class ="n "> priority_queue</ span > < span class ="p "> (</ span > < span class ="n "> priority_queue</ span > < span class ="o "> &&</ span > < span class ="n "> que</ span > < span class ="p "> ,</ span >
284
284
< span class ="k "> const</ span > < span class ="n "> Alloc</ span > < span class ="o "> &</ 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 "> <</ 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 "> ></ 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 "> &</ span > < span class ="n "> x</ span > < span class ="p "> ,</ span >
289
+ < span class ="k "> const</ span > < span class ="n "> Alloc</ span > < span class ="o "> &</ 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 "> <</ 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 "> ></ 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 "> &</ span > < span class ="n "> x</ span > < span class ="p "> ,</ span >
294
+ < span class ="k "> const</ span > < span class ="n "> Container</ span > < span class ="o "> &</ span > < span class ="n "> other</ span > < span class ="p "> ,</ span >
295
+ < span class ="k "> const</ span > < span class ="n "> Alloc</ span > < span class ="o "> &</ 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 "> <</ 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 "> ></ 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 "> &</ span > < span class ="n "> x</ span > < span class ="p "> ,</ span >
300
+ < span class ="n "> Container</ span > < span class ="o "> &&</ span > < span class ="n "> other</ span > < span class ="p "> ,</ span >
301
+ < span class ="k "> const</ span > < span class ="n "> Alloc</ span > < span class ="o "> &</ 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 "> <</ 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 "> <</ span > < span class ="n "> T</ span > < span class ="o "> ></ span > < span class ="n "> R</ span > < span class ="o "> ></ 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 "> &&</ span > < span class ="n "> rg</ span > < span class ="p "> ,</ span >
305
+ < span class ="k "> const</ span > < span class ="n "> Compare</ span > < span class ="o "> &</ 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 "> <</ 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 "> <</ span > < span class ="n "> T</ span > < span class ="o "> ></ span > < span class ="n "> R</ span > < span class ="p "> ,</ span > < span class ="k "> class</ span > < span class ="nc "> Alloc</ span > < span class ="o "> ></ 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 "> &&</ span > < span class ="n "> rg</ span > < span class ="p "> ,</ span >
309
+ < span class ="k "> const</ span > < span class ="n "> Compare</ span > < span class ="o "> &</ span > < span class ="n "> x</ span > < span class ="p "> ,</ span >
310
+ < span class ="k "> const</ span > < span class ="n "> Alloc</ span > < span class ="o "> &</ 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 "> <</ 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 "> <</ span > < span class ="n "> T</ span > < span class ="o "> ></ span > < span class ="n "> R</ span > < span class ="p "> ,</ span > < span class ="k "> class</ span > < span class ="nc "> Alloc</ span > < span class ="o "> ></ 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 "> &&</ span > < span class ="n "> rg</ span > < span class ="p "> ,</ span >
314
+ < span class ="k "> const</ span > < span class ="n "> Alloc</ span > < span class ="o "> &</ span > < span class ="n "> alloc</ span > < span class ="p "> );</ span > < span class ="c1 "> // (20) C++23</ span >
285
315
</ code > </ pre > </ div >
286
316
</ p >
287
317
< h2 > 概要</ h2 >
@@ -303,6 +333,8 @@ <h2>概要</h2>
303
333
< li > (12) : 比較関数、元となるコンテナの一時オブジェクト、アロケータを受け取るコンストラクタ</ li >
304
334
< li > (13) : アロケータ指定でコピー構築する</ li >
305
335
< 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 >
306
338
</ ul >
307
339
< h2 > 要件</ h2 >
308
340
< p > < code > Compare</ code > 型パラメータ< code > x</ code > が、< a href ="../../algorithm.html#strict-weak-ordering "> 狭義の弱順序</ a > で定義されていること。</ p >
@@ -392,6 +424,49 @@ <h2>効果</h2>
392
424
< li > < code > < a href ="../../algorithm/make_heap.html "> make_heap</ a > (c.begin(), c.end(), comp)</ code > を呼び出す。</ li >
393
425
</ ol >
394
426
</ 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 >
395
470
</ ul >
396
471
< h2 > 例</ h2 >
397
472
< 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 "> <iostream></ a > </ span > < span class ="cp "> </ span >
0 commit comments