dune-common  2.2.0
Public Types | Public Member Functions
Dune::RandomAccessIteratorFacade< T, V, R, D > Class Template Reference

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

#include <dune/common/iteratorfacades.hh>

Inheritance diagram for Dune::RandomAccessIteratorFacade< 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
Reference operator[] (DifferenceType n) const
 Get the element n positions from the current one.
DerivedTypeoperator++ ()
 Preincrement operator.
DerivedType operator++ (int)
 Postincrement operator.
DerivedTypeoperator+= (DifferenceType n)
DerivedType operator+ (DifferenceType n) const
DerivedTypeoperator-- ()
 Predecrement operator.
DerivedType operator-- (int)
 Postdecrement operator.
DerivedTypeoperator-= (DifferenceType n)
DerivedType operator- (DifferenceType n) const

Detailed Description

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

Base class for stl conformant forward iterators.


Member Typedef Documentation

template<class T, class V, class R = V&, class D = std::ptrdiff_t>
typedef T Dune::RandomAccessIteratorFacade< 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;
 // Access the value at some other location
 Reference elementAt(n) const;

 // Compare for equality with j
 equals(i);

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

 // position the iterator at the previous element.
 void decrement()

 // advance the iterator by a number of positions-
 void advance(DifferenceType n);
 // calculate the distance to another iterator.
 // One should incorporate an assertion wether
 // the same containers are referenced
 DifferenceType distanceTo(j) const;

For an elaborate explanation see the STL Documentation

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

The type of the difference between two positions.

Reimplemented in Dune::DenseIterator< C, T >.

template<class T, class V, class R = V&, class D = std::ptrdiff_t>
typedef V* Dune::RandomAccessIteratorFacade< 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::RandomAccessIteratorFacade< 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::RandomAccessIteratorFacade< 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::RandomAccessIteratorFacade< T, V, R, D >::operator* ( ) const [inline]

Dereferencing operator.

template<class T, class V, class R = V&, class D = std::ptrdiff_t>
DerivedType Dune::RandomAccessIteratorFacade< T, V, R, D >::operator+ ( DifferenceType  n) const [inline]
template<class T, class V, class R = V&, class D = std::ptrdiff_t>
DerivedType& Dune::RandomAccessIteratorFacade< T, V, R, D >::operator++ ( ) [inline]
template<class T, class V, class R = V&, class D = std::ptrdiff_t>
DerivedType Dune::RandomAccessIteratorFacade< T, V, R, D >::operator++ ( int  ) [inline]

Postincrement operator.

template<class T, class V, class R = V&, class D = std::ptrdiff_t>
DerivedType& Dune::RandomAccessIteratorFacade< T, V, R, D >::operator+= ( DifferenceType  n) [inline]
template<class T, class V, class R = V&, class D = std::ptrdiff_t>
DerivedType Dune::RandomAccessIteratorFacade< T, V, R, D >::operator- ( DifferenceType  n) const [inline]
template<class T, class V, class R = V&, class D = std::ptrdiff_t>
DerivedType& Dune::RandomAccessIteratorFacade< T, V, R, D >::operator-- ( ) [inline]
template<class T, class V, class R = V&, class D = std::ptrdiff_t>
DerivedType Dune::RandomAccessIteratorFacade< T, V, R, D >::operator-- ( int  ) [inline]

Postdecrement operator.

template<class T, class V, class R = V&, class D = std::ptrdiff_t>
DerivedType& Dune::RandomAccessIteratorFacade< T, V, R, D >::operator-= ( DifferenceType  n) [inline]
template<class T, class V, class R = V&, class D = std::ptrdiff_t>
Pointer Dune::RandomAccessIteratorFacade< T, V, R, D >::operator-> ( ) const [inline]
template<class T, class V, class R = V&, class D = std::ptrdiff_t>
Reference Dune::RandomAccessIteratorFacade< T, V, R, D >::operator[] ( DifferenceType  n) const [inline]

Get the element n positions from the current one.

Parameters:
nThe distance to the element.
Returns:
The element at that distance.

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