deal.II version GIT relicensing-2165-gc91f007519 2024-11-20 01:40:00+00:00
|
#include <deal.II/lac/sparse_matrix.h>
Public Types | |
using | MatrixType = typename Accessor< number, Constness >::MatrixType |
using | value_type = const Accessor< number, Constness > & |
using | difference_type = size_type |
Public Member Functions | |
Iterator (MatrixType *matrix, const std::size_t index_within_matrix) | |
Iterator (MatrixType *matrix) | |
Iterator (const SparseMatrixIterators::Iterator< number, false > &i) | |
const Iterator< number, Constness > & | operator= (const SparseMatrixIterators::Iterator< number, false > &i) |
Iterator & | operator++ () |
Iterator | operator++ (int) |
const Accessor< number, Constness > & | operator* () const |
const Accessor< number, Constness > * | operator-> () const |
bool | operator== (const Iterator &) const |
bool | operator!= (const Iterator &) const |
bool | operator< (const Iterator &) const |
bool | operator> (const Iterator &) const |
int | operator- (const Iterator &p) const |
Iterator | operator+ (const size_type n) const |
Private Attributes | |
Accessor< number, Constness > | accessor |
Iterator for constant and non-constant matrices.
The typical use for these iterators is to iterate over the elements of a sparse matrix or over the elements of individual rows. Note that there is no guarantee that the elements of a row are actually traversed in an order in which columns monotonically increase. See the documentation of the SparsityPattern class for more information.
The first template argument denotes the underlying numeric type, the second the constness of the matrix.
Since there is a specialization of this class for Constness=false
, this class is for iterators to constant matrices.
Definition at line 346 of file sparse_matrix.h.
using SparseMatrixIterators::Iterator< number, Constness >::MatrixType = typename Accessor<number, Constness>::MatrixType |
Typedef for the matrix type (including constness) we are to operate on.
Definition at line 352 of file sparse_matrix.h.
using SparseMatrixIterators::Iterator< number, Constness >::value_type = const Accessor<number, Constness> & |
An alias for the type you get when you dereference an iterator of the current kind.
Definition at line 358 of file sparse_matrix.h.
using SparseMatrixIterators::Iterator< number, Constness >::difference_type = size_type |
A type that denotes what data types is used to express the difference between two iterators.
Definition at line 364 of file sparse_matrix.h.
SparseMatrixIterators::Iterator< number, Constness >::Iterator | ( | MatrixType * | matrix, |
const std::size_t | index_within_matrix | ||
) |
Constructor. Create an iterator into the matrix matrix
for the given index in the complete matrix (counting from the zeroth entry).
SparseMatrixIterators::Iterator< number, Constness >::Iterator | ( | MatrixType * | matrix | ) |
Constructor. Create the end iterator for the given matrix.
SparseMatrixIterators::Iterator< number, Constness >::Iterator | ( | const SparseMatrixIterators::Iterator< number, false > & | i | ) |
Conversion constructor to get from a non-const iterator to a const iterator.
const Iterator< number, Constness > & SparseMatrixIterators::Iterator< number, Constness >::operator= | ( | const SparseMatrixIterators::Iterator< number, false > & | i | ) |
Copy assignment operator from a non-const iterator to a const iterator.
Iterator & SparseMatrixIterators::Iterator< number, Constness >::operator++ | ( | ) |
Prefix increment.
Iterator SparseMatrixIterators::Iterator< number, Constness >::operator++ | ( | int | ) |
Postfix increment.
const Accessor< number, Constness > & SparseMatrixIterators::Iterator< number, Constness >::operator* | ( | ) | const |
Dereferencing operator.
const Accessor< number, Constness > * SparseMatrixIterators::Iterator< number, Constness >::operator-> | ( | ) | const |
Dereferencing operator.
bool SparseMatrixIterators::Iterator< number, Constness >::operator== | ( | const Iterator< number, Constness > & | ) | const |
Comparison. True, if both iterators point to the same matrix position.
bool SparseMatrixIterators::Iterator< number, Constness >::operator!= | ( | const Iterator< number, Constness > & | ) | const |
Inverse of ==
.
bool SparseMatrixIterators::Iterator< number, Constness >::operator< | ( | const Iterator< number, Constness > & | ) | const |
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.
bool SparseMatrixIterators::Iterator< number, Constness >::operator> | ( | const Iterator< number, Constness > & | ) | const |
Comparison operator. Works in the same way as above operator, just the other way round.
int SparseMatrixIterators::Iterator< number, Constness >::operator- | ( | const Iterator< number, Constness > & | p | ) | const |
Return the distance between the current iterator and the argument. The distance is given by how many times one has to apply operator++ to the current iterator to get the argument (for a positive return value), or operator-- (for a negative return value).
Iterator SparseMatrixIterators::Iterator< number, Constness >::operator+ | ( | const size_type | n | ) | const |
Return an iterator that is n
ahead of the current one.
|
private |
Store an object of the accessor class.
Definition at line 461 of file sparse_matrix.h.