6868
6969 </ head >
7070 < 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"]} ">
7272 < nav class ="navbar navbar-default " role ="navigation ">
7373 < div class ="container-fluid ">
7474 < div class ="navbar-header ">
188188
189189 < p class ="text-right "> < small >
190190 最終更新日時(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秒
193193 </ span >
194194 < br />
195195 < span itemprop ="author " itemscope itemtype ="http://schema.org/Person ">
196- < span itemprop ="name "> Tetsuro Matsumura </ span >
196+ < span itemprop ="name "> Akira Takahashi </ span >
197197 </ span >
198198 が更新
199199 </ small > </ p >
@@ -291,27 +291,27 @@ <h2>メンバ関数</h2>
291291</ thead >
292292< tbody >
293293< 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 >
295295< td > コンストラクタ</ td >
296296< td > C++23</ td >
297297</ tr >
298298< 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 >
300300< td > < code > V</ code > の参照を取得する</ td >
301301< td > C++23</ td >
302302</ tr >
303303< 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 >
305305< td > 先頭を指すイテレータを取得する</ td >
306306< td > C++23</ td >
307307</ tr >
308308< 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 >
310310< td > 番兵を取得する</ td >
311311< td > C++23</ td >
312312</ tr >
313313< 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 >
315315< td > 要素数を取得する</ td >
316316< td > C++23</ td >
317317</ tr >
@@ -330,22 +330,22 @@ <h2>継承しているメンバ関数</h2>
330330< tr >
331331< td > < code > < a href ="view_interface/empty.html "> empty</ a > </ code > </ td >
332332< td > Rangeが空かどうかを判定する</ td >
333- < td > C++20 </ td >
333+ < td > C++23 </ td >
334334</ tr >
335335< tr >
336336< td > < code > < a href ="view_interface/op_bool.html "> operator bool</ a > </ code > </ td >
337337< td > Rangeが空でないかどうかを判定する</ td >
338- < td > C++20 </ td >
338+ < td > C++23 </ td >
339339</ tr >
340340< tr >
341341< td > < code > < a href ="view_interface/front.html "> front</ a > </ code > </ td >
342342< td > 先頭要素への参照を取得する</ td >
343- < td > C++20 </ td >
343+ < td > C++23 </ td >
344344</ tr >
345345< tr >
346346< td > < code > < a href ="view_interface/back.html "> back</ a > </ code > </ td >
347347< td > 末尾要素への参照を取得する</ td >
348- < td > C++20 </ td >
348+ < td > C++23 </ td >
349349</ tr >
350350< tr >
351351< td > < code > < a href ="view_interface/cbegin.html "> cbegin</ a > </ code > </ td >
@@ -360,7 +360,7 @@ <h2>継承しているメンバ関数</h2>
360360< tr >
361361< td > < code > < a href ="view_interface/op_at.html "> operator[]</ a > </ code > </ td >
362362< td > 要素へアクセスする</ td >
363- < td > C++20 </ td >
363+ < td > C++23 </ td >
364364</ tr >
365365</ tbody >
366366</ table >
@@ -375,22 +375,33 @@ <h2>推論補助</h2>
375375</ thead >
376376< tbody >
377377< 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 >
379379< td > クラステンプレートの推論補助</ td >
380380< td > C++23</ td >
381381</ tr >
382382</ tbody >
383383</ table >
384384< 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 >
386390 < span class ="c1 "> // 隣接する要素間の差を計算する</ span >
387391 < 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 >
389396< span class ="p "> }</ span >
390397</ code > </ pre > </ div >
391398</ div > </ p >
392399< h3 > 出力</ h3 >
393- < p > < pre > < code > [-7, 3, -2, 3, 1]
400+ < p > < pre > < code > -7
401+ 3
402+ -2
403+ 3
404+ 1
394405</ code > </ pre > </ p >
395406< h2 > バージョン</ h2 >
396407< h3 > 言語</ h3 >
@@ -399,18 +410,21 @@ <h3>言語</h3>
399410</ ul >
400411< h3 > 処理系</ h3 >
401412< 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 >
406416</ ul >
407417< h2 > 関連項目</ h2 >
408418< 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 >
410423</ ul >
411424< h2 > 参照</ h2 >
412425< ul >
413426< 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 >
414428</ ul > </ div >
415429
416430 </ div >
0 commit comments