|
OpenABF 2.1.0
|
Input iterator that skips elements not matching a predicate. More...
#include <OpenABF/OpenABF.hpp>
Public Types | |
| using | difference_type = std::ptrdiff_t |
| using | value_type = typename std::iterator_traits< Iter >::value_type |
| using | pointer = typename std::iterator_traits< Iter >::pointer |
| using | reference = typename std::iterator_traits< Iter >::reference |
| using | iterator_category = std::input_iterator_tag |
Public Member Functions | |
| FilteringIterator ()=default | |
| FilteringIterator (Iter current, Iter end, Pred pred) | |
| auto | operator* () const -> reference |
| auto | operator-> () const -> pointer |
| auto | operator++ () -> FilteringIterator & |
| auto | operator== (const FilteringIterator &other) const -> bool |
| auto | operator!= (const FilteringIterator &other) const -> bool |
Private Member Functions | |
| void | advance_to_next () |
Private Attributes | |
| Iter | current_ {} |
| Iter | end_ {} |
| Pred | pred_ {} |
Input iterator that skips elements not matching a predicate.
Wraps a base iterator and advances automatically past elements for which pred(*it) is false.
| using OpenABF::detail::FilteringIterator< Iter, Pred >::difference_type = std::ptrdiff_t |
Difference type.
| using OpenABF::detail::FilteringIterator< Iter, Pred >::iterator_category = std::input_iterator_tag |
Iterator category.
| using OpenABF::detail::FilteringIterator< Iter, Pred >::pointer = typename std::iterator_traits<Iter>::pointer |
Pointer type.
| using OpenABF::detail::FilteringIterator< Iter, Pred >::reference = typename std::iterator_traits<Iter>::reference |
Reference type.
| using OpenABF::detail::FilteringIterator< Iter, Pred >::value_type = typename std::iterator_traits<Iter>::value_type |
Value type.
|
default |
Default constructor.
|
inline |
Construct over [current, end) filtering by pred.
|
inlineprivate |
Advance current_ past elements failing pred_.
|
inline |
Inequality.
|
inline |
Dereference.
|
inline |
Pre-increment; skips elements failing pred.
|
inline |
Member access.
|
inline |
Equality.
|
private |
Underlying iterator position.
|
private |
Underlying end iterator.