libstdc++: __gnu_parallel::_GuardedIterator< _RAIter, _Compare > Class Template Reference

libstdc++

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

`#include <multiway_merge.h>`

## Public Member Functions
| _GuardedIterator (_RAIter __begin, _RAIter __end, _Compare &__comp)
| operator _RAIter () const
std::iterator_traits< _RAIter >::value_type & | operator* () const
_GuardedIterator< _RAIter, _Compare > & | operator++ ()

## Friends
bool | operator< (const _GuardedIterator< _RAIter, _Compare > &__bi1, const _GuardedIterator< _RAIter, _Compare > &__bi2)
bool | operator<= (const _GuardedIterator< _RAIter, _Compare > &__bi1, const _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 73 of file multiway_merge.h.

## Constructor & Destructor Documentation

## ◆ _GuardedIterator()

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 91 of file multiway_merge.h.

Referenced by operator<, and operator<=.

## Member Function Documentation

## ◆ operator _RAIter()

template<typename _RAIter, typename _Compare>

__gnu_parallel::_GuardedIterator< _RAIter, _Compare >::operator _RAIter | ( |  | ) | const
| inline

Convert to wrapped iterator.

Returns
  Wrapped iterator.

Definition at line 112 of file multiway_merge.h.

## ◆ operator*()

template<typename _RAIter, typename _Compare>

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

Dereference operator.

Returns
  Referenced element.

Definition at line 107 of file multiway_merge.h.

## ◆ operator++()

template<typename _RAIter, typename _Compare>

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

Pre-increment operator.

Returns
  This.

Definition at line 98 of file multiway_merge.h.

## Friends And Related Symbol Documentation

## ◆ operator<

template<typename _RAIter, typename _Compare>

bool operator< | ( | const _GuardedIterator< _RAIter, _Compare > & | __bi1,
|  | const _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 119 of file multiway_merge.h.

References _GuardedIterator().

## ◆ operator<=

template<typename _RAIter, typename _Compare>

bool operator<= | ( | const _GuardedIterator< _RAIter, _Compare > & | __bi1,
|  | const _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 134 of file multiway_merge.h.

References _GuardedIterator().

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

- multiway_merge.h