dune-common  2.3.0
Public Types | Public Member Functions | List of all members
Dune::BidirectionalIteratorFacade< T, V, R, D > Class Template Reference

Facade class for stl conformant bidirectional iterators. More...

#include <dune/common/iteratorfacades.hh>

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

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.
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::BidirectionalIteratorFacade< T, V, R, D >

Facade class for stl conformant bidirectional iterators.

Member Typedef Documentation

template<class T, class V, class R = V&, class D = std::ptrdiff_t>
typedef T Dune::BidirectionalIteratorFacade< 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 j
bool equals(j);
// position the iterator at the next element.
void increment()
// position the iterator at the previous element.
void decrement()

For an elaborate explanation see the STL Documentation

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

Dereferencing operator.

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

Postincrement operator.

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

Postincrement operator.

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

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