dune-common 3.0-git
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

◆ DerivedType

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()
R Reference
The type of the reference to the values accessed.
Definition iteratorfacades.hh:323

For an elaborate explanation see the STL Documentation

◆ DifferenceType

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.

◆ Pointer

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.

◆ Reference

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.

◆ Value

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

◆ operator*()

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.

◆ operator++() [1/2]

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

Postincrement operator.

◆ operator--() [1/2]

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

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