Reference documentation for deal.II version 9.1.0-pre
Public Types | Public Member Functions | Private Attributes | List of all members
IteratorRange< Iterator >::IteratorOverIterators Class Reference

#include <deal.II/base/iterator_range.h>

Public Types

using BaseIterator = Iterator
 
using iterator_category = std::forward_iterator_tag
 

Public Member Functions

 IteratorOverIterators (const BaseIterator &iterator)
 
const BaseIteratoroperator* () const
 
const BaseIteratoroperator-> () const
 
IteratorOverIteratorsoperator++ ()
 
IteratorOverIterators operator++ (int)
 
bool operator!= (const IteratorOverIterators &i_o_i)
 

Private Attributes

BaseIterator element_of_iterator_collection
 

Detailed Description

template<typename Iterator>
class IteratorRange< Iterator >::IteratorOverIterators

A class that implements the semantics of iterators over iterators as discussed in the design sections of the IteratorRange class.

Definition at line 124 of file iterator_range.h.

Member Typedef Documentation

template<typename Iterator>
using IteratorRange< Iterator >::IteratorOverIterators::BaseIterator = Iterator

Typedef the elements of the collection to give them a name that is more distinct.

Definition at line 131 of file iterator_range.h.

template<typename Iterator>
using IteratorRange< Iterator >::IteratorOverIterators::iterator_category = std::forward_iterator_tag

Mark the class as forward iterator and declare some alias which are standard for iterators and are used by algorithms to enquire about the specifics of the iterators they work on.

Definition at line 182 of file iterator_range.h.

Constructor & Destructor Documentation

template<typename Iterator >
IteratorRange< Iterator >::IteratorOverIterators::IteratorOverIterators ( const BaseIterator iterator)
inline

Constructor. Initialize this iterator-over-iterator in such a way that it points to the given argument.

Parameters
iteratorAn iterator to which this object is supposed to point.

Definition at line 243 of file iterator_range.h.

Member Function Documentation

template<typename Iterator >
const IteratorRange< Iterator >::IteratorOverIterators::BaseIterator & IteratorRange< Iterator >::IteratorOverIterators::operator* ( ) const
inline

Dereferencing operator.

Returns
The iterator within the collection currently pointed to.

Definition at line 253 of file iterator_range.h.

template<typename Iterator >
const IteratorRange< Iterator >::IteratorOverIterators::BaseIterator * IteratorRange< Iterator >::IteratorOverIterators::operator-> ( ) const
inline

Dereferencing operator.

Returns
The iterator within the collection currently pointed to.

Definition at line 263 of file iterator_range.h.

template<typename Iterator >
IteratorRange< Iterator >::IteratorOverIterators & IteratorRange< Iterator >::IteratorOverIterators::operator++ ( )
inline

Prefix increment operator. Move the current iterator to the next element of the collection and return the new value.

Definition at line 272 of file iterator_range.h.

template<typename Iterator >
IteratorRange< Iterator >::IteratorOverIterators IteratorRange< Iterator >::IteratorOverIterators::operator++ ( int  )
inline

Postfix increment operator. Move the current iterator to the next element of the collection, but return the previous value of the iterator.

Definition at line 282 of file iterator_range.h.

template<typename Iterator >
bool IteratorRange< Iterator >::IteratorOverIterators::operator!= ( const IteratorOverIterators i_o_i)
inline

Comparison operator

Parameters
i_o_iAnother iterator over iterators.
Returns
Returns whether the current iterator points to a different object than the iterator represented by the argument.

Definition at line 294 of file iterator_range.h.

Member Data Documentation

template<typename Iterator>
BaseIterator IteratorRange< Iterator >::IteratorOverIterators::element_of_iterator_collection
private

The object this iterator currently points to.

Definition at line 192 of file iterator_range.h.


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