Defines the iterator_class and related functions.
More...
#include <boost/config.hpp>#include <boost/detail/workaround.hpp>#include <boost/assert.hpp>#include <boost/iterator/iterator_traits.hpp>#include <boost/iterator/iterator_facade.hpp>#include <boost/mpl/if.hpp>#include <boost/mpl/not.hpp>#include <boost/mpl/or.hpp>#include <boost/type_traits/is_abstract.hpp>#include <boost/type_traits/is_array.hpp>#include <boost/type_traits/is_base_and_derived.hpp>#include <boost/type_traits/is_convertible.hpp>#include <boost/type_traits/is_function.hpp>#include <boost/type_traits/is_pointer.hpp>#include <boost/type_traits/is_same.hpp>#include <boost/range/functions.hpp>#include <boost/range/iterator.hpp>#include <boost/range/difference_type.hpp>#include <boost/range/has_range_iterator.hpp>#include <boost/range/algorithm/equal.hpp>#include <boost/range/detail/safe_bool.hpp>#include <boost/utility/enable_if.hpp>#include <iterator>#include <algorithm>#include <cstddef>

Namespaces | |
| boost | |
| Duration formatting facet for input. | |
| boost::iterator_range_detail | |
Typedefs | |
| typedef char(& | boost::iterator_range_detail::incrementable_t )[1] |
| typedef char(& | boost::iterator_range_detail::bidirectional_t )[2] |
| typedef char(& | boost::iterator_range_detail::random_access_t )[3] |
Functions | |
| template<class Left , class Right > | |
| bool | boost::iterator_range_detail::less_than (const Left &l, const Right &r) |
| template<class Left , class Right > | |
| bool | boost::iterator_range_detail::greater_than (const Left &l, const Right &r) |
| template<class Left , class Right > | |
| bool | boost::iterator_range_detail::less_or_equal_than (const Left &l, const Right &r) |
| template<class Left , class Right > | |
| bool | boost::iterator_range_detail::greater_or_equal_than (const Left &l, const Right &r) |
| template<class Left , class Right > | |
| bool | boost::iterator_range_detail::equal (const Left &l, const Right &r) |
| incrementable_t | boost::iterator_range_detail::test_traversal_tag (boost::incrementable_traversal_tag) |
| bidirectional_t | boost::iterator_range_detail::test_traversal_tag (boost::bidirectional_traversal_tag) |
| random_access_t | boost::iterator_range_detail::test_traversal_tag (boost::random_access_traversal_tag) |
| template<class IteratorT , class ForwardRange > | |
| BOOST_DEDUCED_TYPENAME boost::enable_if< mpl::not_ < is_base_and_derived < iterator_range_detail::iterator_range_tag, ForwardRange > >, bool >::type | boost::operator== (const ForwardRange &l, const iterator_range< IteratorT > &r) |
| template<class IteratorT , class ForwardRange > | |
| BOOST_DEDUCED_TYPENAME boost::enable_if< mpl::not_ < boost::is_base_and_derived < iterator_range_detail::iterator_range_tag, ForwardRange > >, bool >::type | boost::operator!= (const ForwardRange &l, const iterator_range< IteratorT > &r) |
| template<class IteratorT , class ForwardRange > | |
| BOOST_DEDUCED_TYPENAME boost::enable_if< mpl::not_ < boost::is_base_and_derived < iterator_range_detail::iterator_range_tag, ForwardRange > >, bool >::type | boost::operator< (const ForwardRange &l, const iterator_range< IteratorT > &r) |
| template<class IteratorT , class ForwardRange > | |
| BOOST_DEDUCED_TYPENAME boost::enable_if< mpl::not_ < boost::is_base_and_derived < iterator_range_detail::iterator_range_tag, ForwardRange > >, bool >::type | boost::operator<= (const ForwardRange &l, const iterator_range< IteratorT > &r) |
| template<class IteratorT , class ForwardRange > | |
| BOOST_DEDUCED_TYPENAME boost::enable_if< mpl::not_ < boost::is_base_and_derived < iterator_range_detail::iterator_range_tag, ForwardRange > >, bool >::type | boost::operator> (const ForwardRange &l, const iterator_range< IteratorT > &r) |
| template<class IteratorT , class ForwardRange > | |
| BOOST_DEDUCED_TYPENAME boost::enable_if< mpl::not_ < boost::is_base_and_derived < iterator_range_detail::iterator_range_tag, ForwardRange > >, bool >::type | boost::operator>= (const ForwardRange &l, const iterator_range< IteratorT > &r) |
| template<class Iterator1T , class Iterator2T > | |
| bool | boost::operator== (const iterator_range< Iterator1T > &l, const iterator_range< Iterator2T > &r) |
| template<class IteratorT , class ForwardRange > | |
| BOOST_DEDUCED_TYPENAME boost::enable_if< mpl::not_ < boost::is_base_and_derived < iterator_range_detail::iterator_range_tag, ForwardRange > >, bool >::type | boost::operator== (const iterator_range< IteratorT > &l, const ForwardRange &r) |
| template<class Iterator1T , class Iterator2T > | |
| bool | boost::operator!= (const iterator_range< Iterator1T > &l, const iterator_range< Iterator2T > &r) |
| template<class IteratorT , class ForwardRange > | |
| BOOST_DEDUCED_TYPENAME boost::enable_if< mpl::not_ < boost::is_base_and_derived < iterator_range_detail::iterator_range_tag, ForwardRange > >, bool >::type | boost::operator!= (const iterator_range< IteratorT > &l, const ForwardRange &r) |
| template<class Iterator1T , class Iterator2T > | |
| bool | boost::operator< (const iterator_range< Iterator1T > &l, const iterator_range< Iterator2T > &r) |
| template<class IteratorT , class ForwardRange > | |
| BOOST_DEDUCED_TYPENAME boost::enable_if< mpl::not_ < boost::is_base_and_derived < iterator_range_detail::iterator_range_tag, ForwardRange > >, bool >::type | boost::operator< (const iterator_range< IteratorT > &l, const ForwardRange &r) |
| template<class Iterator1T , class Iterator2T > | |
| bool | boost::operator<= (const iterator_range< Iterator1T > &l, const iterator_range< Iterator2T > &r) |
| template<class IteratorT , class ForwardRange > | |
| BOOST_DEDUCED_TYPENAME boost::enable_if< mpl::not_ < boost::is_base_and_derived < iterator_range_detail::iterator_range_tag, ForwardRange > >, bool >::type | boost::operator<= (const iterator_range< IteratorT > &l, const ForwardRange &r) |
| template<class Iterator1T , class Iterator2T > | |
| bool | boost::operator> (const iterator_range< Iterator1T > &l, const iterator_range< Iterator2T > &r) |
| template<class IteratorT , class ForwardRange > | |
| BOOST_DEDUCED_TYPENAME boost::enable_if< mpl::not_ < boost::is_base_and_derived < iterator_range_detail::iterator_range_tag, ForwardRange > >, bool >::type | boost::operator> (const iterator_range< IteratorT > &l, const ForwardRange &r) |
| template<class Iterator1T , class Iterator2T > | |
| bool | boost::operator>= (const iterator_range< Iterator1T > &l, const iterator_range< Iterator2T > &r) |
| template<class IteratorT , class ForwardRange > | |
| BOOST_DEDUCED_TYPENAME boost::enable_if< mpl::not_ < boost::is_base_and_derived < iterator_range_detail::iterator_range_tag, ForwardRange > >, bool >::type | boost::operator>= (const iterator_range< IteratorT > &l, const ForwardRange &r) |
| template<typename IteratorT > | |
| iterator_range< IteratorT > | boost::make_iterator_range (IteratorT Begin, IteratorT End) |
| iterator_range construct helper More... | |
| template<typename IteratorT , typename IntegerT > | |
| iterator_range< IteratorT > | boost::make_iterator_range_n (IteratorT first, IntegerT n) |
| template<class ForwardRange > | |
| iterator_range < BOOST_DEDUCED_TYPENAME range_iterator< ForwardRange > ::type > | boost::make_iterator_range (ForwardRange &r) |
| iterator_range construct helper More... | |
| template<class ForwardRange > | |
| iterator_range < BOOST_DEDUCED_TYPENAME range_iterator< const ForwardRange >::type > | boost::make_iterator_range (const ForwardRange &r) |
| template<class Range > | |
| iterator_range < BOOST_DEDUCED_TYPENAME range_iterator< Range >::type > | boost::iterator_range_detail::make_range_impl (Range &r, BOOST_DEDUCED_TYPENAME range_difference< Range >::type advance_begin, BOOST_DEDUCED_TYPENAME range_difference< Range >::type advance_end) |
| template<class Range > | |
| iterator_range < BOOST_DEDUCED_TYPENAME range_iterator< Range >::type > | boost::make_iterator_range (Range &r, BOOST_DEDUCED_TYPENAME range_difference< Range >::type advance_begin, BOOST_DEDUCED_TYPENAME range_difference< Range >::type advance_end) |
| template<class Range > | |
| iterator_range < BOOST_DEDUCED_TYPENAME range_iterator< const Range > ::type > | boost::make_iterator_range (const Range &r, BOOST_DEDUCED_TYPENAME range_difference< Range >::type advance_begin, BOOST_DEDUCED_TYPENAME range_difference< Range >::type advance_end) |
| template<typename SeqT , typename Range > | |
| SeqT | boost::copy_range (const Range &r) |
| copy a range into a sequence More... | |
Defines the iterator_class and related functions.
iterator_range is a simple wrapper of iterator pair idiom. It provides a rich subset of Container interface.