CGAL::Filter_iterator<Iterator, Predicate>

Definition

The iterator adaptor Filter_iterator<Iterator, Predicate> acts as a filter on a given range. Whenever the iterator is in- or decremented, it ignores all iterators for which the given Predicate is true. The iterator category is the same as for Iterator.

Note: Boost also provides the same functionality via the boost::filter_iterator class. Unfortunately, the semantics chosen for accepting or rejecting elements based on the predicate's result are opposite as the semantic chosen here.

#include <CGAL/iterator.h>

Requirements

Creation

Filter_iterator<Iterator, Predicate> i;

Filter_iterator<Iterator, Predicate> i ( Iterator e,
Predicate p,
Iterator c = e);
creates an iterator which filters values according to p. Initializes by taking the first valid iterator (according to p), starting at c, and stopping at e if none is found.