dune-common 2.9.0
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Attributes | List of all members
Dune::ArrayListIterator< T, N, A > Class Template Reference

A random access iterator for the Dune::ArrayList class. More...

#include <dune/common/arraylist.hh>

Inheritance diagram for Dune::ArrayListIterator< T, N, A >:
Inheritance graph

Public Types

typedef A::value_type MemberType
 The member type.
 
typedef A::difference_type difference_type
 
typedef A::size_type size_type
 
using reference = typename A::value_type &
 
using const_reference = typename A::value_type const &
 
using iterator_category = std::random_access_iterator_tag
 
using value_type = typename std::remove_const< A::value_type >::type
 
using pointer = A::value_type *
 
typedef ArrayListIterator< T, N, A > DerivedType
 The type of derived iterator.
 
typedef A::value_type Value
 The type of value accessed through the iterator.
 
typedef A::value_type * Pointer
 The pointer to the Value.
 
typedef A::difference_type DifferenceType
 The type of the difference between two positions.
 
typedef A::value_type & Reference
 The type of the reference to the values accessed.
 

Public Member Functions

bool equals (const ArrayListIterator< MemberType, N, A > &other) const
 Comares two iterators.
 
bool equals (const ConstArrayListIterator< MemberType, N, A > &other) const
 Comares two iterators.
 
void increment ()
 Increment the iterator.
 
void decrement ()
 decrement the iterator.
 
reference elementAt (size_type i) const
 Get the value of the list at an arbitrary position.
 
reference dereference () const
 Access the element at the current position.
 
void eraseToHere ()
 Erase all entries before the current position and the one at the current position.
 
size_type position ()
 
void advance (difference_type n)
 
difference_type distanceTo (const ArrayListIterator< T, N, A > &other) const
 
 ArrayListIterator ()
 Standard constructor.
 
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
 

Static Public Attributes

static constexpr int chunkSize_ = (N > 0) ? N : 1
 The number of elements in one chunk of the list.
 

Detailed Description

template<class T, int N, class A>
class Dune::ArrayListIterator< T, N, A >

A random access iterator for the Dune::ArrayList class.

Member Typedef Documentation

◆ const_reference

template<class T , int N, class A >
using Dune::ArrayListIterator< T, N, A >::const_reference = typename A::value_type const&

◆ DerivedType

typedef ArrayListIterator< T, N, A > Dune::RandomAccessIteratorFacade< ArrayListIterator< T, N, A > , A::value_type , A::value_type & , A::difference_type >::DerivedType
inherited

The type of derived iterator.

The iterator has to define following functions have to be present:

// Access the value referred to.
// Access the value at some other location
// 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-
// calculate the distance to another iterator.
// One should incorporate an assertion whether
// the same containers are referenced
bool equals(const ArrayListIterator< MemberType, N, A > &other) const
Comares two iterators.
Definition arraylist.hh:573
void increment()
Increment the iterator.
Definition arraylist.hh:599
void decrement()
decrement the iterator.
Definition arraylist.hh:611
reference elementAt(size_type i) const
Get the value of the list at an arbitrary position.
Definition arraylist.hh:623
void advance(difference_type n)
Definition arraylist.hh:560
reference dereference() const
Access the element at the current position.
Definition arraylist.hh:635
difference_type distanceTo(const ArrayListIterator< T, N, A > &other) const
Definition arraylist.hh:647
A::difference_type DifferenceType
The type of the difference between two positions.
Definition iteratorfacades.hh:492
A::value_type & Reference
The type of the reference to the values accessed.
Definition iteratorfacades.hh:497

For an elaborate explanation see the STL Documentation

◆ difference_type

template<class T , int N, class A >
typedef A::difference_type Dune::ArrayListIterator< T, N, A >::difference_type

◆ DifferenceType

typedef A::difference_type Dune::RandomAccessIteratorFacade< ArrayListIterator< T, N, A > , A::value_type , A::value_type & , A::difference_type >::DifferenceType
inherited

The type of the difference between two positions.

◆ iterator_category

using Dune::RandomAccessIteratorFacade< ArrayListIterator< T, N, A > , A::value_type , A::value_type & , A::difference_type >::iterator_category = std::random_access_iterator_tag
inherited

◆ MemberType

template<class T , int N, class A >
typedef A::value_type Dune::ArrayListIterator< T, N, A >::MemberType

The member type.

◆ pointer

using Dune::RandomAccessIteratorFacade< ArrayListIterator< T, N, A > , A::value_type , A::value_type & , A::difference_type >::pointer = A::value_type *
inherited

