MorphoGraphX  2.0-1-227
Public Types | Public Member Functions | List of all members
mgx::BaseIterator< Iterator, Derived > Struct Template Reference

#include <MemberIterator.hpp>

Public Types

typedef Iterator base_iterator
 
typedef std::iterator_traits< Iterator >::difference_type difference_type
 Type of the difference between two iterators. More...
 

Public Member Functions

 BaseIterator ()
 Default constructor. More...
 
 BaseIterator (const base_iterator &i)
 Conversion from the base iterator. More...
 
 BaseIterator (const BaseIterator &other)
 Copy constructor. More...
 
1 - Forward/input iterator methods
bool operator== (const Derived &other) const
 
bool operator!= (const Derived &other) const
 
Derived & operator= (const Derived &copy)
 Assignment operator. More...
 
Derived & operator++ ()
 Prefix increment operator. More...
 
Derived & operator++ (int)
 Postfix increment operator. More...
 
2 - Bidirectional iterator methods
Derived & operator-- ()
 Prefix decrement operator. More...
 
Derived & operator-- (int)
 Postfix decrement operator. More...
 
3 - Random access methods
Derived & operator+= (difference_type n)
 In-place random increment operator. More...
 
Derived & operator-= (difference_type n)
 In-place random decrement operator. More...
 
bool operator< (const Derived &other) const
 
bool operator> (const Derived &other) const
 
bool operator<= (const Derived &other) const
 
bool operator>= (const Derived &other) const
 

Functions for random access iterators

base_iterator it
 Underlying iterator. More...
 
base_iterator base () const
 Direct access to the base iterator. More...
 
Derived operator+ (const Derived &it, difference_type n)
 
Derived operator+ (difference_type n, const Derived &it)
 
Derived operator- (const Derived &it, difference_type n)
 
Derived operator- (difference_type n, const Derived &it)
 
difference_type operator- (const Derived &last, const Derived &first)
 Distance between two iterators. More...
 

Detailed Description

template<class Iterator, class Derived>
struct mgx::BaseIterator< Iterator, Derived >

Definition at line 25 of file MemberIterator.hpp.

Member Typedef Documentation

◆ base_iterator

template<class Iterator , class Derived >
typedef Iterator mgx::BaseIterator< Iterator, Derived >::base_iterator

Definition at line 27 of file MemberIterator.hpp.

◆ difference_type

template<class Iterator , class Derived >
typedef std::iterator_traits<Iterator>::difference_type mgx::BaseIterator< Iterator, Derived >::difference_type

Type of the difference between two iterators.

Definition at line 31 of file MemberIterator.hpp.

Constructor & Destructor Documentation

◆ BaseIterator() [1/3]

template<class Iterator , class Derived >
mgx::BaseIterator< Iterator, Derived >::BaseIterator ( )
inline

Default constructor.

Definition at line 36 of file MemberIterator.hpp.

◆ BaseIterator() [2/3]

template<class Iterator , class Derived >
mgx::BaseIterator< Iterator, Derived >::BaseIterator ( const base_iterator i)
inline

Conversion from the base iterator.

Definition at line 41 of file MemberIterator.hpp.

◆ BaseIterator() [3/3]

template<class Iterator , class Derived >
mgx::BaseIterator< Iterator, Derived >::BaseIterator ( const BaseIterator< Iterator, Derived > &  other)
inline

Copy constructor.

Definition at line 46 of file MemberIterator.hpp.

Member Function Documentation

◆ base()

template<class Iterator , class Derived >
base_iterator mgx::BaseIterator< Iterator, Derived >::base ( ) const
inline

Direct access to the base iterator.

Definition at line 182 of file MemberIterator.hpp.

◆ operator!=()

template<class Iterator , class Derived >
bool mgx::BaseIterator< Iterator, Derived >::operator!= ( const Derived &  other) const
inline

Definition at line 53 of file MemberIterator.hpp.

◆ operator++() [1/2]

template<class Iterator , class Derived >
Derived& mgx::BaseIterator< Iterator, Derived >::operator++ ( )
inline

