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

Public Member Functions

template<typename Rng , typename C = less, typename P = identity>
constexpr auto operator() (Rng &&rng, C pred=C{}, P proj=P{}) const -> range_value_t< Rng > requires input_range< Rng > &&indirect_strict_weak_order< C, projected< iterator_t< Rng >, P >> &&indirectly_copyable_storable< iterator_t< Rng >, range_value_t< Rng > * >
 
template<typename T , typename C = less, typename P = identity>
constexpr auto operator() (std::initializer_list< T > const &&rng, C pred=C{}, P proj=P{}) const -> T requires copyable< T > &&indirect_strict_weak_order< C, projected< T const *, P >>
 
template<typename T , typename C = less, typename P = identity>
constexpr auto operator() (T const &a, T const &b, C pred=C{}, P proj=P{}) const -> T const &requires indirect_strict_weak_order< C, projected< T const *, P >>