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.