@@ -274,8 +274,8 @@ <h2><a class="cpprefjp-defined-word" data-desc="関数呼び出し式の評価
274274< 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 >
275275< 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 >
276276< 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 >
279279< 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 >
280280 < 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 >
281281
@@ -392,12 +392,12 @@ <h3>出力</h3>
392392</ code > </ pre > </ p >
393393< h2 > 実装例</ h2 >
394394< 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 >
396396
397397
398398< 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 >
401401< 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 >
402402 < 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 >
403403< span class ="p "> {</ span >
0 commit comments