ΒΆtemplate <
    typename IterTy,
    typename Pred = bool (*)(
        const decltype(*std::declval<IterTy>())&)>
bool hasNItemsOrMore(
    IterTy&& Begin,
    IterTy&& End,
    unsigned int N,
    Pred&& ShouldBeCounted =
        [](const decltype(*std::declval<
                          type - parameter - 0 -
                          0>())&) {
          return true;
        },
    std::enable_if_t<
        !std::is_base_of<
            std::random_access_iterator_tag,
            typename std::iterator_traits<
                std::remove_reference_t<
                    decltype(Begin)>>::
                iterator_category>::value,
        void>* = nullptr)

Description

Return true if the sequence [Begin, End) has N or more items. Runs in O(N) time. Not meant for use with random-access iterators. Can optionally take a predicate to lazily filter some items.

Declared at: llvm/include/llvm/ADT/STLExtras.h:2151

Templates

IterTy
Pred = bool (*)(const decltype(* std::declval<IterTy>()) &)

Parameters

IterTy&& Begin
IterTy&& End
unsigned int N
Pred&& ShouldBeCounted = [](const decltype(* std::declval<type-parameter-0-0>()) &) { return true; }
std::enable_if_t< !std::is_base_of< std::random_access_iterator_tag, typename std::iterator_traits< std::remove_reference_t< decltype(Begin)>>:: iterator_category>::value, void>* = nullptr