Reference documentation for deal.II version 9.1.1
\(\newcommand{\dealcoloneq}{\mathrel{\vcenter{:}}=}\)
Public Types | Public Member Functions | Private Attributes | Friends | List of all members
MatrixIterator< ACCESSOR > Class Template Reference

#include <deal.II/lac/matrix_iterator.h>

Public Types

using size_type = types::global_dof_index
 
using MatrixType = typename ACCESSOR::MatrixType
 

Public Member Functions

 MatrixIterator (MatrixType *matrix, const size_type row=0, const size_type index=0)
 
template<class OtherAccessor >
 MatrixIterator (const MatrixIterator< OtherAccessor > &other)
 
MatrixIteratoroperator++ ()
 
MatrixIterator operator++ (int)
 
const ACCESSOR & operator* () const
 
const ACCESSOR * operator-> () const
 
bool operator== (const MatrixIterator &) const
 
bool operator!= (const MatrixIterator &) const
 
bool operator< (const MatrixIterator &) const
 
bool operator> (const MatrixIterator &) const
 

Private Attributes

ACCESSOR accessor
 

Friends

template<class OtherAccessor >
class MatrixIterator
 

Detailed Description

template<class ACCESSOR>
class MatrixIterator< ACCESSOR >

Iterator for constant and non-constant matrices.

This iterator is abstracted from the actual matrix type and can be used for any matrix having the required ACCESSOR type.

Author
Guido Kanschat, 2006, based on previous a implementation

Definition at line 41 of file block_matrix_base.h.

Member Typedef Documentation

◆ size_type

template<class ACCESSOR>
using MatrixIterator< ACCESSOR >::size_type = types::global_dof_index

Declare type for container size.

Definition at line 41 of file matrix_iterator.h.

◆ MatrixType

template<class ACCESSOR>
using MatrixIterator< ACCESSOR >::MatrixType = typename ACCESSOR::MatrixType

Typedef for the matrix type (including constness) we are to operate on.

Definition at line 46 of file matrix_iterator.h.

Constructor & Destructor Documentation

◆ MatrixIterator() [1/2]

template<class ACCESSOR >
MatrixIterator< ACCESSOR >::MatrixIterator ( MatrixType matrix,
const size_type  row = 0,
const size_type  index = 0 
)
inline

Constructor. Create an iterator into the matrix matrix for the given row and the index within it.

Definition at line 132 of file matrix_iterator.h.

◆ MatrixIterator() [2/2]

template<class ACCESSOR >
template<class OtherAccessor >
MatrixIterator< ACCESSOR >::MatrixIterator ( const MatrixIterator< OtherAccessor > &  other)
inline

Copy from another matrix iterator. Mostly implemented to allow initialization of a constant iterator from a non constant, this function only requires that a conversion from the other iterator's accessor to this accessor object is possible.

Definition at line 141 of file matrix_iterator.h.

Member Function Documentation

◆ operator++() [1/2]

template<class ACCESSOR >
MatrixIterator< ACCESSOR > & MatrixIterator< ACCESSOR >::operator++ ( )
inline

Prefix increment.

Definition at line 149 of file matrix_iterator.h.

◆ operator++() [2/2]

template<class ACCESSOR >
MatrixIterator< ACCESSOR > MatrixIterator< ACCESSOR >::operator++ ( int  )
inline

Postfix increment.

Definition at line 158 of file matrix_iterator.h.

◆ operator*()

template<class ACCESSOR >
const ACCESSOR & MatrixIterator< ACCESSOR >::operator* ( ) const
inline

Dereferencing operator.

Definition at line 167 of file matrix_iterator.h.

◆ operator->()

template<class ACCESSOR >
const ACCESSOR * MatrixIterator< ACCESSOR >::operator-> ( ) const
inline

Dereferencing operator.

Definition at line 174 of file matrix_iterator.h.

◆ operator==()

template<class ACCESSOR >
bool MatrixIterator< ACCESSOR >::operator== ( const MatrixIterator< ACCESSOR > &  other) const
inline

Comparison. True, if both accessors are equal.

Definition at line 182 of file matrix_iterator.h.

◆ operator!=()

template<class ACCESSOR >
bool MatrixIterator< ACCESSOR >::operator!= ( const MatrixIterator< ACCESSOR > &  other) const
inline

Inverse of ==.

Definition at line 190 of file matrix_iterator.h.

◆ operator<()

template<class ACCESSOR >
bool MatrixIterator< ACCESSOR >::operator< ( const MatrixIterator< ACCESSOR > &  other) const
inline

Comparison operator. Result is true if either the first row number is smaller or if the row numbers are equal and the first index is smaller.

This function is only valid if both iterators point into the same matrix.

Definition at line 198 of file matrix_iterator.h.

◆ operator>()

template<class ACCESSOR >
bool MatrixIterator< ACCESSOR >::operator> ( const MatrixIterator< ACCESSOR > &  other) const
inline

Comparison operator. Works in the same way as above operator, just the other way round.

Definition at line 209 of file matrix_iterator.h.

Friends And Related Function Documentation

◆ MatrixIterator

template<class ACCESSOR>
template<class OtherAccessor >
friend class MatrixIterator
friend

Allow other iterators access to private data.

Definition at line 125 of file matrix_iterator.h.

Member Data Documentation

◆ accessor

template<class ACCESSOR>
ACCESSOR MatrixIterator< ACCESSOR >::accessor
private

Store an object of the accessor class.

Definition at line 119 of file matrix_iterator.h.


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