# __gnu_parallel::_GuardedIterator< _RAIter, _Compare > Class Template Reference

_Iterator wrapper supporting an implicit supremum at the end of the sequence, dominating all comparisons. More...

List of all members.

## Public Member Functions

- _GuardedIterator (_RAIter __begin, _RAIter __end, _Compare &__comp)
- operator _RAIter ()
- std::iterator_traits< _RAIter >
  ::value_type & operator* ()
- _GuardedIterator< _RAIter,
  _Compare > & operator++ ()

## Friends

- bool operator< (_GuardedIterator< _RAIter, _Compare > &__bi1, _GuardedIterator< _RAIter, _Compare > &__bi2)
- bool operator<= (_GuardedIterator< _RAIter, _Compare > &__bi1, _GuardedIterator< _RAIter, _Compare > &__bi2)

## Detailed Description

### template<typename _RAIter, typename _Compare>
class __gnu_parallel::_GuardedIterator< _RAIter, _Compare >

_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.

Definition at line 66 of file multiway_merge.h.

## Constructor & Destructor Documentation

template<typename _RAIter , typename _Compare >

__gnu_parallel::_GuardedIterator< _RAIter, _Compare >::_GuardedIterator | ( | _RAIter | __begin,
|  | _RAIter | __end,
|  | _Compare & | __comp |
| ) |  |  | `[inline]`

Constructor. Sets iterator to beginning of sequence.

Parameters:

  | __begin | Begin iterator of sequence.
  | __end | End iterator of sequence.
  | __comp | Comparator provided for associated overloaded compare operators.

Definition at line 84 of file multiway_merge.h.

## Member Function Documentation

template<typename _RAIter , typename _Compare >

__gnu_parallel::_GuardedIterator< _RAIter, _Compare >::operator _RAIter | ( |  | ) | `[inline]`

Convert to wrapped iterator.

Returns:
  Wrapped iterator.

Definition at line 105 of file multiway_merge.h.

template<typename _RAIter , typename _Compare >

std::iterator_traits<_RAIter>::value_type& __gnu_parallel::_GuardedIterator< _RAIter, _Compare >::operator* | ( |  | ) | `[inline]`

Dereference operator.

Returns:
  Referenced element.

Definition at line 100 of file multiway_merge.h.

template<typename _RAIter , typename _Compare >

_GuardedIterator<_RAIter, _Compare>& __gnu_parallel::_GuardedIterator< _RAIter, _Compare >::operator++ | ( |  | ) | `[inline]`

Pre-increment operator.

Returns:
  This.

Definition at line 91 of file multiway_merge.h.

## Friends And Related Function Documentation

template<typename _RAIter , typename _Compare >

bool operator< | ( | _GuardedIterator< _RAIter, _Compare > & | __bi1,
|  | _GuardedIterator< _RAIter, _Compare > & | __bi2 |
| ) |  |  | `[friend]`

Compare two elements referenced by guarded iterators.

Parameters:

  | __bi1 | First iterator.
  | __bi2 | Second iterator.

Returns:
  `true` if less.

Definition at line 113 of file multiway_merge.h.

template<typename _RAIter , typename _Compare >

bool operator<= | ( | _GuardedIterator< _RAIter, _Compare > & | __bi1,
|  | _GuardedIterator< _RAIter, _Compare > & | __bi2 |
| ) |  |  | `[friend]`

Compare two elements referenced by guarded iterators.

Parameters:

  | __bi1 | First iterator.
  | __bi2 | Second iterator.

Returns:
  `True` if less equal.

Definition at line 128 of file multiway_merge.h.

The documentation for this class was generated from the following file:

- multiway_merge.h