Range-v3
Range algorithms, views, and actions for the Standard Library
ranges::v3::minmax_element_fn Struct Reference

Public Member Functions

template<typename I , typename S , typename C = ordered_less, typename P = ident, requires = (ForwardIterator<I>() && Sentinel<S, I>() && IndirectCallableRelation<C, projected<I, P>>())>
tagged_pair< tag::min(I), tag::max(I)> operator() (I begin, S end, C pred_=C{}, P proj_=P{}) const
 
template<typename Rng , typename C = ordered_less, typename P = ident, typename I = range_iterator_t<Rng>, requires = (ForwardRange<Rng>() && IndirectCallableRelation<C, projected<I, P>>())>
meta::if_< std::is_lvalue_reference< Rng >, tagged_pair< tag::min(I), tag::max(I)>, dangling< tagged_pair< tag::min(I), tag::max(I)> > > operator() (Rng &&rng, C pred=C{}, P proj=P{}) const