---
name: "__gnu_parallel::guarded_iterator"
section: "3"
platform: "linux"
package: "libstdc++6-4.3-doc"
version: "4.3.2-1.1"
release: "Debian 5.0 (Lenny)"
platforms: ["linux"]
url: "https://new.carta.tech/__gnu_parallel::guarded_iterator"
---

# \_\_gnu\_parallel::guarded\_iterator(3)

## NAME

\_\_gnu\_parallel::guarded\_iterator -

## SYNOPSIS

## Detailed Description

### template\<typename RandomAccessIterator, typename Comparator\> class \_\_gnu\_parallel::guarded\_iterator\< RandomAccessIterator, Comparator \>

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 RandomAccessIterator is not possible since RandomAccessIterator need not be a class.

Definition at line 90 of file multiway\_merge.h.

### Public Member Functions

**guarded\_iterator** (RandomAccessIterator begin, RandomAccessIterator end, Comparator &comp)\
 **operator RandomAccessIterator** ()\
 **std::iterator\_traits**\< RandomAccessIterator \>::value\_type & **operator\*** ()\
 **guarded\_iterator**\< RandomAccessIterator, Comparator \> & **operator++** ()\

### Friends

bool **operator** (**guarded\_iterator**\< RandomAccessIterator, Comparator \> &bi1, **guarded\_iterator**\< RandomAccessIterator, Comparator \> &bi2)\
 bool **operator** (**guarded\_iterator**\< RandomAccessIterator, Comparator \> &bi1, **guarded\_iterator**\< RandomAccessIterator, Comparator \> &bi2)\

## Constructor & Destructor Documentation

### template\<typename RandomAccessIterator, typename Comparator\> \_\_gnu\_parallel::guarded\_iterator\< RandomAccessIterator, Comparator \>::guarded\_iterator (RandomAccessIterator begin, RandomAccessIterator end, Comparator & 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 108 of file multiway\_merge.h.

## Member Function Documentation

### template\<typename RandomAccessIterator, typename Comparator\> \_\_gnu\_parallel::guarded\_iterator\< RandomAccessIterator, Comparator \>::operator RandomAccessIterator ()` [inline]`

Convert to wrapped iterator.

**Returns:**

Wrapped iterator.

Definition at line 130 of file multiway\_merge.h.

### template\<typename RandomAccessIterator, typename Comparator\> std::iterator\_traits\<RandomAccessIterator\>::value\_type& \_\_gnu\_parallel::guarded\_iterator\< RandomAccessIterator, Comparator \>::operator\* ()` [inline]`

Dereference operator.

**Returns:**

Referenced element.

Definition at line 125 of file multiway\_merge.h.

### template\<typename RandomAccessIterator, typename Comparator\> guarded\_iterator\<RandomAccessIterator, Comparator\>& \_\_gnu\_parallel::guarded\_iterator\< RandomAccessIterator, Comparator \>::operator++ ()` [inline]`

Pre-increment operator.

**Returns:**

This.

Definition at line 116 of file multiway\_merge.h.

## Author

Generated automatically by Doxygen for libstdc++ from the source code.
