dune-common  2.2.0
Public Types | Public Member Functions
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 >:
iterator

List of all members.

Public Types

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

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
 equals(i);

 // position the iterator at the next element.
 void increment()

For an elaborate explanation see the STL Documentation!

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.

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.

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.

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.


Member Function Documentation

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.

template<class T, class V, class R = V&, class D = std::ptrdiff_t>
DerivedType& Dune::ForwardIteratorFacade< T, V, R, D >::operator++ ( ) [inline]
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.

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: