|
Thrill
0.1
|
Iterator wrapper supporting an implicit supremum at the end of the sequence, dominating all comparisons.
Deriving from RandomAccessIterator is not possible since RandomAccessIterator need not be a class.
Definition at line 54 of file multiway_merge.hpp.
#include <multiway_merge.hpp>
Public Types | |
| using | self_type = guarded_iterator< RandomAccessIterator, Comparator > |
| Our own type. More... | |
| using | value_type = typename std::iterator_traits< RandomAccessIterator >::value_type |
| Value type of the iterator. More... | |
Public Member Functions | |
| guarded_iterator (RandomAccessIterator begin, RandomAccessIterator end, Comparator &comp) | |
| Constructor. More... | |
| RandomAccessIterator & | iterator () |
| Convert to wrapped iterator. More... | |
| value_type & | operator* () |
| Dereference operator. More... | |
| self_type & | operator++ () |
| Pre-increment operator. More... | |
Protected Attributes | |
| Comparator & | comp_ |
| Comparator. More... | |
| RandomAccessIterator | current |
| Current iterator position. More... | |
| RandomAccessIterator | end_ |
| End iterator of the sequence. More... | |
Friends | |
| bool | operator< (self_type &bi1, self_type &bi2) |
| Compare two elements referenced by guarded iterators. More... | |
| bool | operator<= (self_type &bi1, self_type &bi2) |
| Compare two elements referenced by guarded iterators. More... | |
| using self_type = guarded_iterator<RandomAccessIterator, Comparator> |
Our own type.
Definition at line 58 of file multiway_merge.hpp.
| using value_type = typename std::iterator_traits<RandomAccessIterator>::value_type |
Value type of the iterator.
Definition at line 62 of file multiway_merge.hpp.
|
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. |
Definition at line 80 of file multiway_merge.hpp.
|
inline |
Convert to wrapped iterator.
Definition at line 106 of file multiway_merge.hpp.
References guarded_iterator< RandomAccessIterator, Comparator >::current.
Referenced by tlx::multiway_merge_detail::multiway_merge_3_combined().
|
inline |
Dereference operator.
Definition at line 98 of file multiway_merge.hpp.
References guarded_iterator< RandomAccessIterator, Comparator >::current.
|
inline |
Pre-increment operator.
Definition at line 89 of file multiway_merge.hpp.
References guarded_iterator< RandomAccessIterator, Comparator >::current.
Compare two elements referenced by guarded iterators.
| bi1 | First iterator. |
| bi2 | Second iterator. |
True if less. Definition at line 116 of file multiway_merge.hpp.
Compare two elements referenced by guarded iterators.
| bi1 | First iterator. |
| bi2 | Second iterator. |
True if less equal. Definition at line 130 of file multiway_merge.hpp.
|
protected |
Comparator.
Definition at line 70 of file multiway_merge.hpp.
|
protected |
Current iterator position.
Definition at line 66 of file multiway_merge.hpp.
Referenced by guarded_iterator< RandomAccessIterator, Comparator >::iterator(), unguarded_iterator< RandomAccessIterator, Comparator >::iterator(), guarded_iterator< RandomAccessIterator, Comparator >::operator*(), unguarded_iterator< RandomAccessIterator, Comparator >::operator*(), guarded_iterator< RandomAccessIterator, Comparator >::operator++(), and unguarded_iterator< RandomAccessIterator, Comparator >::operator++().
|
protected |
End iterator of the sequence.
Definition at line 68 of file multiway_merge.hpp.