Reference documentation for deal.II version 9.0.0
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

typedef types::global_dof_index size_type
 
typedef ACCESSOR::MatrixType 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 38 of file block_matrix_base.h.

Member Typedef Documentation

◆ size_type

template<class ACCESSOR>
typedef types::global_dof_index MatrixIterator< ACCESSOR >::size_type

Declare type for container size.

Definition at line 40 of file matrix_iterator.h.

◆ MatrixType

template<class ACCESSOR>
typedef ACCESSOR::MatrixType MatrixIterator< ACCESSOR >::MatrixType

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

Definition at line 45 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 126 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 138 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 147 of file matrix_iterator.h.

◆ operator++() [2/2]

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

Postfix increment.

Definition at line 157 of file matrix_iterator.h.

◆ operator*()

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

Dereferencing operator.

Definition at line 168 of file matrix_iterator.h.

◆ operator->()

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

Dereferencing operator.

Definition at line 177 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 187 of file matrix_iterator.h.

◆ operator!=()

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

Inverse of ==.

Definition at line 197 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 207 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 220 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 117 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 112 of file matrix_iterator.h.


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