dune-common  2.7.0
Public Member Functions | List of all members
Dune::ContainerWrapperIterator< CW, T, R > Class Template Reference

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 >
ContainerWrapperIteratoroperator= (OtherContainerWrapperIteratorType &other)
 
T * operator-> () const
 
bool equals (const MyType &other) const
 
bool equals (const MyConstType &other) const
 
dereference () const
 
void increment ()
 
void decrement ()
 
elementAt (int i) const
 
void advance (int n)
 
template<class OtherContainerWrapperIteratorType >
std::ptrdiff_t distanceTo (OtherContainerWrapperIteratorType &other) const
 
std::ptrdiff_t index () const
 

Detailed Description

template<class CW, class T, class R>
class Dune::ContainerWrapperIterator< CW, T, R >

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.

Template Parameters
CWThe container wrapper class
TThe contained type
RThe reference type returned by dereference

Constructor & Destructor Documentation

◆ ContainerWrapperIterator()

template<class CW , class T , class R >
Dune::ContainerWrapperIterator< CW, T, R >::ContainerWrapperIterator ( const MyConstType other)
inline

Member Function Documentation

◆ equals()

template<class CW , class T , class R >
bool Dune::ContainerWrapperIterator< CW, T, R >::equals ( const MyConstType other) const
inline

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