Horizon
Namespaces | Typedefs | Functions
minmax.hpp File Reference
#include <initializer_list>
#include <range/v3/range_fwd.hpp>
#include <range/v3/algorithm/result_types.hpp>
#include <range/v3/functional/comparisons.hpp>
#include <range/v3/functional/identity.hpp>
#include <range/v3/functional/invoke.hpp>
#include <range/v3/iterator/concepts.hpp>
#include <range/v3/iterator/traits.hpp>
#include <range/v3/range/access.hpp>
#include <range/v3/range/concepts.hpp>
#include <range/v3/range/traits.hpp>
#include <range/v3/utility/static_const.hpp>
#include <range/v3/detail/prologue.hpp>
#include <range/v3/detail/epilogue.hpp>

Go to the source code of this file.

Namespaces

 ranges::cpp20
 

Typedefs

template<typename T >
using ranges::minmax_result = detail::min_max_result< T, T >
 

Functions

 ranges::template (typename T, typename C=less, typename P=identity)(requires indirect_strict_weak_order< C
 function template max More...
 
constexpr projected< T const *, P > minmax_result< T const & > RANGES_FUNC() ranges::minmax (T const &a, T const &b, C pred=C{}, P proj=P{})
 
 ranges::template (typename Rng, typename C=equal_to, typename P=identity)(requires forward_range< Rng > AND indirect_relation< C
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
projected< iterator_t< Rng >, P > AND constexpr indirectly_copyable_storable< iterator_t< Rng >, range_value_t< Rng > * > minmax_result< range_value_t< Rng > > RANGES_FUNC() ranges::minmax (Rng &&rng, C pred=C{}, P proj=P{})
 
constexpr projected< T const *, P > minmax_result< T > RANGES_FUNC() ranges::minmax (std::initializer_list< T > const &&rng, C pred=C{}, P proj=P{})