MorphoGraphX  2.0-1-227
Public Types | Public Member Functions | List of all members
mgx::SelectMemberPointerIterator< Iterator, T, member, Reference, Pointer > Struct Template Reference

#include <MemberIterator.hpp>

+ Inheritance diagram for mgx::SelectMemberPointerIterator< Iterator, T, member, Reference, Pointer >:

Public Types

typedef BaseIterator< Iterator, SelectMemberPointerIterator< Iterator, T, member, Reference, Pointer > > Super
 Type of the base class. More...
 
typedef Iterator base_iterator
 Type of the underlying iterator. More...
 
typedef std::iterator_traits< Iterator >::iterator_category iterator_category
 Category of the iterator. More...
 
typedef T value_type
 Type of the value iterated on. More...
 
typedef std::iterator_traits< Iterator >::difference_type difference_type
 Type of the difference between two iterators. More...
 
typedef Reference reference
 Type of a reference on the values. More...
 
typedef Pointer pointer
 Type of a pointer on the values. More...
 
- Public Types inherited from mgx::BaseIterator< Iterator, SelectMemberPointerIterator< Iterator, T, member, T &, T * > >
typedef Iterator base_iterator
 
typedef std::iterator_traits< Iterator >::difference_type difference_type
 Type of the difference between two iterators. More...
 

Public Member Functions

 SelectMemberPointerIterator ()
 Default constructor. More...
 
 SelectMemberPointerIterator (const base_iterator &i)
 Conversion from the base iterator. More...
 
 SelectMemberPointerIterator (const SelectMemberPointerIterator &other)
 Copy constructor. More...
 
reference operator* ()
 Dereference operator. More...
 
const reference operator* () const
 Constant dereference operator. More...
 
pointer operator-> ()
 Pointer-like arrow operator. More...
 
const pointer operator-> () const
 Pointer-like constant arrow operator. More...
 
- Public Member Functions inherited from mgx::BaseIterator< Iterator, SelectMemberPointerIterator< Iterator, T, member, T &, T * > >
 BaseIterator ()
 Default constructor. More...
 
 BaseIterator (const base_iterator &i)
 Conversion from the base iterator. More...
 
 BaseIterator (const BaseIterator &other)
 Copy constructor. More...
 
bool operator== (const SelectMemberPointerIterator< Iterator, T, member, T &, T * > &other) const
 
bool operator!= (const SelectMemberPointerIterator< Iterator, T, member, T &, T * > &other) const
 
SelectMemberPointerIterator< Iterator, T, member, T &, T * > & operator= (const SelectMemberPointerIterator< Iterator, T, member, T &, T * > &copy)
 Assignment operator. More...
 
SelectMemberPointerIterator< Iterator, T, member, T &, T * > & operator++ ()
 Prefix increment operator. More...
 
SelectMemberPointerIterator< Iterator, T, member, T &, T * > & operator++ (int)
 Postfix increment operator. More...
 
SelectMemberPointerIterator< Iterator, T, member, T &, T * > & operator-- ()
 Prefix decrement operator. More...
 
SelectMemberPointerIterator< Iterator, T, member, T &, T * > & operator-- (int)
 Postfix decrement operator. More...
 
SelectMemberPointerIterator< Iterator, T, member, T &, T * > & operator+= (difference_type n)
 In-place random increment operator. More...
 
SelectMemberPointerIterator< Iterator, T, member, T &, T * > & operator-= (difference_type n)
 In-place random decrement operator. More...
 
bool operator< (const SelectMemberPointerIterator< Iterator, T, member, T &, T * > &other) const
 
bool operator> (const SelectMemberPointerIterator< Iterator, T, member, T &, T * > &other) const
 
bool operator<= (const SelectMemberPointerIterator< Iterator, T, member, T &, T * > &other) const
 
bool operator>= (const SelectMemberPointerIterator< Iterator, T, member, T &, T * > &other) const
 
base_iterator base () const
 Direct access to the base iterator. More...
 

Additional Inherited Members

- Protected Attributes inherited from mgx::BaseIterator< Iterator, SelectMemberPointerIterator< Iterator, T, member, T &, T * > >
base_iterator it
 Underlying iterator. More...
 

Detailed Description

template<class Iterator, class T, T remove_pointer< typename std::iterator_traits< Iterator >::value_type >::type::* member, class Reference = T&, class Pointer = T*>
struct mgx::SelectMemberPointerIterator< Iterator, T, member, Reference, Pointer >

Definition at line 317 of file MemberIterator.hpp.

Member Typedef Documentation

◆ base_iterator

template<class Iterator , class T , T remove_pointer< typename std::iterator_traits< Iterator >::value_type >::type::* member, class Reference = T&, class Pointer = T*>
typedef Iterator mgx::SelectMemberPointerIterator< Iterator, T, member, Reference, Pointer >::base_iterator

Type of the underlying iterator.

Definition at line 326 of file MemberIterator.hpp.

◆ difference_type

template<class Iterator , class T , T remove_pointer< typename std::iterator_traits< Iterator >::value_type >::type::* member, class Reference = T&, class Pointer = T*>
typedef std::iterator_traits<Iterator>::difference_type mgx::SelectMemberPointerIterator< Iterator, T, member, Reference, Pointer >::difference_type

