---
name: "__gnu_parallel::guarded_iterator"
section: "3cxx"
platform: "linux"
package: "libstdc++6-4.4-doc"
version: "4.4.7-2"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/__gnu_parallel::guarded_iterator/3cxx"
---

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

## NAME

\_\_gnu\_parallel::guarded\_iterator\< RandomAccessIterator, Comparator \> -

## SYNOPSIS

### 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)\

## 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 84 of file multiway\_merge.h.

## Constructor & Destructor Documentation

### template\<typename RandomAccessIterator , typename Comparator \> \_\_gnu\_parallel::guarded\_iterator\< RandomAccessIterator, Comparator \>::guarded\_iterator (RandomAccessIteratorbegin, RandomAccessIteratorend, 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 102 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 124 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 119 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 110 of file multiway\_merge.h.

## Author

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