1#ifndef FILTERED_ITERATOR_H
2#define FILTERED_ITERATOR_H
4#include "boost/iterator/filter_iterator.hpp"
18 typedef typename boost::filter_iterator<PREDICATE, TYPE>
iterator_t;
50 template <
typename Pred,
typename Type>
59template <
typename PREDICATE,
typename TYPE>
64template <
typename PREDICATE,
typename TYPE>
69 : it_(boost::make_filter_iterator(p, begin, end))
73template <
typename PREDICATE,
typename TYPE>
77 : it_(boost::make_filter_iterator(PREDICATE(), begin, end))
81template <
typename PREDICATE,
typename TYPE>
87template <
typename PREDICATE,
typename TYPE>
94template <
typename PREDICATE,
typename TYPE>
102template <
typename Pred,
typename Type>
106 return lhs.it_ == rhs.it_;
109template <
typename Pred,
typename Type>
114 return !(lhs == rhs);
Simple wrapper to boost::filter_iterator.
Definition filtered_iterator.h:13
iterator_t get_iterator()
Return the underlying boost iterator.
Definition filtered_iterator.h:45
iterator_t::value_type value_type
Definition filtered_iterator.h:19
FilteredIterator(iterator_type begin, iterator_type end)
construct by passing in the predicate and the range over which we iterate
boost::filter_iterator< PREDICATE, TYPE > iterator_t
Definition filtered_iterator.h:18
friend bool operator==(const FilteredIterator< Pred, Type > &lhs, const FilteredIterator< Pred, Type > &rhs)
Definition filtered_iterator.h:103
value_type operator*() const
Dereference the iterator.
Definition filtered_iterator.h:48
TYPE iterator_type
Definition filtered_iterator.h:17
FilteredIterator(predicate p, iterator_type begin, iterator_type end)
construct by passing in the predicate and the range over which we iterate
virtual ~FilteredIterator()
Destructor.
Definition filtered_iterator.h:36
FilteredIterator & operator++()
op++ simply increment the boost::filter_iterator
Definition filtered_iterator.h:88
PREDICATE predicate
Definition filtered_iterator.h:16
FilteredIterator()
default constructor
Definition filtered_iterator.h:60
Definition bitrl_consts.h:14
bool operator!=(const FilteredIterator< Pred, Type > &lhs, const FilteredIterator< Pred, Type > &rhs)
Definition filtered_iterator.h:110
bool operator==(const FilteredIterator< Pred, Type > &lhs, const FilteredIterator< Pred, Type > &rhs)
Definition filtered_iterator.h:103