Header file range/v3/algorithm/find_if_not.hpp

#include <range/v3/range_fwd.hpp>

#include <range/v3/begin_end.hpp>

#include <range/v3/range_concepts.hpp>

#include <range/v3/range_traits.hpp>

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

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

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

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

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

Class ranges::v3::find_if_not_fn

struct find_if_not_fn
{
    template <typename I, typename S, typename F, typename P = ident, int _concept_requires_46 = 42, typename std::enable_if<(_concept_requires_46==43)||(InputIterator<I>()&&Sentinel<S, I>()&&IndirectCallablePredicate<F, projected<I, P>>()), int>::type=0>
    I operator()(I begin, S end, F pred_, P proj_ = P{}) const;
    
    template <typename Rng, typename F, typename P = ident, typename I = range_iterator_t<Rng>, int _concept_requires_61 = 42, typename std::enable_if<(_concept_requires_61==43)||(InputRange<Rng>()&&IndirectCallablePredicate<F, projected<I, P>>()), int>::type=0>
    range_safe_iterator_t<Rng> operator()(Rng&& rng, F pred, P proj = P{}) const;
};

@{

Function template ranges::v3::find_if_not_fn::operator()<I, S, F, P, _concept_requires_46>

template <typename I, typename S, typename F, typename P = ident, int _concept_requires_46 = 42, typename std::enable_if<(_concept_requires_46==43)||(InputIterator<I>()&&Sentinel<S, I>()&&IndirectCallablePredicate<F, projected<I, P>>()), int>::type=0>
I operator()(I begin, S end, F pred_, P proj_ = P{}) const;

template function \c find_if_not_fn::operator()

range-based version of the \c find_if_not std algorithm

Rng is a model of the Range concept I is a model of the InputIterator concept S is a model of the Sentinel<I> concept P is a model of the Callable<V> concept, where V is the value type of I. F models CallablePredicate<X>, where X is the result type of Callable<P, V>



Variable ranges::v3::find_if_not

constexpr auto& find_if_not = static_const<with_braced_init_args<find_if_not_fn>>::value;

find_if_not_fn