Dune-Fufem 2.11-git
Loading...
Searching...
No Matches
MappedMatrixColIterator< Map > Class Template Reference

Iterator over sparse row of MappedMatrix. More...

#include <dune/fufem/mappedmatrix.hh>

Inheritance diagram for MappedMatrixColIterator< Map >:
Inheritance graph

Public Types

typedef Map::block_type Value
 
typedef Map::block_type Reference
 
typedef std::forward_iterator_tag iterator_category
 
typedef typename std::remove_const< V >::type value_type
 
typedef D difference_type
 
typedef V * pointer
 
typedef R reference
 
typedef T DerivedType
 
typedef V * Pointer
 
typedef D DifferenceType
 

Public Member Functions

 MappedMatrixColIterator (const Map &map, typename Matrix::row_type::ConstIterator &&it, int row, int virtualRow, int virtualCol=0)
 Construct iterator that points at a specific column.
 
void increment ()
 
bool equals (const MappedMatrixColIterator &other) const
 
const Reference dereference () const
 
int index () const
 
constexpr Reference operator* () const
 
constexpr Pointer operator-> () const
 
constexpr DerivedTypeoperator++ ()
 
constexpr DerivedType operator++ (int)
 

Protected Attributes

const Map * map_
 
Matrix::row_type::ConstIterator it_
 
const int row_
 
int virtualRow_
 
int virtualCol_
 

Detailed Description

template<class Map>
class MappedMatrixColIterator< Map >

Iterator over sparse row of MappedMatrix.

Be careful: Since MappedMatrix is not a real container the entries can only be accessed as copies. Hence the exported type Reference is not a Value&.

As a side effect 'operator->' cannot be used because Dune::ForwardIteratorFacade does not allow to specify a proxy class as Pointer type. Instead it tries to get an address of the result of 'operator*'.

Member Typedef Documentation

◆ Reference

template<class Map >
typedef Map::block_type MappedMatrixColIterator< Map >::Reference

◆ Value

template<class Map >
typedef Map::block_type MappedMatrixColIterator< Map >::Value

Constructor & Destructor Documentation

◆ MappedMatrixColIterator()

template<class Map >
MappedMatrixColIterator< Map >::MappedMatrixColIterator ( const Map &  map,
typename Matrix::row_type::ConstIterator &&  it,
int  row,
int  virtualRow,
int  virtualCol = 0 
)
inline

Construct iterator that points at a specific column.

Parameters
mapThe transformation that should be applied to the entries.
itIterator pointing to the corresponding column of the untransformed matrix
rowIndex of the row of the underlying matrix.
virtualRowRow number in the set of rows that resulted from transforming the row pointed to by it.
virtualColColumn number in the set of columns that resulted from transforming the column pointed to by it.

Member Function Documentation

◆ dereference()

template<class Map >
const Reference MappedMatrixColIterator< Map >::dereference ( ) const
inline

◆ equals()

template<class Map >
bool MappedMatrixColIterator< Map >::equals ( const MappedMatrixColIterator< Map > &  other) const
inline

◆ increment()

template<class Map >
void MappedMatrixColIterator< Map >::increment ( )
inline

◆ index()

template<class Map >
int MappedMatrixColIterator< Map >::index ( ) const
inline

Member Data Documentation

◆ it_

template<class Map >
Matrix::row_type::ConstIterator MappedMatrixColIterator< Map >::it_
protected

◆ map_

template<class Map >
const Map* MappedMatrixColIterator< Map >::map_
protected

◆ row_

template<class Map >
const int MappedMatrixColIterator< Map >::row_
protected

◆ virtualCol_

template<class Map >
int MappedMatrixColIterator< Map >::virtualCol_
protected

◆ virtualRow_

template<class Map >
int MappedMatrixColIterator< Map >::virtualRow_
protected

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