@@ -1847,7 +1847,7 @@ OutputIt replace_copy(R &&Range, OutputIt Out, const T &OldValue,
18471847// / begin/end explicitly.
18481848template <typename R, typename T>
18491849void replace (R &&Range, const T &OldValue, const T &NewValue) {
1850- return std::replace (adl_begin (Range), adl_end (Range), OldValue, NewValue);
1850+ std::replace (adl_begin (Range), adl_end (Range), OldValue, NewValue);
18511851}
18521852
18531853// / Provide wrappers to std::move which take ranges instead of having to
@@ -1982,6 +1982,8 @@ auto upper_bound(R &&Range, T &&Value, Compare C) {
19821982 std::forward<T>(Value), C);
19831983}
19841984
1985+ // / Provide wrappers to std::min_element which take ranges instead of having to
1986+ // / pass begin/end explicitly.
19851987template <typename R> auto min_element (R &&Range) {
19861988 return std::min_element (adl_begin (Range), adl_end (Range));
19871989}
@@ -1990,6 +1992,8 @@ template <typename R, typename Compare> auto min_element(R &&Range, Compare C) {
19901992 return std::min_element (adl_begin (Range), adl_end (Range), C);
19911993}
19921994
1995+ // / Provide wrappers to std::max_element which take ranges instead of having to
1996+ // / pass begin/end explicitly.
19931997template <typename R> auto max_element (R &&Range) {
19941998 return std::max_element (adl_begin (Range), adl_end (Range));
19951999}
0 commit comments