dune-common  2.2.1
Public Types | Public Member Functions | Friends | 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

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 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::reference 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< T, N, A > & operator= (const ArrayListIterator< T, N, A > &other)
 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

Friends

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

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

template<class T, int N, class A>
typedef A::const_reference Dune::ArrayListIterator< T, N, A >::const_reference
typedef ArrayListIterator< T, N, A > Dune::RandomAccessIteratorFacade< ArrayListIterator< T, N, A > , A::value_type , A::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::ArrayListIterator< T, N, A >::difference_type
typedef A::difference_type Dune::RandomAccessIteratorFacade< ArrayListIterator< T, N, A > , A::value_type , A::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::ArrayListIterator< T, N, A >::MemberType

The member type.

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

The pointer to the Value.

template<class T, int N, class A>
typedef A::reference Dune::ArrayListIterator< T, N, A >::reference
typedef A::reference Dune::RandomAccessIteratorFacade< ArrayListIterator< T, N, A > , A::value_type , A::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::ArrayListIterator< T, N, A >::size_type
typedef A::value_type Dune::RandomAccessIteratorFacade< ArrayListIterator< T, N, A > , A::value_type , A::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::ArrayListIterator< T, N, A >::ArrayListIterator ( )
inline

Standard constructor.

Member Function Documentation

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

Dereferencing operator.

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

Preincrement operator.

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

Postincrement operator.

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

Predecrement operator.

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

Postdecrement operator.

DerivedType& Dune::RandomAccessIteratorFacade< ArrayListIterator< T, N, A > , A::value_type , A::reference , A::difference_type >::operator-= ( DifferenceType  n)
inlineinherited
Pointer Dune::RandomAccessIteratorFacade< ArrayListIterator< T, N, A > , A::value_type , A::reference , A::difference_type >::operator-> ( ) const
inlineinherited
Reference Dune::RandomAccessIteratorFacade< ArrayListIterator< T, N, A > , A::value_type , A::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.
template<class T, int N, class A>
size_type Dune::ArrayListIterator< T, N, A >::position ( )
inline
Todo:
Please doc me!

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 ConstArrayListIterator< T, N, A >
friend

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