Type of the difference between two iterators.

Definition at line 338 of file MemberIterator.hpp.

◆ iterator_category

template<class Iterator , class T , T remove_pointer< typename std::iterator_traits< Iterator >::value_type >::type::* member, class Reference = T&, class Pointer = T*>
typedef std::iterator_traits<Iterator>::iterator_category mgx::SelectMemberPointerIterator< Iterator, T, member, Reference, Pointer >::iterator_category

Category of the iterator.

Definition at line 330 of file MemberIterator.hpp.

◆ pointer

template<class Iterator , class T , T remove_pointer< typename std::iterator_traits< Iterator >::value_type >::type::* member, class Reference = T&, class Pointer = T*>
typedef Pointer mgx::SelectMemberPointerIterator< Iterator, T, member, Reference, Pointer >::pointer

Type of a pointer on the values.

Definition at line 346 of file MemberIterator.hpp.

◆ reference

template<class Iterator , class T , T remove_pointer< typename std::iterator_traits< Iterator >::value_type >::type::* member, class Reference = T&, class Pointer = T*>
typedef Reference mgx::SelectMemberPointerIterator< Iterator, T, member, Reference, Pointer >::reference

Type of a reference on the values.

Definition at line 342 of file MemberIterator.hpp.

◆ Super

template<class Iterator , class T , T remove_pointer< typename std::iterator_traits< Iterator >::value_type >::type::* member, class Reference = T&, class Pointer = T*>
typedef BaseIterator<Iterator, SelectMemberPointerIterator<Iterator, T, member, Reference, Pointer> > mgx::SelectMemberPointerIterator< Iterator, T, member, Reference, Pointer >::Super

Type of the base class.

Definition at line 322 of file MemberIterator.hpp.

◆ value_type

template<class Iterator , class T , T remove_pointer< typename std::iterator_traits< Iterator >::value_type >::type::* member, class Reference = T&, class Pointer = T*>
typedef T mgx::SelectMemberPointerIterator< Iterator, T, member, Reference, Pointer >::value_type

Type of the value iterated on.

Definition at line 334 of file MemberIterator.hpp.

Constructor & Destructor Documentation

◆ SelectMemberPointerIterator() [1/3]

template<class Iterator , class T , T remove_pointer< typename std::iterator_traits< Iterator >::value_type >::type::* member, class Reference = T&, class Pointer = T*>
mgx::SelectMemberPointerIterator< Iterator, T, member, Reference, Pointer >::SelectMemberPointerIterator ( )
inline

Default constructor.

Definition at line 351 of file MemberIterator.hpp.

◆ SelectMemberPointerIterator() [2/3]

template<class Iterator , class T , T remove_pointer< typename std::iterator_traits< Iterator >::value_type >::type::* member, class Reference = T&, class Pointer = T*>
mgx::SelectMemberPointerIterator< Iterator, T, member, Reference, Pointer >::SelectMemberPointerIterator ( const base_iterator i)
inline

Conversion from the base iterator.

Definition at line 357 of file MemberIterator.hpp.

◆ SelectMemberPointerIterator() [3/3]

template<class Iterator , class T , T remove_pointer< typename std::iterator_traits< Iterator >::value_type >::type::* member, class Reference = T&, class Pointer = T*>
mgx::SelectMemberPointerIterator< Iterator, T, member, Reference, Pointer >::SelectMemberPointerIterator ( const SelectMemberPointerIterator< Iterator, T, member, Reference, Pointer > &  other)
inline

Copy constructor.

Definition at line 365 of file MemberIterator.hpp.

Member Function Documentation

◆ operator*() [1/2]

template<class Iterator , class T , T remove_pointer< typename std::iterator_traits< Iterator >::value_type >::type::* member, class Reference = T&, class Pointer = T*>
reference mgx::SelectMemberPointerIterator< Iterator, T, member, Reference, Pointer >::operator* ( )
inline

Dereference operator.

Definition at line 373 of file MemberIterator.hpp.

◆ operator*() [2/2]

template<class Iterator , class T , T remove_pointer< typename std::iterator_traits< Iterator >::value_type >::type::* member, class Reference = T&, class Pointer = T*>
const reference mgx::SelectMemberPointerIterator< Iterator, T, member, Reference, Pointer >::operator* ( ) const
inline

Constant dereference operator.

Definition at line 379 of file MemberIterator.hpp.

◆ operator->() [1/2]

template<class Iterator , class T , T remove_pointer< typename std::iterator_traits< Iterator >::value_type >::type::* member, class Reference = T&, class Pointer = T*>
pointer mgx::SelectMemberPointerIterator< Iterator, T, member, Reference, Pointer >::operator-> ( )
inline

Pointer-like arrow operator.

Definition at line 386 of file MemberIterator.hpp.

◆ operator->() [2/2]

template<class Iterator , class T , T remove_pointer< typename std::iterator_traits< Iterator >::value_type >::type::* member, class Reference = T&, class Pointer = T*>
const pointer mgx::SelectMemberPointerIterator< Iterator, T, member, Reference, Pointer >::operator-> ( ) const
inline

Pointer-like constant arrow operator.

Definition at line 392 of file MemberIterator.hpp.


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