@@ -274,8 +274,8 @@ <h2><a class="cpprefjp-defined-word" data-desc="関数呼び出し式の評価
274
274
< p > 空の入力範囲に対しては無効値を保持する< code > < a href ="../optional/optional.html "> optional</ a > </ code > を返す。入力範囲によらず、< a class ="cpprefjp-defined-word " data-desc ="関数呼び出し式の評価結果となるオブジェクト・値 "> 戻り値</ a > の1つ目の値(イテレータ値)は渡した範囲の終端イテレータ(< code > last</ code > /< code > ranges::end(r)</ code > )と同じ位置を指すイテレータとなる(必ずしも同じ型もしくは同じイテレータにならない)。</ p >
275
275
< p > < a class ="cpprefjp-defined-word " data-desc ="関数呼び出し式の評価結果となるオブジェクト・値 "> 戻り値</ a > 型はそれぞれ、< code > U</ code > を次の様に< code > < a href ="ranges_in_value_result.html "> fold_left_first_with_iter_result</ a > </ code > の2つ目の引数に当てはめた型となる</ p >
276
276
< p > < div class ="codehilite "> < pre > < span > </ span > < code > < span class ="k "> template</ span > < span class ="o "> <</ span > < span class ="n "> < a href ="../iterator/input_iterator.html "> input_iterator</ a > </ span > < span class ="n "> I</ span > < span class ="p "> ,</ span > < span class ="n "> < a href ="../iterator/sentinel_for.html "> sentinel_for</ a > </ span > < span class ="o "> <</ span > < span class ="n "> I</ span > < span class ="o "> ></ span > < span class ="n "> S</ span > < span class ="p "> ,</ span >
277
- < span class ="n "> indirectly</ span > < span class ="o "> -</ span > < span class ="n "> binary</ span > < span class ="o "> -</ span > < span class ="n "> left</ span > < span class ="o "> -</ span > < span class ="n "> foldable</ span > < span class ="o "> <</ span > < span class ="n "> < span href ="https://cpprefjp.github.io/reference/algorithm/reference/ iterator/iter_value_t.html "> iter_value_t</ span > </ span > < span class ="o "> <</ span > < span class ="n "> I</ span > < span class ="o "> ></ span > < span class ="p "> ,</ span > < span class ="n "> I</ span > < span class ="o "> ></ span > < span class ="n "> F</ span > < span class ="o "> ></ span >
278
- < span class ="n "> requires</ span > < span class ="n "> constructible_from</ span > < span class ="o "> <</ span > < span class ="n "> < span href ="https://cpprefjp.github.io/reference/algorithm/reference/ iterator/iter_value_t.html "> iter_value_t</ span > </ span > < span class ="o "> <</ span > < span class ="n "> I</ span > < span class ="o "> ></ span > < span class ="p "> ,</ span > < span class ="n "> iter_reference_t</ span > < span class ="o "> <</ span > < span class ="n "> I</ span > < span class ="o "> >></ span >
277
+ < span class ="n "> indirectly</ span > < span class ="o "> -</ span > < span class ="n "> binary</ span > < span class ="o "> -</ span > < span class ="n "> left</ span > < span class ="o "> -</ span > < span class ="n "> foldable</ span > < span class ="o "> <</ span > < span class ="n "> < a href ="../ iterator/iter_value_t.html "> iter_value_t</ a > </ span > < span class ="o "> <</ span > < span class ="n "> I</ span > < span class ="o "> ></ span > < span class ="p "> ,</ span > < span class ="n "> I</ span > < span class ="o "> ></ span > < span class ="n "> F</ span > < span class ="o "> ></ span >
278
+ < span class ="n "> requires</ span > < span class ="n "> constructible_from</ span > < span class ="o "> <</ span > < span class ="n "> < a href ="../ iterator/iter_value_t.html "> iter_value_t</ a > </ span > < span class ="o "> <</ span > < span class ="n "> I</ span > < span class ="o "> ></ span > < span class ="p "> ,</ span > < span class ="n "> iter_reference_t</ span > < span class ="o "> <</ span > < span class ="n "> I</ span > < span class ="o "> >></ span >
279
279
< span class ="k "> constexpr</ span > < span class ="n "> < a href ="ranges_in_value_result.html "> fold_left_first_with_iter_result</ a > </ span > < span class ="o "> <</ span > < span class ="n "> I</ span > < span class ="p "> ,</ span > < span class ="n "> < a href ="../optional/optional.html "> optional</ a > </ span > < span class ="o "> <</ span > < span class ="n "> U</ span > < span class ="o "> >></ span >
280
280
< span class ="n "> fold_left_first_with_iter</ span > < span class ="p "> (</ span > < span class ="n "> I</ span > < span class ="n "> first</ span > < span class ="p "> ,</ span > < span class ="n "> S</ span > < span class ="n "> last</ span > < span class ="p "> ,</ span > < span class ="n "> F</ span > < span class ="n "> f</ span > < span class ="p "> );</ span >
281
281
@@ -392,12 +392,12 @@ <h3>出力</h3>
392
392
</ code > </ pre > </ p >
393
393
< h2 > 実装例</ h2 >
394
394
< p > < div class ="codehilite "> < pre > < span > </ span > < code > < span class ="k "> template</ span > < span class ="o "> <</ span > < span class ="k "> typename</ span > < span class ="n "> F</ span > < span class ="p "> ,</ span > < span class ="k "> typename</ span > < span class ="n "> I</ span > < span class ="o "> ></ span >
395
- < span class ="k "> using</ span > < span class ="n "> R</ span > < span class ="o "> =</ span > < span class ="n "> decay_t</ span > < span class ="o "> <</ span > < span class ="n "> < a href ="../type_traits/invoke_result.html "> invoke_result_t</ a > </ span > < span class ="o "> <</ span > < span class ="n "> F</ span > < span class ="o "> &</ span > < span class ="p "> ,</ span > < span class ="n "> < span href ="https://cpprefjp.github.io/reference/algorithm/reference/ iterator/iter_value_t.html "> iter_value_t</ span > </ span > < span class ="o "> <</ span > < span class ="n "> I</ span > < span class ="o "> ></ span > < span class ="p "> ,</ span > < span class ="n "> iter_reference_t</ span > < span class ="o "> <</ span > < span class ="n "> I</ span > < span class ="o "> >>></ span > < span class ="p "> ;</ span >
395
+ < span class ="k "> using</ span > < span class ="n "> R</ span > < span class ="o "> =</ span > < span class ="n "> decay_t</ span > < span class ="o "> <</ span > < span class ="n "> < a href ="../type_traits/invoke_result.html "> invoke_result_t</ a > </ span > < span class ="o "> <</ span > < span class ="n "> F</ span > < span class ="o "> &</ span > < span class ="p "> ,</ span > < span class ="n "> < a href ="../ iterator/iter_value_t.html "> iter_value_t</ a > </ span > < span class ="o "> <</ span > < span class ="n "> I</ span > < span class ="o "> ></ span > < span class ="p "> ,</ span > < span class ="n "> iter_reference_t</ span > < span class ="o "> <</ span > < span class ="n "> I</ span > < span class ="o "> >>></ span > < span class ="p "> ;</ span >
396
396
397
397
398
398
< span class ="k "> template</ span > < span class ="o "> <</ span > < span class ="n "> < a href ="../iterator/input_iterator.html "> input_iterator</ a > </ span > < span class ="n "> I</ span > < span class ="p "> ,</ span > < span class ="n "> < a href ="../iterator/sentinel_for.html "> sentinel_for</ a > </ span > < span class ="o "> <</ span > < span class ="n "> I</ span > < span class ="o "> ></ span > < span class ="n "> S</ span > < span class ="p "> ,</ span >
399
- < span class ="n "> indirectly</ span > < span class ="o "> -</ span > < span class ="n "> binary</ span > < span class ="o "> -</ span > < span class ="n "> left</ span > < span class ="o "> -</ span > < span class ="n "> foldable</ span > < span class ="o "> <</ span > < span class ="n "> < span href ="https://cpprefjp.github.io/reference/algorithm/reference/ iterator/iter_value_t.html "> iter_value_t</ span > </ span > < span class ="o "> <</ span > < span class ="n "> I</ span > < span class ="o "> ></ span > < span class ="p "> ,</ span > < span class ="n "> I</ span > < span class ="o "> ></ span > < span class ="n "> F</ span > < span class ="o "> ></ span >
400
- < span class ="n "> requires</ span > < span class ="n "> constructible_from</ span > < span class ="o "> <</ span > < span class ="n "> < span href ="https://cpprefjp.github.io/reference/algorithm/reference/ iterator/iter_value_t.html "> iter_value_t</ span > </ span > < span class ="o "> <</ span > < span class ="n "> I</ span > < span class ="o "> ></ span > < span class ="p "> ,</ span > < span class ="n "> iter_reference_t</ span > < span class ="o "> <</ span > < span class ="n "> I</ span > < span class ="o "> >></ span >
399
+ < span class ="n "> indirectly</ span > < span class ="o "> -</ span > < span class ="n "> binary</ span > < span class ="o "> -</ span > < span class ="n "> left</ span > < span class ="o "> -</ span > < span class ="n "> foldable</ span > < span class ="o "> <</ span > < span class ="n "> < a href ="../ iterator/iter_value_t.html "> iter_value_t</ a > </ span > < span class ="o "> <</ span > < span class ="n "> I</ span > < span class ="o "> ></ span > < span class ="p "> ,</ span > < span class ="n "> I</ span > < span class ="o "> ></ span > < span class ="n "> F</ span > < span class ="o "> ></ span >
400
+ < span class ="n "> requires</ span > < span class ="n "> constructible_from</ span > < span class ="o "> <</ span > < span class ="n "> < a href ="../ iterator/iter_value_t.html "> iter_value_t</ a > </ span > < span class ="o "> <</ span > < span class ="n "> I</ span > < span class ="o "> ></ span > < span class ="p "> ,</ span > < span class ="n "> iter_reference_t</ span > < span class ="o "> <</ span > < span class ="n "> I</ span > < span class ="o "> >></ span >
401
401
< span class ="k "> constexpr</ span > < span class ="k "> auto</ span > < span class ="n "> fold_left_first_with_iter</ span > < span class ="p "> (</ span > < span class ="n "> I</ span > < span class ="n "> first</ span > < span class ="p "> ,</ span > < span class ="n "> S</ span > < span class ="n "> last</ span > < span class ="p "> ,</ span > < span class ="n "> F</ span > < span class ="n "> f</ span > < span class ="p "> )</ span >
402
402
< span class ="o "> -></ span > < span class ="n "> fold_left_first_with_iter_result</ span > < span class ="o "> <</ span > < span class ="n "> I</ span > < span class ="p "> ,</ span > < span class ="n "> optional</ span > < span class ="o "> <</ span > < span class ="n "> R</ span > < span class ="o "> <</ span > < span class ="n "> F</ span > < span class ="p "> ,</ span > < span class ="n "> I</ span > < span class ="o "> >>></ span >
403
403
< span class ="p "> {</ span >
0 commit comments