68
68
69
69
</ head >
70
70
< body >
71
- < header data-kunai-mdinfo ="{"meta": {"header": ["ranges"], "namespace": ["std::ranges"], "id-type": ["class template"], "cpp": ["cpp23"]}, "sources": [{"id": "c21bf1bd6459c4ca54c3dbc2718b0a48ff81be03 ", "source": "int main() {\n // \u96a3\u63a5\u3059\u308b\u8981\u7d20\u9593\u306e\u5dee\u3092\u8a08\u7b97\u3059\u308b\n std::vector v = {9, 2, 5, 3, 6, 7};\n std::println(\"{}\", v | std::views::adjacent_transform_view<2>([](auto x, auto y) { return y - x; })); \n}\n"}], "page_id": ["reference", "ranges", "adjacent_transform_view"]} ">
71
+ < header data-kunai-mdinfo ="{"meta": {"header": ["ranges"], "namespace": ["std::ranges"], "id-type": ["class template"], "cpp": ["cpp23"]}, "sources": [{"id": "07cbd11ac1819f15788a7601d0698cecb3216c3d ", "source": "#include <iostream>\n#include <vector>\n#include <ranges>\n\nint main() {\n // \u96a3\u63a5\u3059\u308b\u8981\u7d20\u9593\u306e\u5dee\u3092\u8a08\u7b97\u3059\u308b\n std::vector v = {9, 2, 5, 3, 6, 7};\n for (int x : v | std::views::adjacent_transform_view<2>(\n [](auto x, auto y) { return y - x; })) {\n std::cout << x << std::endl;\n } \n}\n"}], "page_id": ["reference", "ranges", "adjacent_transform_view"]} ">
72
72
< nav class ="navbar navbar-default " role ="navigation ">
73
73
< div class ="container-fluid ">
74
74
< div class ="navbar-header ">
188
188
189
189
< p class ="text-right "> < small >
190
190
最終更新日時(UTC):
191
- < span itemprop ="datePublished " content ="2024-03-07T19:37:36 ">
192
- 2024年03月07日 19時37分36秒
191
+ < span itemprop ="datePublished " content ="2025-06-04T02:59:05 ">
192
+ 2025年06月04日 02時59分05秒
193
193
</ span >
194
194
< br />
195
195
< span itemprop ="author " itemscope itemtype ="http://schema.org/Person ">
196
- < span itemprop ="name "> Tetsuro Matsumura </ span >
196
+ < span itemprop ="name "> Akira Takahashi </ span >
197
197
</ span >
198
198
が更新
199
199
</ small > </ p >
@@ -291,27 +291,27 @@ <h2>メンバ関数</h2>
291
291
</ thead >
292
292
< tbody >
293
293
< tr >
294
- < td > < code > < span href ="https://cpprefjp.github.io/reference/ranges/ adjacent_transform_view/op_constructor.md.nolink "> (constructor)</ span > </ code > </ td >
294
+ < td > < code > < a href ="adjacent_transform_view/op_constructor.html "> (constructor)</ a > </ code > </ td >
295
295
< td > コンストラクタ</ td >
296
296
< td > C++23</ td >
297
297
</ tr >
298
298
< tr >
299
- < td > < code > < span href ="https://cpprefjp.github.io/reference/ranges/ adjacent_transform_view/base.md.nolink "> base</ span > </ code > </ td >
299
+ < td > < code > < a href ="adjacent_transform_view/base.html "> base</ a > </ code > </ td >
300
300
< td > < code > V</ code > の参照を取得する</ td >
301
301
< td > C++23</ td >
302
302
</ tr >
303
303
< tr >
304
- < td > < code > < span href ="https://cpprefjp.github.io/reference/ranges/ adjacent_transform_view/begin.md.nolink "> begin</ span > </ code > </ td >
304
+ < td > < code > < a href ="adjacent_transform_view/begin.html "> begin</ a > </ code > </ td >
305
305
< td > 先頭を指すイテレータを取得する</ td >
306
306
< td > C++23</ td >
307
307
</ tr >
308
308
< tr >
309
- < td > < code > < span href ="https://cpprefjp.github.io/reference/ranges/ adjacent_transform_view/end.md.nolink "> end</ span > </ code > </ td >
309
+ < td > < code > < a href ="adjacent_transform_view/end.html "> end</ a > </ code > </ td >
310
310
< td > 番兵を取得する</ td >
311
311
< td > C++23</ td >
312
312
</ tr >
313
313
< tr >
314
- < td > < code > < span href ="https://cpprefjp.github.io/reference/ranges/ adjacent_transform_view/size.md.nolink "> size</ span > </ code > </ td >
314
+ < td > < code > < a href ="adjacent_transform_view/size.html "> size</ a > </ code > </ td >
315
315
< td > 要素数を取得する</ td >
316
316
< td > C++23</ td >
317
317
</ tr >
@@ -330,22 +330,22 @@ <h2>継承しているメンバ関数</h2>
330
330
< tr >
331
331
< td > < code > < a href ="view_interface/empty.html "> empty</ a > </ code > </ td >
332
332
< td > Rangeが空かどうかを判定する</ td >
333
- < td > C++20 </ td >
333
+ < td > C++23 </ td >
334
334
</ tr >
335
335
< tr >
336
336
< td > < code > < a href ="view_interface/op_bool.html "> operator bool</ a > </ code > </ td >
337
337
< td > Rangeが空でないかどうかを判定する</ td >
338
- < td > C++20 </ td >
338
+ < td > C++23 </ td >
339
339
</ tr >
340
340
< tr >
341
341
< td > < code > < a href ="view_interface/front.html "> front</ a > </ code > </ td >
342
342
< td > 先頭要素への参照を取得する</ td >
343
- < td > C++20 </ td >
343
+ < td > C++23 </ td >
344
344
</ tr >
345
345
< tr >
346
346
< td > < code > < a href ="view_interface/back.html "> back</ a > </ code > </ td >
347
347
< td > 末尾要素への参照を取得する</ td >
348
- < td > C++20 </ td >
348
+ < td > C++23 </ td >
349
349
</ tr >
350
350
< tr >
351
351
< td > < code > < a href ="view_interface/cbegin.html "> cbegin</ a > </ code > </ td >
@@ -360,7 +360,7 @@ <h2>継承しているメンバ関数</h2>
360
360
< tr >
361
361
< td > < code > < a href ="view_interface/op_at.html "> operator[]</ a > </ code > </ td >
362
362
< td > 要素へアクセスする</ td >
363
- < td > C++20 </ td >
363
+ < td > C++23 </ td >
364
364
</ tr >
365
365
</ tbody >
366
366
</ table >
@@ -375,22 +375,33 @@ <h2>推論補助</h2>
375
375
</ thead >
376
376
< tbody >
377
377
< tr >
378
- < td > < code > < span href ="https://cpprefjp.github.io/reference/ranges/ adjacent_transform_view/op_deduction_guide.md.nolink "> (deduction_guide)</ span > </ code > </ td >
378
+ < td > < code > < a href ="adjacent_transform_view/op_deduction_guide.html "> (deduction_guide)</ a > </ code > </ td >
379
379
< td > クラステンプレートの推論補助</ td >
380
380
< td > C++23</ td >
381
381
</ tr >
382
382
</ tbody >
383
383
</ table >
384
384
< h2 > 例</ h2 >
385
- < p > < div class ="yata " id ="c21bf1bd6459c4ca54c3dbc2718b0a48ff81be03 "> < div class ="codehilite "> < pre > < span > </ span > < code > < span class ="kt "> int</ span > < span class ="nf "> main</ span > < span class ="p "> ()</ span > < span class ="p "> {</ span >
385
+ < p > < div class ="yata " id ="07cbd11ac1819f15788a7601d0698cecb3216c3d "> < 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 >
386
+ < span class ="cp "> #include</ span > < span class ="cpf "> < a href ="../vector.html "> <vector></ a > </ span > < span class ="cp "> </ span >
387
+ < span class ="cp "> #include</ span > < span class ="cpf "> < a href ="../ranges.html "> <ranges></ a > </ span > < span class ="cp "> </ span >
388
+
389
+ < span class ="kt "> int</ span > < span class ="nf "> main</ span > < span class ="p "> ()</ span > < span class ="p "> {</ span >
386
390
< span class ="c1 "> // 隣接する要素間の差を計算する</ span >
387
391
< span class ="n "> < a href ="../vector/vector.html "> std::vector</ a > </ span > < span class ="n "> v</ span > < span class ="o "> =</ span > < span class ="p "> {</ span > < span class ="mi "> 9</ span > < span class ="p "> ,</ span > < span class ="mi "> 2</ span > < span class ="p "> ,</ span > < span class ="mi "> 5</ span > < span class ="p "> ,</ span > < span class ="mi "> 3</ span > < span class ="p "> ,</ span > < span class ="mi "> 6</ span > < span class ="p "> ,</ span > < span class ="mi "> 7</ span > < span class ="p "> };</ span >
388
- < span class ="n "> < a href ="../print/println.html "> std::println</ a > </ span > < span class ="p "> (</ span > < span class ="s "> "{}"</ span > < span class ="p "> ,</ span > < span class ="n "> v</ span > < span class ="o "> |</ span > < span class ="n "> < span style ="color:#ff0000 "> std::views::adjacent_transform_view</ span > </ span > < span class ="o "> <</ span > < span class ="mi "> 2</ span > < span class ="o "> ></ span > < span class ="p "> ([](</ span > < span class ="k "> auto</ span > < span class ="n "> x</ span > < span class ="p "> ,</ span > < span class ="k "> auto</ span > < span class ="n "> y</ span > < span class ="p "> )</ span > < span class ="p "> {</ span > < span class ="k "> return</ span > < span class ="n "> y</ span > < span class ="o "> -</ span > < span class ="n "> x</ span > < span class ="p "> ;</ span > < span class ="p "> }));</ span >
392
+ < span class ="k "> for</ span > < span class ="p "> (</ span > < span class ="kt "> int</ span > < span class ="nl "> x</ span > < span class ="p "> :</ span > < span class ="n "> v</ span > < span class ="o "> |</ span > < span class ="n "> < span style ="color:#ff0000 "> std::views::adjacent_transform_view</ span > </ span > < span class ="o "> <</ span > < span class ="mi "> 2</ span > < span class ="o "> ></ span > < span class ="p "> (</ span >
393
+ < span class ="p "> [](</ span > < span class ="k "> auto</ span > < span class ="n "> x</ span > < span class ="p "> ,</ span > < span class ="k "> auto</ span > < span class ="n "> y</ span > < span class ="p "> )</ span > < span class ="p "> {</ span > < span class ="k "> return</ span > < span class ="n "> y</ span > < span class ="o "> -</ span > < span class ="n "> x</ span > < span class ="p "> ;</ span > < span class ="p "> }))</ span > < span class ="p "> {</ span >
394
+ < span class ="n "> < a href ="../iostream/cout.html "> std::cout</ a > </ span > < span class ="o "> <<</ span > < span class ="n "> x</ span > < span class ="o "> <<</ span > < span class ="n "> < a href ="../ostream/endl.html "> std::endl</ a > </ span > < span class ="p "> ;</ span >
395
+ < span class ="p "> }</ span >
389
396
< span class ="p "> }</ span >
390
397
</ code > </ pre > </ div >
391
398
</ div > </ p >
392
399
< h3 > 出力</ h3 >
393
- < p > < pre > < code > [-7, 3, -2, 3, 1]
400
+ < p > < pre > < code > -7
401
+ 3
402
+ -2
403
+ 3
404
+ 1
394
405
</ code > </ pre > </ p >
395
406
< h2 > バージョン</ h2 >
396
407
< h3 > 言語</ h3 >
@@ -399,18 +410,21 @@ <h3>言語</h3>
399
410
</ ul >
400
411
< h3 > 処理系</ h3 >
401
412
< ul >
402
- < li > < a href ="../../implementation.html#clang "> Clang</ a > : ??</ li >
403
- < li > < a href ="../../implementation.html#gcc "> GCC</ a > : ??</ li >
404
- < li > < a href ="../../implementation.html#icc "> ICC</ a > : ??</ li >
405
- < li > < a href ="../../implementation.html#visual_cpp "> Visual C++</ a > : ??</ li >
413
+ < li > < a href ="../../implementation.html#clang "> Clang</ a > : 20 < span aria-label ="未実装 " role ="img " title ="未実装 "> ❌</ span > </ li >
414
+ < li > < a href ="../../implementation.html#gcc "> GCC</ a > : 15 < span aria-label ="未実装 " role ="img " title ="未実装 "> ❌</ span > </ li >
415
+ < li > < a href ="../../implementation.html#visual_cpp "> Visual C++</ a > : 2022 Update 14 < span aria-label ="未実装 " role ="img " title ="未実装 "> ❌</ span > </ li >
406
416
</ ul >
407
417
< h2 > 関連項目</ h2 >
408
418
< ul >
409
- < li > < code > < a href ="../numeric/adjacent_difference.html "> adjacent_difference</ a > </ code > 隣接する2つの要素間の差を計算するアルゴリズム関数</ li >
419
+ < li > < code > < a href ="../numeric/adjacent_difference.html "> std::adjacent_difference</ a > </ code > < ul >
420
+ < li > 隣接する2つの要素間の差を計算するアルゴリズム関数</ li >
421
+ </ ul >
422
+ </ li >
410
423
</ ul >
411
424
< h2 > 参照</ h2 >
412
425
< ul >
413
426
< li > < a href ="https://timsong-cpp.github.io/cppwp/n4950/ranges " target ="_blank "> N4950 26 Ranges library</ a > </ li >
427
+ < li > < a href ="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2321r2.html " target ="_blank "> P2321R2 zip</ a > </ li >
414
428
</ ul > </ div >
415
429
416
430
</ div >
0 commit comments