_Iterator wrapper supporting an implicit supremum at the end of the sequence, dominating all comparisons. More...
#include <multiway_merge.h>
Public Member Functions | |
_GuardedIterator (_RAIter __begin, _RAIter __end, _Compare &__comp) | |
Constructor. More... | |
operator _RAIter () | |
Convert to wrapped iterator. More... | |
std::iterator_traits< _RAIter >::value_type & | operator* () |
Dereference operator. More... | |
_GuardedIterator< _RAIter, _Compare > & | operator++ () |
Pre-increment operator. More... | |
Private Attributes | |
_Compare & | __comp |
_Compare. More... | |
_RAIter | _M_current |
Current iterator __position. More... | |
_RAIter | _M_end |
End iterator of the sequence. More... | |
Friends | |
bool | operator< (_GuardedIterator< _RAIter, _Compare > &__bi1, _GuardedIterator< _RAIter, _Compare > &__bi2) |
Compare two elements referenced by guarded iterators. More... | |
bool | operator<= (_GuardedIterator< _RAIter, _Compare > &__bi1, _GuardedIterator< _RAIter, _Compare > &__bi2) |
Compare two elements referenced by guarded iterators. More... | |
_Iterator wrapper supporting an implicit supremum at the end of the sequence, dominating all comparisons.
The implicit supremum comes with a performance cost.
Deriving from _RAIter is not possible since _RAIter need not be a class.
|
inline |
Constructor.
Sets iterator to beginning of sequence.
__begin | Begin iterator of sequence. |
__end | End iterator of sequence. |
__comp | Comparator provided for associated overloaded compare operators. |
|
inline |
Convert to wrapped iterator.
References __gnu_parallel::_GuardedIterator< _RAIter, _Compare >::_M_current.
|
inline |
Dereference operator.
References __gnu_parallel::_GuardedIterator< _RAIter, _Compare >::_M_current.
|
inline |
Pre-increment operator.
References __gnu_parallel::_GuardedIterator< _RAIter, _Compare >::_M_current.
|
friend |
Compare two elements referenced by guarded iterators.
__bi1 | First iterator. |
__bi2 | Second iterator. |
true
if less.
|
friend |
Compare two elements referenced by guarded iterators.
__bi1 | First iterator. |
__bi2 | Second iterator. |
True
if less equal.
|
private |
_Compare.
|
private |
Current iterator __position.
Referenced by __gnu_parallel::_GuardedIterator< _RAIter, _Compare >::operator _RAIter(), __gnu_parallel::_GuardedIterator< _RAIter, _Compare >::operator*(), and __gnu_parallel::_GuardedIterator< _RAIter, _Compare >::operator++().
|
private |
End iterator of the sequence.