|
dune-common 2.10
|
Iterator class for sparse vector-like containers. More...
#include <dune/common/diagonalmatrix.hh>

Public Types | |
| using | iterator_category |
| using | value_type |
| using | difference_type |
| using | pointer |
| using | reference |
| typedef T | DerivedType |
| The type of derived iterator. | |
| typedef T | Value |
| The type of value accessed through the iterator. | |
| typedef T * | Pointer |
| The pointer to the Value. | |
| typedef int | DifferenceType |
| The type of the difference between two positions. | |
| typedef R | Reference |
| The type of the reference to the values accessed. | |
Public Member Functions | |
| ContainerWrapperIterator () | |
| ContainerWrapperIterator (CW containerWrapper, int position) | |
| template<class OtherContainerWrapperIteratorType> | |
| ContainerWrapperIterator (OtherContainerWrapperIteratorType &other) | |
| ContainerWrapperIterator (const MyType &other) | |
| ContainerWrapperIterator (const MyConstType &other) | |
| template<class OtherContainerWrapperIteratorType> | |
| ContainerWrapperIterator & | operator= (OtherContainerWrapperIteratorType &other) |
| T * | operator-> () const |
| bool | equals (const MyType &other) const |
| bool | equals (const MyConstType &other) const |
| R | dereference () const |
| void | increment () |
| void | decrement () |
| R | elementAt (int i) const |
| void | advance (int n) |
| template<class OtherContainerWrapperIteratorType> | |
| std::ptrdiff_t | distanceTo (OtherContainerWrapperIteratorType &other) const |
| std::ptrdiff_t | index () const |
| Reference | operator* () const |
| Dereferencing operator. | |
| DerivedType & | operator++ () |
| Preincrement operator. | |
| DerivedType & | operator-- () |
| Preincrement operator. | |
Iterator class for sparse vector-like containers.
This class provides an iterator for sparse vector like containers. It contains a ContainerWrapper that must provide the translation from the position in the underlying container to the index in the sparse container.
The ContainerWrapper must be default and copy-constructable. Furthermore it must provide the methods:
bool identical(other) - check if this is identical to other (same container, not only equal) T* pointer(position) - get pointer to data at position in underlying container size_t realIndex(position) - get index in sparse container for position in underlying container
Notice that the iterator stores a ContainerWrapper. This allows one to use proxy classes as underlying container and as returned reference type.
| CW | The container wrapper class |
| T | The contained type |
| R | The reference type returned by dereference |
|
inherited |
The type of derived iterator.
The iterator has to define following functions have to be present:
For an elaborate explanation see the STL Documentation
|
inherited |
|
inherited |
The type of the difference between two positions.
|
inherited |
|
inherited |
The pointer to the Value.
|
inherited |
|
inherited |
The type of the reference to the values accessed.
|
inherited |
|
inherited |
The type of value accessed through the iterator.
|
inherited |
|
inline |
|
inline |
|
inlineinherited |
Dereferencing operator.
|
inlineinherited |
Preincrement operator.
|
inlineinherited |
Preincrement operator.