AdaptedIterator< _Iterator, IteratorCategory, ValueType, DifferenceType, Pointer, Reference > Class Template Reference

A base class for all adapted iterators. More...

#include <AdaptedIterator.h>

Inheritance diagram for AdaptedIterator< _Iterator, IteratorCategory, ValueType, DifferenceType, Pointer, Reference >:
IndirectIterator< _Iterator > MemFunIterator< _Iterator, Pointee, Result, Const >

List of all members.

Public Types

typedef _Iterator Iterator
 The base iterator type.
typedef Base::iterator_category iterator_category
 The iterator category.
typedef Base::value_type value_type
 The type "pointed to" by the iterator.
typedef Base::difference_type difference_type
 Distance between iterators is represented as this type.
typedef Base::pointer pointer
 This type represents a pointer-to-value_type.
typedef Base::reference reference
 This type represents a reference-to-value_type.

Public Member Functions

Accessors.

const Iterator & base () const
 Return the base iterator.

Protected Member Functions

Constructors etc.

The constructors are proctected because this class is only meant to be used as a base class.

 AdaptedIterator ()
 Default constructor.
 AdaptedIterator (const AdaptedIterator &x)
 Copy constructor.
AdaptedIterator & operator= (const AdaptedIterator &other)
 Assignment operator.
 AdaptedIterator (const Iterator &i)
 Construct from an iterator.
AdaptedIterator & operator= (const Iterator &i)
 Assignment from an iterator.
 ~AdaptedIterator ()
 Destructor.

Protected Attributes

Iterator _iterator
 The base iterator type.

Related Functions

(Note that these are not member functions.)



template<typename Iterator1 , typename IteratorCategory1 , typename ValueType1 , typename DifferenceType1 , typename Pointer1 , typename Reference1 , typename Iterator2 , typename IteratorCategory2 , typename ValueType2 , typename DifferenceType2 , typename Pointer2 , typename Reference2 >
bool operator== (const AdaptedIterator< Iterator1, IteratorCategory1, ValueType1, DifferenceType1, Pointer1, Reference1 > &x, const AdaptedIterator< Iterator2, IteratorCategory2, ValueType2, DifferenceType2, Pointer2, Reference2 > &y)
 Return true if the base iterators are the same.
template<typename Iterator1 , typename IteratorCategory1 , typename ValueType1 , typename DifferenceType1 , typename Pointer1 , typename Reference1 , typename Iterator2 , typename IteratorCategory2 , typename ValueType2 , typename DifferenceType2 , typename Pointer2 , typename Reference2 >
bool operator!= (const AdaptedIterator< Iterator1, IteratorCategory1, ValueType1, DifferenceType1, Pointer1, Reference1 > &x, const AdaptedIterator< Iterator2, IteratorCategory2, ValueType2, DifferenceType2, Pointer2, Reference2 > &y)
 Return true if the base iterators are not the same.
template<typename Iterator1 , typename IteratorCategory1 , typename ValueType1 , typename DifferenceType1 , typename Pointer1 , typename Reference1 , typename Iterator2 , typename IteratorCategory2 , typename ValueType2 , typename DifferenceType2 , typename Pointer2 , typename Reference2 >
bool operator< (const AdaptedIterator< Iterator1, IteratorCategory1, ValueType1, DifferenceType1, Pointer1, Reference1 > &x, const AdaptedIterator< Iterator2, IteratorCategory2, ValueType2, DifferenceType2, Pointer2, Reference2 > &y)
 Compare the base iterators.
template<typename Iterator1 , typename IteratorCategory1 , typename ValueType1 , typename DifferenceType1 , typename Pointer1 , typename Reference1 , typename Iterator2 , typename IteratorCategory2 , typename ValueType2 , typename DifferenceType2 , typename Pointer2 , typename Reference2 >
bool operator> (const AdaptedIterator< Iterator1, IteratorCategory1, ValueType1, DifferenceType1, Pointer1, Reference1 > &x, const AdaptedIterator< Iterator2, IteratorCategory2, ValueType2, DifferenceType2, Pointer2, Reference2 > &y)
 Compare the base iterators.
template<typename Iterator1 , typename IteratorCategory1 , typename ValueType1 , typename DifferenceType1 , typename Pointer1 , typename Reference1 , typename Iterator2 , typename IteratorCategory2 , typename ValueType2 , typename DifferenceType2 , typename Pointer2 , typename Reference2 >
bool operator<= (const AdaptedIterator< Iterator1, IteratorCategory1, ValueType1, DifferenceType1, Pointer1, Reference1 > &x, const AdaptedIterator< Iterator2, IteratorCategory2, ValueType2, DifferenceType2, Pointer2, Reference2 > &y)
 Compare the base iterators.
template<typename Iterator1 , typename IteratorCategory1 , typename ValueType1 , typename DifferenceType1 , typename Pointer1 , typename Reference1 , typename Iterator2 , typename IteratorCategory2 , typename ValueType2 , typename DifferenceType2 , typename Pointer2 , typename Reference2 >
bool operator>= (const AdaptedIterator< Iterator1, IteratorCategory1, ValueType1, DifferenceType1, Pointer1, Reference1 > &x, const AdaptedIterator< Iterator2, IteratorCategory2, ValueType2, DifferenceType2, Pointer2, Reference2 > &y)
 Compare the base iterators.
template<typename Iterator1 , typename IteratorCategory1 , typename ValueType1 , typename DifferenceType1 , typename Pointer1 , typename Reference1 , typename Iterator2 , typename IteratorCategory2 , typename ValueType2 , typename DifferenceType2 , typename Pointer2 , typename Reference2 >
AdaptedIterator< Iterator1,
IteratorCategory1, ValueType1,
DifferenceType1, Pointer1,
Reference1 >::difference_type 
operator- (const AdaptedIterator< Iterator1, IteratorCategory1, ValueType1, DifferenceType1, Pointer1, Reference1 > &x, const AdaptedIterator< Iterator2, IteratorCategory2, ValueType2, DifferenceType2, Pointer2, Reference2 > &y)
 Difference of pointers.

Detailed Description

template<typename _Iterator, typename IteratorCategory, typename ValueType, typename DifferenceType, typename Pointer, typename Reference>
class AdaptedIterator< _Iterator, IteratorCategory, ValueType, DifferenceType, Pointer, Reference >

A base class for all adapted iterators.


The documentation for this class was generated from the following file:
Generated on Thu Jun 30 02:14:51 2016 for Algorithms and Data Structures Package by  doxygen 1.6.3