dune-common 2.9.0
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
Dune::ForwardIteratorFacade< T, V, R, D > Class Template Reference

Base class for stl conformant forward iterators. More...

#include <dune/common/iteratorfacades.hh>

Inheritance diagram for Dune::ForwardIteratorFacade< T, V, R, D >:
Inheritance graph

Public Types

using iterator_category = std::forward_iterator_tag
 
using value_type = typename std::remove_const< V >::type
 
using difference_type = D
 
using pointer = V *
 
using reference = R
 
typedef T DerivedType
 The type of derived iterator.
 
typedef V Value
 The type of value accessed through the iterator.
 
typedef V * Pointer
 The pointer to the Value.
 
typedef D DifferenceType
 The type of the difference between two positions.
 
typedef R Reference
 The type of the reference to the values accessed.
 

Public Member Functions

Reference operator* () const
 Dereferencing operator.
 
Pointer operator-> () const
 
DerivedTypeoperator++ ()
 Preincrement operator.
 
DerivedType operator++ (int)
 Postincrement operator.
 

Detailed Description

template<class T, class V, class R = V&, class D = std::ptrdiff_t>
class Dune::ForwardIteratorFacade< T, V, R, D >

Base class for stl conformant forward iterators.

Template Parameters
TThe derived class
VThe value type
RThe reference type
DThe type for differences between two iterators

Member Typedef Documentation

◆ DerivedType

template<class T , class V , class R = V&, class D = std::ptrdiff_t>
typedef T Dune::ForwardIteratorFacade< T, V, R, D >::DerivedType

The type of derived iterator.

The iterator has to define following functions have to be present:

// Access the value referred to.
Reference dereference() const;
// Compare for equality with iterator j
bool equals(j);
// position the iterator at the next element.
void increment()
// check for equality with other iterator
bool equals(other)
R Reference
The type of the reference to the values accessed.
Definition iteratorfacades.hh:195

For an elaborate explanation see the STL Documentation!

◆ difference_type

template<class T , class V , class R = V&, class D = std::ptrdiff_t>
using Dune::ForwardIteratorFacade< T, V, R, D >::difference_type = D

◆ DifferenceType

template<class T , class V , class R = V&, class D = std::ptrdiff_t>
typedef D Dune::ForwardIteratorFacade< T, V, R, D >::DifferenceType

The type of the difference between two positions.

◆ iterator_category

template<class T , class V , class R = V&, class D = std::ptrdiff_t>
using Dune::ForwardIteratorFacade< T, V, R, D >::iterator_category = std::forward_iterator_tag

◆ pointer

template<class T , class V , class R = V&, class D = std::ptrdiff_t>
using Dune::ForwardIteratorFacade< T, V, R, D >::pointer = V*

◆ Pointer

template<class T , class V , class R = V&, class D = std::ptrdiff_t>
typedef V* Dune::ForwardIteratorFacade< T, V, R, D >::Pointer

The pointer to the Value.

◆ reference

template<class T , class V , class R = V&, class D = std::ptrdiff_t>
using Dune::ForwardIteratorFacade< T, V, R, D >::reference = R

◆ Reference

template<class T , class V , class R = V&, class D = std::ptrdiff_t>
typedef R Dune::ForwardIteratorFacade< T, V, R, D >::Reference

The type of the reference to the values accessed.

◆ Value

template<class T , class V , class R = V&, class D = std::ptrdiff_t>
typedef V Dune::ForwardIteratorFacade< T, V, R, D >::Value

The type of value accessed through the iterator.

◆ value_type

template<class T , class V , class R = V&, class D = std::ptrdiff_t>
using Dune::ForwardIteratorFacade< T, V, R, D >::value_type = typename std::remove_const<V>::type

Member Function Documentation

◆ operator*()

template<class T , class V , class R = V&, class D = std::ptrdiff_t>
Reference Dune::ForwardIteratorFacade< T, V, R, D >::operator* ( ) const
inline

Dereferencing operator.

◆ operator++() [1/2]

template<class T , class V , class R = V&, class D = std::ptrdiff_t>
DerivedType & Dune::ForwardIteratorFacade< T, V, R, D >::operator++ ( )
inline

Preincrement operator.

◆ operator++() [2/2]

template<class T , class V , class R = V&, class D = std::ptrdiff_t>
DerivedType Dune::ForwardIteratorFacade< T, V, R, D >::operator++ ( int  )
inline

Postincrement operator.

◆ operator->()

template<class T , class V , class R = V&, class D = std::ptrdiff_t>
Pointer Dune::ForwardIteratorFacade< T, V, R, D >::operator-> ( ) const
inline

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