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. What is more, the argument of the predicate is different: the predicate used with boost::filter_iterator must take the value type of the iterator, as argument, and not the iterator itself.
#include <CGAL/iterator.h>
| |
| |
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.
|
There is also a global function to help the use of Filter_iterator<Iterator, Predicate>:
| ||
| ||
| ||
Constructs Filter_iterator<Iterator, Predicate>(e, p, c). |