◆ Pointer

typedef A::value_type * Dune::RandomAccessIteratorFacade< ArrayListIterator< T, N, A > , A::value_type , A::value_type & , A::difference_type >::Pointer
inherited

The pointer to the Value.

◆ reference

template<class T , int N, class A >
using Dune::ArrayListIterator< T, N, A >::reference = typename A::value_type &

◆ Reference

typedef A::value_type & Dune::RandomAccessIteratorFacade< ArrayListIterator< T, N, A > , A::value_type , A::value_type & , A::difference_type >::Reference
inherited

The type of the reference to the values accessed.

◆ size_type

template<class T , int N, class A >
typedef A::size_type Dune::ArrayListIterator< T, N, A >::size_type

◆ Value

typedef A::value_type Dune::RandomAccessIteratorFacade< ArrayListIterator< T, N, A > , A::value_type , A::value_type & , A::difference_type >::Value
inherited

The type of value accessed through the iterator.

◆ value_type

using Dune::RandomAccessIteratorFacade< ArrayListIterator< T, N, A > , A::value_type , A::value_type & , A::difference_type >::value_type = typename std::remove_const<A::value_type >::type
inherited

Constructor & Destructor Documentation

◆ ArrayListIterator()

template<class T , int N, class A >
Dune::ArrayListIterator< T, N, A >::ArrayListIterator ( )
inline

Standard constructor.

Member Function Documentation

◆ operator*()

Reference Dune::RandomAccessIteratorFacade< ArrayListIterator< T, N, A > , A::value_type , A::value_type & , A::difference_type >::operator* ( ) const
inlineinherited

Dereferencing operator.

◆ operator+()

DerivedType Dune::RandomAccessIteratorFacade< ArrayListIterator< T, N, A > , A::value_type , A::value_type & , A::difference_type >::operator+ ( DifferenceType  n) const
inlineinherited

◆ operator++() [1/2]

DerivedType & Dune::RandomAccessIteratorFacade< ArrayListIterator< T, N, A > , A::value_type , A::value_type & , A::difference_type >::operator++ ( )
inlineinherited

Preincrement operator.

◆ operator++() [2/2]

DerivedType Dune::RandomAccessIteratorFacade< ArrayListIterator< T, N, A > , A::value_type , A::value_type & , A::difference_type >::operator++ ( int  )
inlineinherited

Postincrement operator.

◆ operator+=()

DerivedType & Dune::RandomAccessIteratorFacade< ArrayListIterator< T, N, A > , A::value_type , A::value_type & , A::difference_type >::operator+= ( DifferenceType  n)
inlineinherited

◆ operator-()

DerivedType Dune::RandomAccessIteratorFacade< ArrayListIterator< T, N, A > , A::value_type , A::value_type & , A::difference_type >::operator- ( DifferenceType  n) const
inlineinherited

◆ operator--() [1/2]

DerivedType & Dune::RandomAccessIteratorFacade< ArrayListIterator< T, N, A > , A::value_type , A::value_type & , A::difference_type >::operator-- ( )
inlineinherited

Predecrement operator.

◆ operator--() [2/2]

DerivedType Dune::RandomAccessIteratorFacade< ArrayListIterator< T, N, A > , A::value_type , A::value_type & , A::difference_type >::operator-- ( int  )
inlineinherited

Postdecrement operator.

◆ operator-=()

DerivedType & Dune::RandomAccessIteratorFacade< ArrayListIterator< T, N, A > , A::value_type , A::value_type & , A::difference_type >::operator-= ( DifferenceType  n)
inlineinherited

◆ operator->()

Pointer Dune::RandomAccessIteratorFacade< ArrayListIterator< T, N, A > , A::value_type , A::value_type & , A::difference_type >::operator-> ( ) const
inlineinherited

◆ operator[]()

Reference Dune::RandomAccessIteratorFacade< ArrayListIterator< T, N, A > , A::value_type , A::value_type & , A::difference_type >::operator[] ( DifferenceType  n) const
inlineinherited

Get the element n positions from the current one.

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

◆ position()

template<class T , int N, class A >
size_type Dune::ArrayListIterator< T, N, A >::position ( )
inline
Todo:
Please doc me!

Member Data Documentation

◆ chunkSize_

template<class T , int N, class A >
constexpr int Dune::ArrayListIterator< T, N, A >::chunkSize_ = (N > 0) ? N : 1
staticconstexpr

The number of elements in one chunk of the list.

This has to be at least one. The default is 100.


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