|
ThePEG
1.8.0
|
DIterator is an iterator adaptor class. More...
#include <DIterator.h>
Public Types | |
| typedef std::iterator_traits< BaseIterator > | Traits |
| Forward typedef from underlying iterator. | |
| typedef Traits::iterator_category | iterator_category |
| Forward typedef from underlying iterator. | |
| typedef Traits::difference_type | difference_type |
| Forward typedef from underlying iterator. | |
| typedef Traits::value_type | PtrType |
| Forward typedef from underlying iterator. | |
| typedef std::iterator_traits< PtrType > | PtrTraits |
| Forward typedef from underlying iterator. | |
| typedef PtrTraits::value_type | value_type |
| Forward typedef from underlying iterator. | |
| typedef PtrTraits::pointer | pointer |
| Forward typedef from underlying iterator. | |
| typedef PtrTraits::reference | reference |
| Forward typedef from underlying iterator. | |
Public Member Functions | |
| DIterator (const BaseIterator &in) | |
| Constructor from a normal iterator. | |
| DIterator (const DIterator &pi) | |
| Copy constructor. | |
| reference | operator* () const |
| Dereference the pointer referred to by the underlying iterator. | |
| pointer | operator-> () const |
| Select member from the pointer referred to by the underlying iterator. | |
| DIterator & | operator= (const DIterator &pi) |
| Standard assignment operator. | |
| DIterator & | operator= (const BaseIterator &pi) |
| Assignment from a a normal iterator. | |
| reference | operator[] (difference_type n) |
| Select a pointer with the given index and return a reference to the object pointed to. | |
| difference_type | operator- (const DIterator &pi) |
| Return the distance to the given iterator. | |
Increment and decrement operators. | |
| DIterator & | operator++ () |
| Pre increment the underlying iterator. More... | |
| DIterator | operator++ (int) |
| Post increment the underlying iterator. More... | |
| DIterator & | operator-- () |
| Pre decrement the underlying iterator. More... | |
| DIterator | operator-- (int) |
| Post decrement the underlying iterator. More... | |
| DIterator & | operator+= (int n) |
| Jump forward n steps. | |
| DIterator | operator+ (int n) |
| Get an iterator n steps forward. More... | |
| DIterator & | operator-= (int n) |
| Jump backward n steps. | |
| DIterator | operator- (int n) |
| Get an iterator n steps backward. More... | |
Comparison operators. | |
| bool | operator== (const DIterator &pi) |
| Test for equality. More... | |
| bool | operator!= (const DIterator &pi) |
| Test for inequality. More... | |
| bool | operator< (const DIterator &pi) |
| Test for less. More... | |
| bool | operator> (const DIterator &pi) |
| Test for greater. More... | |
| bool | operator<= (const DIterator &pi) |
| Test for less or equal. More... | |
| bool | operator>= (const DIterator &pi) |
| Test for greater or equal. More... | |
| bool | operator== (const BaseIterator &bi) |
| Test for equality. More... | |
| bool | operator!= (const BaseIterator &bi) |
| Test for inequality. More... | |
| bool | operator< (const BaseIterator &bi) |
| Test for less. More... | |
| bool | operator> (const BaseIterator &bi) |
| Test for greater. More... | |
| bool | operator<= (const BaseIterator &bi) |
| Test for less or equal. More... | |
| bool | operator>= (const BaseIterator &bi) |
| Test for greater or equal. More... | |
Private Member Functions | |
| DIterator () | |
| The default constructor should never be used. | |
Private Attributes | |
| BaseIterator | i |
| The underlying standard iterator. | |
DIterator is an iterator adaptor class.
It can be used whenever one has a container with pointers to facilitate member selection. The only requirement is that the underlying pointer is pointing to a valid object. Given e.g. a vector of pointers, vector<A*> pv where the class A has a member function dosomething(), it can be used as follows:
typedef DIterator<typename vector<A*>::iterator> It;
for ( It i = dv.begin(), i != dv.end(), ++i ) i->dosomething();
Definition at line 29 of file DIterator.h.
|
inline |
Test for inequality.
Definition at line 120 of file DIterator.h.
References ThePEG::DIterator< BaseIterator >::i.
|
inline |
Test for inequality.
Definition at line 132 of file DIterator.h.
References ThePEG::DIterator< BaseIterator >::i.
|
inline |
Get an iterator n steps forward.
Definition at line 97 of file DIterator.h.
References ThePEG::DIterator< BaseIterator >::DIterator(), and ThePEG::DIterator< BaseIterator >::i.
|
inline |
Pre increment the underlying iterator.
Definition at line 87 of file DIterator.h.
References ThePEG::DIterator< BaseIterator >::i.
|
inline |
Post increment the underlying iterator.
Definition at line 89 of file DIterator.h.
References ThePEG::DIterator< BaseIterator >::i.
|
inline |
Get an iterator n steps backward.
Definition at line 101 of file DIterator.h.
References ThePEG::DIterator< BaseIterator >::DIterator(), and ThePEG::DIterator< BaseIterator >::i.
|
inline |
Pre decrement the underlying iterator.
Definition at line 91 of file DIterator.h.
References ThePEG::DIterator< BaseIterator >::i.
|
inline |
Post decrement the underlying iterator.
Definition at line 93 of file DIterator.h.
References ThePEG::DIterator< BaseIterator >::i.
|
inline |
Test for less.
Definition at line 122 of file DIterator.h.
References ThePEG::DIterator< BaseIterator >::i.
|
inline |
Test for less.
Definition at line 134 of file DIterator.h.
References ThePEG::DIterator< BaseIterator >::i.
|
inline |
Test for less or equal.
Definition at line 126 of file DIterator.h.
References ThePEG::DIterator< BaseIterator >::i.
|
inline |
Test for less or equal.
Definition at line 138 of file DIterator.h.
References ThePEG::DIterator< BaseIterator >::i.
|
inline |
Test for equality.
Definition at line 118 of file DIterator.h.
References ThePEG::DIterator< BaseIterator >::i.
|
inline |
Test for equality.
Definition at line 130 of file DIterator.h.
References ThePEG::DIterator< BaseIterator >::i.
|
inline |
Test for greater.
Definition at line 124 of file DIterator.h.
References ThePEG::DIterator< BaseIterator >::i.
|
inline |
Test for greater.
Definition at line 136 of file DIterator.h.
References ThePEG::DIterator< BaseIterator >::i.
|
inline |
Test for greater or equal.
Definition at line 128 of file DIterator.h.
References ThePEG::DIterator< BaseIterator >::i.
|
inline |
Test for greater or equal.
Definition at line 140 of file DIterator.h.
References ThePEG::DIterator< BaseIterator >::i.
1.8.9.1