dune-common
2.7.0
|
Iterator class for sparse vector-like containers. More...
#include <dune/common/diagonalmatrix.hh>
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 |
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 |
|
inline |
|
inline |