Reference documentation for deal.II version 9.5.0
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
Loading...
Searching...
No Matches
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
 
template<class OtherAccessor >
bool operator== (const MatrixIterator< OtherAccessor > &) const
 
template<class OtherAccessor >
bool operator!= (const MatrixIterator< OtherAccessor > &) 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.

Definition at line 33 of file matrix_iterator.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 39 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 44 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*
inline

Dereferencing operator.

Definition at line 168 of file matrix_iterator.h.

◆ operator->()

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

Dereferencing operator.

Definition at line 176 of file matrix_iterator.h.

◆ operator==()

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

Comparison. True, if both accessors are equal.

Definition at line 185 of file matrix_iterator.h.

◆ operator!=()

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

Inverse of ==.

Definition at line 195 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 203 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 215 of file matrix_iterator.h.

Friends And Related Symbol Documentation

◆ MatrixIterator

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

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 121 of file matrix_iterator.h.


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