deal.II version GIT relicensing-2206-gaa53ff9447 2024-12-02 09:10:00+00:00
\(\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 | Protected Member Functions | Protected Attributes | Friends | List of all members
BlockMatrixIterators::Accessor< BlockMatrixType, true > Class Template Reference

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

Inheritance diagram for BlockMatrixIterators::Accessor< BlockMatrixType, true >:
Inheritance graph
[legend]

Public Types

using size_type = types::global_dof_index
 
using MatrixType = const BlockMatrixType
 
using value_type = typename BlockMatrixType::value_type
 

Public Member Functions

 Accessor (const BlockMatrixType *m, const size_type row, const size_type col)
 
 Accessor (const Accessor< BlockMatrixType, false > &)
 
size_type row () const
 
size_type column () const
 
value_type value () const
 
unsigned int block_row () const
 
unsigned int block_column () const
 

Protected Member Functions

void advance ()
 
bool operator== (const Accessor &a) const
 

Protected Attributes

const BlockMatrixType * matrix
 
BlockMatrixType::BlockType::const_iterator base_iterator
 
unsigned int row_block
 
unsigned int col_block
 

Friends

template<typename >
class ::MatrixIterator
 

Detailed Description

template<typename BlockMatrixType>
class BlockMatrixIterators::Accessor< BlockMatrixType, true >

Block matrix accessor for constant matrices, implementing the stepping through a matrix.

Definition at line 205 of file block_matrix_base.h.

Member Typedef Documentation

◆ size_type

template<typename BlockMatrixType >
using BlockMatrixIterators::Accessor< BlockMatrixType, true >::size_type = types::global_dof_index

Declare type for container size.

Definition at line 211 of file block_matrix_base.h.

◆ MatrixType

template<typename BlockMatrixType >
using BlockMatrixIterators::Accessor< BlockMatrixType, true >::MatrixType = const BlockMatrixType

Type of the matrix used in this accessor.

Definition at line 216 of file block_matrix_base.h.

◆ value_type

template<typename BlockMatrixType >
using BlockMatrixIterators::Accessor< BlockMatrixType, true >::value_type = typename BlockMatrixType::value_type

Typedef the value type of the matrix we point into.

Definition at line 221 of file block_matrix_base.h.

Constructor & Destructor Documentation

◆ Accessor() [1/2]

template<typename BlockMatrixType >
BlockMatrixIterators::Accessor< BlockMatrixType, true >::Accessor ( const BlockMatrixType *  m,
const size_type  row,
const size_type  col 
)

Constructor. Since we use accessors only for read access, a const matrix pointer is sufficient.

Place the iterator at the beginning of the given row of the matrix, or create the end pointer if row equals the total number of rows in the matrix.

◆ Accessor() [2/2]

template<typename BlockMatrixType >
BlockMatrixIterators::Accessor< BlockMatrixType, true >::Accessor ( const Accessor< BlockMatrixType, false > &  )

Initialize const accessor from non const accessor.

Member Function Documentation

◆ row()

template<typename BlockMatrixType >
size_type BlockMatrixIterators::Accessor< BlockMatrixType, true >::row ( ) const

Row number of the element represented by this object.

◆ column()

template<typename BlockMatrixType >
size_type BlockMatrixIterators::Accessor< BlockMatrixType, true >::column ( ) const

Column number of the element represented by this object.

◆ value()

template<typename BlockMatrixType >
value_type BlockMatrixIterators::Accessor< BlockMatrixType, true >::value ( ) const

Value of the entry at the current position.

◆ advance()

template<typename BlockMatrixType >
void BlockMatrixIterators::Accessor< BlockMatrixType, true >::advance ( )
protected

Move ahead one element.

◆ operator==()

template<typename BlockMatrixType >
bool BlockMatrixIterators::Accessor< BlockMatrixType, true >::operator== ( const Accessor< BlockMatrixType, true > &  a) const
protected

Compare this accessor with another one for equality.

◆ block_row()

template<typename BlockMatrixType >
unsigned int BlockMatrixIterators::AccessorBase< BlockMatrixType >::block_row ( ) const
inherited

Block row of the element represented by this object.

◆ block_column()

template<typename BlockMatrixType >
unsigned int BlockMatrixIterators::AccessorBase< BlockMatrixType >::block_column ( ) const
inherited

Block column of the element represented by this object.

Friends And Related Symbol Documentation

◆ ::MatrixIterator

template<typename BlockMatrixType >
template<typename >
friend class ::MatrixIterator
friend

Definition at line 283 of file block_matrix_base.h.

Member Data Documentation

◆ matrix

template<typename BlockMatrixType >
const BlockMatrixType* BlockMatrixIterators::Accessor< BlockMatrixType, true >::matrix
protected

The matrix accessed.

Definition at line 262 of file block_matrix_base.h.

◆ base_iterator

template<typename BlockMatrixType >
BlockMatrixType::BlockType::const_iterator BlockMatrixIterators::Accessor< BlockMatrixType, true >::base_iterator
protected

Iterator of the underlying matrix class.

Definition at line 267 of file block_matrix_base.h.

◆ row_block

template<typename BlockMatrixType >
unsigned int BlockMatrixIterators::AccessorBase< BlockMatrixType >::row_block
protectedinherited

Block row into which we presently point.

Definition at line 96 of file block_matrix_base.h.

◆ col_block

template<typename BlockMatrixType >
unsigned int BlockMatrixIterators::AccessorBase< BlockMatrixType >::col_block
protectedinherited

Block column into which we presently point.

Definition at line 101 of file block_matrix_base.h.


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