Reference documentation for deal.II version 9.0.0
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

typedef Iterator BaseIterator
 
typedef std::forward_iterator_tag iterator_category
 

Public Member Functions

 IteratorOverIterators (const BaseIterator &iterator)
 
BaseIterator operator* () 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

◆ BaseIterator

template<typename Iterator>
typedef Iterator IteratorRange< Iterator >::IteratorOverIterators::BaseIterator

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

Definition at line 131 of file iterator_range.h.

◆ iterator_category

template<typename Iterator>
typedef std::forward_iterator_tag IteratorRange< Iterator >::IteratorOverIterators::iterator_category

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

Definition at line 179 of file iterator_range.h.

Constructor & Destructor Documentation

◆ IteratorOverIterators()

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 241 of file iterator_range.h.

Member Function Documentation

◆ operator*()

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

Dereferencing operator.

Returns
The iterator within the collection currently pointed to.

Definition at line 251 of file iterator_range.h.

◆ operator->()

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 261 of file iterator_range.h.

◆ operator++() [1/2]

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 271 of file iterator_range.h.

◆ operator++() [2/2]

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.

◆ operator!=()

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

◆ element_of_iterator_collection

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

The object this iterator currently points to.

Definition at line 189 of file iterator_range.h.


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