Loading...
Searching...
No Matches
Dune::RandomAccessIteratorFacade< T, V, R, D > Class Template Reference
Common » Iterator facades

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

`#include <dune/common/iteratorfacades.hh>`

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

## Public Types

using | iterator_category = std::random_access_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

constexpr Reference | operator* () const
| Dereferencing operator.
constexpr Pointer | operator-> () const
constexpr Reference | operator[] (DifferenceType n) const
| Get the element n positions from the current one.
constexpr DerivedType & | operator++ ()
| Preincrement operator.
constexpr DerivedType | operator++ (int)
| Postincrement operator.
constexpr DerivedType & | operator+= (DifferenceType n)
constexpr DerivedType | operator+ (DifferenceType n) const
constexpr DerivedType & | operator-- ()
| Predecrement operator.
constexpr DerivedType | operator-- (int)
| Postdecrement operator.
constexpr DerivedType & | operator-= (DifferenceType n)
constexpr 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

## DerivedType

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
bool equals(j);
// 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 whether
// the same containers are referenced
DifferenceType distanceTo(j) const;
Dune::RandomAccessIteratorFacade::DifferenceType
D DifferenceType
The type of the difference between two positions.
Definition iteratorfacades.hh:493
Dune::RandomAccessIteratorFacade::Reference
R Reference
The type of the reference to the values accessed.
Definition iteratorfacades.hh:498

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::RandomAccessIteratorFacade< T, V, R, D >::difference_type = D

## DifferenceType

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.

## iterator_category

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

using Dune::RandomAccessIteratorFacade< T, V, R, D >::iterator_category = std::random_access_iterator_tag

## Pointer

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.

## pointer

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

using Dune::RandomAccessIteratorFacade< T, V, R, D >::pointer = V*

## Reference

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.

## reference

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

using Dune::RandomAccessIteratorFacade< T, V, R, D >::reference = R

## Value

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.

## value_type

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

using Dune::RandomAccessIteratorFacade< 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::RandomAccessIteratorFacade< T, V, R, D >::operator* | ( |  | ) | const

inline constexpr

Dereferencing operator.

## 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 constexpr

## operator++() [1/2]

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

DerivedType & Dune::RandomAccessIteratorFacade< T, V, R, D >::operator++ | ( |  | ) |

inline constexpr

Preincrement operator.

## operator++() [2/2]

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

DerivedType Dune::RandomAccessIteratorFacade< T, V, R, D >::operator++ | ( | int |  | ) |

inline constexpr

Postincrement operator.

## 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 constexpr

## 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 constexpr

## operator--() [1/2]

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

DerivedType & Dune::RandomAccessIteratorFacade< T, V, R, D >::operator-- | ( |  | ) |

inline constexpr

Predecrement operator.

## operator--() [2/2]

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

DerivedType Dune::RandomAccessIteratorFacade< T, V, R, D >::operator-- | ( | int |  | ) |

inline constexpr

Postdecrement operator.

## 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 constexpr

## operator->()

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

Pointer Dune::RandomAccessIteratorFacade< T, V, R, D >::operator-> | ( |  | ) | const

inline constexpr

## operator[]()

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 constexpr

Get the element n positions from the current one.

Parameters

  n | The distance to the element.

Returns
  The element at that distance.

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

- iteratorfacades.hh