...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
boost::algorithm::find_iterator — find_iterator
// In header: <boost/algorithm/string/find_iterator.hpp> template<typename IteratorT> class find_iterator : public iterator_facade< find_iterator< IteratorT >, const iterator_range< IteratorT >, forward_traversal_tag > { public: // construct/copy/destruct find_iterator(); find_iterator(const find_iterator &); template<typename FinderT> find_iterator(IteratorT, IteratorT, FinderT); template<typename FinderT, typename RangeT> find_iterator(RangeT &, FinderT); // public member functions bool eof() const; // private member functions const match_type & dereference() const; void increment(); bool equal(const find_iterator &) const; };
Find iterator encapsulates a Finder and allows for incremental searching in a string. Each increment moves the iterator to the next match.
Find iterator is a readable forward traversal iterator.
Dereferencing the iterator yields an iterator_range delimiting the current match.
find_iterator
public
construct/copy/destructfind_iterator();Default constructor.
Construct null iterator. All null iterators are equal.
Postconditions: |
eof()==true |
find_iterator(const find_iterator & Other);Copy constructor.
Construct a copy of the find_iterator
template<typename FinderT> find_iterator(IteratorT Begin, IteratorT End, FinderT Finder);Constructor.
Construct new find_iterator
for a given finder and a range.
template<typename FinderT, typename RangeT> find_iterator(RangeT & Col, FinderT Finder);Constructor.
Construct new find_iterator
for a given finder and a range.
find_iterator
public member functionsbool eof() const;Eof check.
Check the eof condition. Eof condition means that there is nothing more to be searched i.e. find_iterator
is after the last match.
find_iterator
private member functionsconst match_type & dereference() const;
void increment();
bool equal(const find_iterator & Other) const;