iterator_range class More...
#include <range_fwd.hpp>
Public Types | |
typedef iterator_range< IteratorT > | type |
typedef BOOST_DEDUCED_TYPENAME safe_bool_t::unspecified_bool_type | unspecified_bool_type |
typedef BOOST_DEDUCED_TYPENAME iterator_value< IteratorT > ::type | value_type |
typedef BOOST_DEDUCED_TYPENAME iterator_difference< IteratorT > ::type | difference_type |
typedef std::size_t | size_type |
typedef BOOST_DEDUCED_TYPENAME iterator_reference< IteratorT > ::type | reference |
typedef IteratorT | const_iterator |
const_iterator type More... | |
typedef IteratorT | iterator |
iterator type More... | |
Public Member Functions | |
iterator_range () | |
template<class Iterator > | |
iterator_range (Iterator first, Iterator last) | |
template<class SinglePassRange > | |
iterator_range (const SinglePassRange &r, BOOST_DEDUCED_TYPENAME::boost::enable_if< is_compatible_range< const SinglePassRange > >::type *=0) | |
template<class SinglePassRange > | |
iterator_range (SinglePassRange &r, BOOST_DEDUCED_TYPENAME::boost::enable_if< is_compatible_range< SinglePassRange > >::type *=0) | |
template<class SinglePassRange > | |
iterator_range (const SinglePassRange &r, iterator_range_detail::const_range_tag) | |
template<class SinglePassRange > | |
iterator_range (SinglePassRange &r, iterator_range_detail::range_tag) | |
template<class Iterator > | |
iterator_range & | operator= (const iterator_range< Iterator > &other) |
template<class Iterator > | |
iterator_range & | operator= (iterator_range< Iterator > &other) |
template<class SinglePassRange > | |
iterator_range & | operator= (SinglePassRange &r) |
template<class SinglePassRange > | |
iterator_range & | operator= (const SinglePassRange &r) |
iterator_range & | advance_begin (BOOST_DEDUCED_TYPENAME base_type::difference_type n) |
iterator_range & | advance_end (BOOST_DEDUCED_TYPENAME base_type::difference_type n) |
IteratorT | begin () const |
IteratorT | end () const |
bool | empty () const |
operator unspecified_bool_type () const | |
bool | operator! () const |
bool | equal (const iterator_range_base &r) const |
reference | front () const |
void | drop_front () |
void | drop_front (difference_type n) |
void | pop_front () |
Protected Types | |
typedef iterator_range_detail::iterator_range_impl < IteratorT > | impl |
typedef iterator_range | iterator_range_ |
Protected Member Functions | |
void | assign (Iterator first, Iterator last) |
void | assign (const SinglePassRange &r) |
void | assign (SinglePassRange &r) |
Protected Attributes | |
IteratorT | m_Begin |
IteratorT | m_End |
iterator_range class
An iterator_range
delimits a range in a sequence by beginning and ending iterators. An iterator_range can be passed to an algorithm which requires a sequence as an input. For example, the toupper()
function may be used most frequently on strings, but can also be used on iterator_ranges:
Many algorithms working with sequences take a pair of iterators, delimiting a working range, as an arguments. The iterator_range
class is an encapsulation of a range identified by a pair of iterators. It provides a collection interface, so it is possible to pass an instance to an algorithm requiring a collection as an input.
|
inherited |
const_iterator type
There is no distinction between const_iterator and iterator. These typedefs are provides to fulfill container interface
|
inherited |
|
protected |
|
inherited |
iterator type
|
protected |
|
inherited |
|
inherited |
typedef iterator_range<IteratorT> boost::iterator_range< IteratorT >::type |
|
inherited |
|
inherited |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlineinherited |
|
protectedinherited |
|
protectedinherited |