DGtal
0.6.devel
|
#include <Circulator.h>
Public Types | |
typedef TIterator | Iterator |
typedef Circulator< TIterator > | Self |
typedef CirculatorType | Type |
typedef boost::iterator_category < TIterator >::type | iterator_category |
typedef iterator_traits < TIterator >::value_type | value_type |
typedef iterator_traits < TIterator >::difference_type | difference_type |
typedef iterator_traits < TIterator >::pointer | pointer |
typedef iterator_traits < TIterator >::reference | reference |
Public Member Functions | |
Circulator () | |
Circulator (const Iterator &i, const Iterator &itb, const Iterator &ite) | |
~Circulator () | |
Circulator (const Circulator &other) | |
template<typename other_Iterator > | |
Circulator (const Circulator< other_Iterator > &other) | |
Circulator & | operator= (const Circulator &other) |
template<typename other_Iterator > | |
Circulator & | operator= (const Circulator< other_Iterator > &other) |
bool | isValid () const |
Iterator | base () const |
Iterator | begin () const |
Iterator | end () const |
reference | operator* () const |
pointer | operator-> () const |
Self & | operator++ () |
Self | operator++ (int) |
Self & | operator-- () |
Self | operator-- (int) |
bool | operator== (const Self &other) const |
bool | operator!= (const Self &other) const |
template<typename OtherIterator > | |
bool | operator== (const OtherIterator &other) const |
template<typename OtherIterator > | |
bool | operator!= (const OtherIterator &other) const |
Self & | operator+= (difference_type d) |
Self | operator+ (difference_type d) const |
Self | operator- (difference_type d) const |
Self & | operator-= (difference_type d) |
difference_type | operator- (const Self &c) const |
reference | operator[] (difference_type d) const |
Protected Attributes | |
Iterator | myCurrentIt |
Iterator | myBeginIt |
Iterator | myEndIt |
bool | myFlagIsValid |
Aim: Provides an adapter for STL iterators that can iterate through the underlying data structure as in a loop. The increment (resp. decrement if at least bidirectionnal) operator encapsulates the validity test and the assignement to the first (resp. last) iterator of a given range. For instance, the pre-increment operator does:
Description of template class 'Circulator'
whereas the pre-decrement operator does (if at least bidirectionnal):
TIterator | any forward, bidirectionnal or random access iterator |
Definition at line 77 of file Circulator.h.
typedef iterator_traits<TIterator>::difference_type DGtal::Circulator< TIterator >::difference_type |
Definition at line 92 of file Circulator.h.
typedef TIterator DGtal::Circulator< TIterator >::Iterator |
Definition at line 83 of file Circulator.h.
typedef boost::iterator_category<TIterator>::type DGtal::Circulator< TIterator >::iterator_category |
Definition at line 89 of file Circulator.h.
typedef iterator_traits<TIterator>::pointer DGtal::Circulator< TIterator >::pointer |
Definition at line 93 of file Circulator.h.
typedef iterator_traits<TIterator>::reference DGtal::Circulator< TIterator >::reference |
Definition at line 94 of file Circulator.h.
typedef Circulator<TIterator> DGtal::Circulator< TIterator >::Self |
Definition at line 84 of file Circulator.h.
typedef CirculatorType DGtal::Circulator< TIterator >::Type |
Definition at line 86 of file Circulator.h.
typedef iterator_traits<TIterator>::value_type DGtal::Circulator< TIterator >::value_type |
Definition at line 91 of file Circulator.h.
|
inline |
Default constructor. Default-initializes iterator members NB: not valid
Definition at line 106 of file Circulator.h.
|
inlineexplicit |
Constructor. This object can iterate through the underlying data structure as in a loop, because it knows the begin and end iterator of the range.
i | any iterator |
itb | begin iterator |
ite | end iterator |
Definition at line 118 of file Circulator.h.
References DGtal::Circulator< TIterator >::myBeginIt, DGtal::Circulator< TIterator >::myEndIt, and DGtal::Circulator< TIterator >::myFlagIsValid.
|
inline |
|
inline |
Copy constructor.
other | the object to clone. |
Definition at line 133 of file Circulator.h.
|
inline |
Copy of circulators that adapts other iterator types (not const / const).
other | the object to clone. |
Definition at line 144 of file Circulator.h.
|
inline |
Definition at line 205 of file Circulator.h.
References DGtal::Circulator< TIterator >::myCurrentIt.
Referenced by DGtal::Circulator< TIterator >::operator=(), and DGtal::Circulator< TIterator >::operator==().
|
inline |
Definition at line 211 of file Circulator.h.
References DGtal::Circulator< TIterator >::myBeginIt.
Referenced by DGtal::Circulator< TIterator >::operator=(), and DGtal::Circulator< TIterator >::operator==().
|
inline |
Definition at line 217 of file Circulator.h.
References DGtal::Circulator< TIterator >::myEndIt.
Referenced by DGtal::Circulator< TIterator >::operator=(), and DGtal::Circulator< TIterator >::operator==().
|
inline |
Checks the validity/consistency of the object.
Definition at line 195 of file Circulator.h.
References DGtal::Circulator< TIterator >::myFlagIsValid.
Referenced by DGtal::Circulator< TIterator >::operator*(), DGtal::Circulator< TIterator >::operator++(), DGtal::Circulator< TIterator >::operator+=(), DGtal::Circulator< TIterator >::operator-(), DGtal::Circulator< TIterator >::operator--(), DGtal::Circulator< TIterator >::operator->(), and DGtal::Circulator< TIterator >::operator==().
|
inline |
Definition at line 297 of file Circulator.h.
|
inline |
Definition at line 307 of file Circulator.h.
|
inline |
Definition at line 223 of file Circulator.h.
References DGtal::Circulator< TIterator >::isValid(), and DGtal::Circulator< TIterator >::myCurrentIt.
|
inline |
Definition at line 326 of file Circulator.h.
|
inline |
Pre-increment
Definition at line 245 of file Circulator.h.
References DGtal::Circulator< TIterator >::isValid(), DGtal::Circulator< TIterator >::myBeginIt, DGtal::Circulator< TIterator >::myCurrentIt, and DGtal::Circulator< TIterator >::myEndIt.
Referenced by DGtal::Circulator< TIterator >::operator++().
|
inline |
Post-increment
Definition at line 256 of file Circulator.h.
References DGtal::Circulator< TIterator >::operator++().
|
inline |
Definition at line 313 of file Circulator.h.
References DGtal::Circulator< TIterator >::isValid(), DGtal::Circulator< TIterator >::myBeginIt, DGtal::Circulator< TIterator >::myCurrentIt, and DGtal::Circulator< TIterator >::myEndIt.
Referenced by DGtal::Circulator< TIterator >::operator-=().
|
inline |
Definition at line 330 of file Circulator.h.
|
inline |
Definition at line 336 of file Circulator.h.
References DGtal::Circulator< TIterator >::isValid(), and DGtal::Circulator< TIterator >::myCurrentIt.
|
inline |
Pre-decrement
Definition at line 267 of file Circulator.h.
References DGtal::Circulator< TIterator >::isValid(), DGtal::Circulator< TIterator >::myBeginIt, DGtal::Circulator< TIterator >::myCurrentIt, and DGtal::Circulator< TIterator >::myEndIt.
Referenced by DGtal::Circulator< TIterator >::operator--().
|
inline |
Post-decrement
Definition at line 278 of file Circulator.h.
References DGtal::Circulator< TIterator >::operator--().
|
inline |
Definition at line 334 of file Circulator.h.
References DGtal::Circulator< TIterator >::operator+=().
|
inline |
Definition at line 232 of file Circulator.h.
References DGtal::Circulator< TIterator >::isValid(), and DGtal::Circulator< TIterator >::myCurrentIt.
|
inline |
Assignment.
other | the object to copy. |
Definition at line 155 of file Circulator.h.
References DGtal::Circulator< TIterator >::myBeginIt, DGtal::Circulator< TIterator >::myCurrentIt, DGtal::Circulator< TIterator >::myEndIt, and DGtal::Circulator< TIterator >::myFlagIsValid.
|
inline |
Assignment that adapts other iterator types (not const / const).
other | the object to copy. |
Definition at line 176 of file Circulator.h.
References DGtal::Circulator< TIterator >::base(), DGtal::Circulator< TIterator >::begin(), DGtal::Circulator< TIterator >::end(), DGtal::Circulator< TIterator >::myBeginIt, DGtal::Circulator< TIterator >::myCurrentIt, DGtal::Circulator< TIterator >::myEndIt, and DGtal::Circulator< TIterator >::myFlagIsValid.
|
inline |
Definition at line 291 of file Circulator.h.
References DGtal::Circulator< TIterator >::base(), DGtal::Circulator< TIterator >::begin(), DGtal::Circulator< TIterator >::end(), DGtal::Circulator< TIterator >::isValid(), DGtal::Circulator< TIterator >::myBeginIt, DGtal::Circulator< TIterator >::myCurrentIt, and DGtal::Circulator< TIterator >::myEndIt.
|
inline |
Definition at line 300 of file Circulator.h.
References DGtal::Circulator< TIterator >::isValid(), DGtal::Circulator< TIterator >::myBeginIt, DGtal::Circulator< TIterator >::myCurrentIt, and DGtal::Circulator< TIterator >::myEndIt.
|
inline |
Definition at line 341 of file Circulator.h.
|
protected |
Definition at line 355 of file Circulator.h.
Referenced by DGtal::Circulator< TIterator >::begin(), DGtal::Circulator< TIterator >::Circulator(), DGtal::Circulator< TIterator >::operator++(), DGtal::Circulator< TIterator >::operator+=(), DGtal::Circulator< TIterator >::operator--(), DGtal::Circulator< TIterator >::operator=(), and DGtal::Circulator< TIterator >::operator==().
|
protected |
Definition at line 354 of file Circulator.h.
Referenced by DGtal::Circulator< TIterator >::base(), DGtal::Circulator< TIterator >::operator*(), DGtal::Circulator< TIterator >::operator++(), DGtal::Circulator< TIterator >::operator+=(), DGtal::Circulator< TIterator >::operator-(), DGtal::Circulator< TIterator >::operator--(), DGtal::Circulator< TIterator >::operator->(), DGtal::Circulator< TIterator >::operator=(), and DGtal::Circulator< TIterator >::operator==().
|
protected |
Definition at line 356 of file Circulator.h.
Referenced by DGtal::Circulator< TIterator >::Circulator(), DGtal::Circulator< TIterator >::end(), DGtal::Circulator< TIterator >::operator++(), DGtal::Circulator< TIterator >::operator+=(), DGtal::Circulator< TIterator >::operator--(), DGtal::Circulator< TIterator >::operator=(), and DGtal::Circulator< TIterator >::operator==().
|
protected |
Definition at line 357 of file Circulator.h.
Referenced by DGtal::Circulator< TIterator >::Circulator(), DGtal::Circulator< TIterator >::isValid(), and DGtal::Circulator< TIterator >::operator=().