dune-common  2.2.1
Public Types | Public Member Functions | Friends | List of all members
Dune::ConstArrayListIterator< T, N, A > Class Template Reference

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

#include <dune/common/arraylist.hh>

Inheritance diagram for Dune::ConstArrayListIterator< T, N, A >:
Dune::RandomAccessIteratorFacade< ConstArrayListIterator< T, N, A >, const A::value_type, A::const_reference, A::difference_type > iterator

Public Types

enum  { chunkSize_ = (N > 0)? N : 1 }
typedef A::value_type MemberType
 The member type.
typedef A::difference_type difference_type
typedef A::size_type size_type
typedef A::reference reference
typedef A::const_reference const_reference
typedef ConstArrayListIterator
< T, N, A > 
DerivedType
 The type of derived iterator.
typedef const A::value_type Value
 The type of value accessed through the iterator.
typedef const A::value_type * Pointer
 The pointer to the Value.
typedef A::difference_type DifferenceType
 The type of the difference between two positions.
typedef A::const_reference Reference
 The type of the reference to the values accessed.

Public Member Functions

bool equals (const ConstArrayListIterator< MemberType, N, A > &other) const
 Comares to iterators.
void increment ()
 Increment the iterator.
void decrement ()
 decrement the iterator.
void advance (difference_type n)
difference_type distanceTo (const ConstArrayListIterator< T, N, A > &other) const
const_reference elementAt (size_type i) const
 Get the value of the list at an arbitrary position.
const_reference dereference () const
 Access the element at the current position.
const ConstArrayListIterator
< T, N, A > & 
operator= (const ConstArrayListIterator< T, N, A > &other)
 ConstArrayListIterator ()
 ConstArrayListIterator (const ArrayListIterator< T, N, A > &other)
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

Friends

class ArrayList< T, N, A >
class ArrayListIterator< T, N, A >

Detailed Description

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

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

Member Typedef Documentation

template<class T, int N, class A>
typedef A::const_reference Dune::ConstArrayListIterator< T, N, A >::const_reference
typedef ConstArrayListIterator< T, N, A > Dune::RandomAccessIteratorFacade< ConstArrayListIterator< T, N, A > , const A::value_type , A::const_reference , 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.
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, int N, class A>
typedef A::difference_type Dune::ConstArrayListIterator< T, N, A >::difference_type
typedef A::difference_type Dune::RandomAccessIteratorFacade< ConstArrayListIterator< T, N, A > , const A::value_type , A::const_reference , A::difference_type >::DifferenceType
inherited

The type of the difference between two positions.

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

The member type.

typedef const A::value_type * Dune::RandomAccessIteratorFacade< ConstArrayListIterator< T, N, A > , const A::value_type , A::const_reference , A::difference_type >::Pointer
inherited

The pointer to the Value.

template<class T, int N, class A>
typedef A::reference Dune::ConstArrayListIterator< T, N, A >::reference
typedef A::const_reference Dune::RandomAccessIteratorFacade< ConstArrayListIterator< T, N, A > , const A::value_type , A::const_reference , A::difference_type >::Reference
inherited

The type of the reference to the values accessed.

template<class T, int N, class A>
typedef A::size_type Dune::ConstArrayListIterator< T, N, A >::size_type
typedef const A::value_type Dune::RandomAccessIteratorFacade< ConstArrayListIterator< T, N, A > , const A::value_type , A::const_reference , A::difference_type >::Value
inherited

The type of value accessed through the iterator.

Member Enumeration Documentation

template<class T, int N, class A>
anonymous enum
Enumerator:
chunkSize_ 

The number of elements in one chunk of the list.

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

Constructor & Destructor Documentation

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

Member Function Documentation

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

Dereferencing operator.

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

Preincrement operator.

DerivedType Dune::RandomAccessIteratorFacade< ConstArrayListIterator< T, N, A > , const A::value_type , A::const_reference , A::difference_type >::operator++ ( int  )
inlineinherited

Postincrement operator.

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

Predecrement operator.

DerivedType Dune::RandomAccessIteratorFacade< ConstArrayListIterator< T, N, A > , const A::value_type , A::const_reference , A::difference_type >::operator-- ( int  )
inlineinherited

Postdecrement operator.

DerivedType& Dune::RandomAccessIteratorFacade< ConstArrayListIterator< T, N, A > , const A::value_type , A::const_reference , A::difference_type >::operator-= ( DifferenceType  n)
inlineinherited
Pointer Dune::RandomAccessIteratorFacade< ConstArrayListIterator< T, N, A > , const A::value_type , A::const_reference , A::difference_type >::operator-> ( ) const
inlineinherited
Reference Dune::RandomAccessIteratorFacade< ConstArrayListIterator< T, N, A > , const A::value_type , A::const_reference , 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.

Friends And Related Function Documentation

template<class T, int N, class A>
friend class ArrayList< T, N, A >
friend
template<class T, int N, class A>
friend class ArrayListIterator< T, N, A >
friend

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