Header file range/v3/algorithm/is_sorted.hpp

#include <range/v3/algorithm/is_sorted_until.hpp>

#include <range/v3/utility/functional.hpp>

#include <range/v3/utility/static_const.hpp>

namespace ranges
{
    inline namespace v3
    {
        struct is_sorted_fn;
        
        inline namespace 
        {
            constexpr auto& is_sorted = static_const<with_braced_init_args<is_sorted_fn>>::value;
        }
    }
}

Class ranges::v3::is_sorted_fn

struct is_sorted_fn
{
    template <typename I, typename S, typename R = ordered_less, typename P = ident, int _concept_requires_43 = 42, typename std::enable_if<(_concept_requires_43==43)||(ForwardIterator<I>()&&Sentinel<S, I>()&&IndirectCallableRelation<R, projected<I, P>>()), int>::type=0>
    bool operator()(I begin, S end, R rel = R{}, P proj_ = P{}) const;
    
    template <typename Rng, typename R = ordered_less, typename P = ident, typename I = range_iterator_t<Rng>, int _concept_requires_53 = 42, typename std::enable_if<(_concept_requires_53==43)||(ForwardRange<Rng>()&&IndirectCallableRelation<R, projected<I, P>>()), int>::type=0>
    bool operator()(Rng&& rng, R rel = R{}, P proj = P{}) const;
};

@{

Function template ranges::v3::is_sorted_fn::operator()<I, S, R, P, _concept_requires_43>

template <typename I, typename S, typename R = ordered_less, typename P = ident, int _concept_requires_43 = 42, typename std::enable_if<(_concept_requires_43==43)||(ForwardIterator<I>()&&Sentinel<S, I>()&&IndirectCallableRelation<R, projected<I, P>>()), int>::type=0>
bool operator()(I begin, S end, R rel = R{}, P proj_ = P{}) const;

template function \c is_sorted_fn::operator()

range-based version of the \c is_sorted std algorithm

Works on ForwardViews

Rng is a model of the ForwardView concept I is a model of the ForwardIterator concept S is a model of the Sentinel<I> concept R is a model of the Relation<Value_Type<I>> concept



Variable ranges::v3::is_sorted

constexpr auto& is_sorted = static_const<with_braced_init_args<is_sorted_fn>>::value;

is_sorted_fn