LLVM
7.0.0svn
|
An iterator adaptor that filters the elements of given inner iterators. More...
#include "llvm/ADT/STLExtras.h"
Public Member Functions | |
filter_iterator & | operator++ () |
![]() | |
filter_iterator< WrappedIteratorT, PredicateT > & | operator+= (difference_type n) |
filter_iterator< WrappedIteratorT, PredicateT > & | operator-= (difference_type n) |
difference_type | operator- (const filter_iterator< WrappedIteratorT, PredicateT > &RHS) const |
filter_iterator< WrappedIteratorT, PredicateT > & | operator++ () |
filter_iterator< WrappedIteratorT, PredicateT > & | operator-- () |
bool | operator== (const filter_iterator< WrappedIteratorT, PredicateT > &RHS) const |
bool | operator< (const filter_iterator< WrappedIteratorT, PredicateT > &RHS) const |
typename std::conditional< std::is_same< typename std::iterator_traits< WrappedIteratorT >::value_type, typename std::iterator_traits< WrappedIteratorT >::value_type >::value, typename std::iterator_traits< WrappedIteratorT >::reference, typename std::iterator_traits< WrappedIteratorT >::value_type & >::type | operator* () const |
![]() | |
filter_iterator< WrappedIteratorT, PredicateT > | operator+ (typename std::iterator_traits< WrappedIteratorT >::difference_type n) const |
filter_iterator< WrappedIteratorT, PredicateT > | operator- (typename std::iterator_traits< WrappedIteratorT >::difference_type n) const |
filter_iterator< WrappedIteratorT, PredicateT > & | operator++ () |
filter_iterator< WrappedIteratorT, PredicateT > | operator++ (int) |
filter_iterator< WrappedIteratorT, PredicateT > & | operator-- () |
filter_iterator< WrappedIteratorT, PredicateT > | operator-- (int) |
bool | operator!= (const filter_iterator< WrappedIteratorT, PredicateT > &RHS) const |
bool | operator> (const filter_iterator< WrappedIteratorT, PredicateT > &RHS) const |
bool | operator<= (const filter_iterator< WrappedIteratorT, PredicateT > &RHS) const |
bool | operator>= (const filter_iterator< WrappedIteratorT, PredicateT > &RHS) const |
typename std::conditional< std::is_same< typename std::iterator_traits< WrappedIteratorT >::value_type, typename std::iterator_traits< WrappedIteratorT >::value_type >::value, typename std::iterator_traits< WrappedIteratorT >::pointer, typename std::iterator_traits< WrappedIteratorT >::value_type *>::type | operator-> () |
typename std::conditional< std::is_same< typename std::iterator_traits< WrappedIteratorT >::value_type, typename std::iterator_traits< WrappedIteratorT >::value_type >::value, typename std::iterator_traits< WrappedIteratorT >::pointer, typename std::iterator_traits< WrappedIteratorT >::value_type *>::type | operator-> () const |
ReferenceProxy | operator[] (typename std::iterator_traits< WrappedIteratorT >::difference_type n) |
ReferenceProxy | operator[] (typename std::iterator_traits< WrappedIteratorT >::difference_type n) const |
Friends | |
template<typename RT , typename PT > | |
iterator_range< filter_iterator< detail::IterOfRange< RT >, PT > > | make_filter_range (RT &&, PT) |
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.
Definition at line 275 of file STLExtras.h.
|
inline |
Definition at line 317 of file STLExtras.h.
References llvm::make_filter_range().
|
friend |