Prefix increment operator.

Definition at line 67 of file MemberIterator.hpp.

◆ operator++() [2/2]

template<class Iterator , class Derived >
Derived& mgx::BaseIterator< Iterator, Derived >::operator++ ( int  )
inline

Postfix increment operator.

Definition at line 75 of file MemberIterator.hpp.

◆ operator+=()

template<class Iterator , class Derived >
Derived& mgx::BaseIterator< Iterator, Derived >::operator+= ( difference_type  n)
inline

In-place random increment operator.

Definition at line 109 of file MemberIterator.hpp.

◆ operator--() [1/2]

template<class Iterator , class Derived >
Derived& mgx::BaseIterator< Iterator, Derived >::operator-- ( )
inline

Prefix decrement operator.

Definition at line 88 of file MemberIterator.hpp.

◆ operator--() [2/2]

template<class Iterator , class Derived >
Derived& mgx::BaseIterator< Iterator, Derived >::operator-- ( int  )
inline

Postfix decrement operator.

Definition at line 96 of file MemberIterator.hpp.

◆ operator-=()

template<class Iterator , class Derived >
Derived& mgx::BaseIterator< Iterator, Derived >::operator-= ( difference_type  n)
inline

In-place random decrement operator.

Definition at line 118 of file MemberIterator.hpp.

◆ operator<()

template<class Iterator , class Derived >
bool mgx::BaseIterator< Iterator, Derived >::operator< ( const Derived &  other) const
inline

Definition at line 124 of file MemberIterator.hpp.

◆ operator<=()

template<class Iterator , class Derived >
bool mgx::BaseIterator< Iterator, Derived >::operator<= ( const Derived &  other) const
inline

Definition at line 132 of file MemberIterator.hpp.

◆ operator=()

template<class Iterator , class Derived >
Derived& mgx::BaseIterator< Iterator, Derived >::operator= ( const Derived &  copy)
inline

Assignment operator.

Definition at line 58 of file MemberIterator.hpp.

◆ operator==()

template<class Iterator , class Derived >
bool mgx::BaseIterator< Iterator, Derived >::operator== ( const Derived &  other) const
inline

Definition at line 51 of file MemberIterator.hpp.

◆ operator>()

template<class Iterator , class Derived >
bool mgx::BaseIterator< Iterator, Derived >::operator> ( const Derived &  other) const
inline

Definition at line 128 of file MemberIterator.hpp.

◆ operator>=()

template<class Iterator , class Derived >
bool mgx::BaseIterator< Iterator, Derived >::operator>= ( const Derived &  other) const
inline

Definition at line 136 of file MemberIterator.hpp.

Friends And Related Function Documentation

◆ operator+ [1/2]

template<class Iterator , class Derived >
Derived operator+ ( const Derived &  it,
difference_type  n 
)
friend

Definition at line 143 of file MemberIterator.hpp.

◆ operator+ [2/2]

template<class Iterator , class Derived >
Derived operator+ ( difference_type  n,
const Derived &  it 
)
friend

Definition at line 150 of file MemberIterator.hpp.

◆ operator- [1/3]

template<class Iterator , class Derived >
Derived operator- ( const Derived &  it,
difference_type  n 
)
friend

Definition at line 157 of file MemberIterator.hpp.

◆ operator- [2/3]

template<class Iterator , class Derived >
difference_type operator- ( const Derived &  last,
const Derived &  first 
)
friend

Distance between two iterators.

Definition at line 174 of file MemberIterator.hpp.

◆ operator- [3/3]

template<class Iterator , class Derived >
Derived operator- ( difference_type  n,
const Derived &  it 
)
friend

Definition at line 164 of file MemberIterator.hpp.

Member Data Documentation

◆ it

template<class Iterator , class Derived >
base_iterator mgx::BaseIterator< Iterator, Derived >::it
protected

Underlying iterator.

Definition at line 190 of file MemberIterator.hpp.


The documentation for this struct was generated from the following file: