class filter_iterator_base

Declaration

template <typename WrappedIteratorT,
          typename PredicateT,
          typename IterTag>
class filter_iterator_base { /* full declaration omitted */ };

Description

An iterator adaptor that filters the elements of given inner iterators. The predicate parameter should be a callable object that accepts the wrapped iterator's reference type and returns a bool. When incrementing or decrementing the iterator, it will call the predicate on each element and skip any where it returns false. Note: filter_iterator_base implements support for forward iteration. filter_iterator_impl exists to provide support for bidirectional iteration, conditional on whether the wrapped iterator supports it.

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

Templates

WrappedIteratorT
PredicateT
IterTag

Member Variables

protected WrappedIteratorT End
protected PredicateT Pred

Method Overview

Methods

filter_iterator_base<WrappedIteratorT,
                     PredicateT,
                     IterTag>(
    WrappedIteratorT Begin,
    WrappedIteratorT End,
    PredicateT Pred)

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

Parameters

WrappedIteratorT Begin
WrappedIteratorT End
PredicateT Pred

void findNextValid()

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