Reference documentation for deal.II version 9.1.1
\(\newcommand{\dealcoloneq}{\mathrel{\vcenter{:}}=}\)
Public Member Functions | Public Attributes | List of all members
BlockMatrixArray< number, BlockVectorType >::Entry Class Reference

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

Public Member Functions

template<typename MatrixType >
 Entry (const MatrixType &matrix, size_type row, size_type col, number prefix, bool transpose)
 
 Entry (const Entry &)
 
 ~Entry ()
 
Entryoperator= (const Entry &)=delete
 

Public Attributes

size_type row
 
size_type col
 
number prefix
 
bool transpose
 
PointerMatrixBase< typename BlockVectorType::BlockType > * matrix
 

Detailed Description

template<typename number = double, typename BlockVectorType = BlockVector<number>>
class BlockMatrixArray< number, BlockVectorType >::Entry

Internal data structure.

For each entry of a BlockMatrixArray, its position, matrix, prefix and optional transposition must be stored. This structure encapsulates all of them.

Author
Guido Kanschat, 2000, 2001

Definition at line 279 of file block_matrix_array.h.

Constructor & Destructor Documentation

◆ Entry() [1/2]

template<typename number = double, typename BlockVectorType = BlockVector<number>>
template<typename MatrixType >
BlockMatrixArray< number, BlockVectorType >::Entry::Entry ( const MatrixType &  matrix,
size_type  row,
size_type  col,
number  prefix,
bool  transpose 
)

Constructor initializing all data fields. A PointerMatrix object is generated for matrix.

◆ Entry() [2/2]

template<typename number , typename BlockVectorType >
BlockMatrixArray< number, BlockVectorType >::Entry::Entry ( const Entry e)

Copy constructor invalidating the old object. Since it is only used for entering temporary objects into a vector, this is ok.

For a deep copy, we would need a reproduction operator in PointerMatixBase.

Definition at line 27 of file block_matrix_array.cc.

◆ ~Entry()

template<typename number , typename BlockVectorType >
BlockMatrixArray< number, BlockVectorType >::Entry::~Entry ( )

Destructor, where we delete the PointerMatrix created by the constructor.

Definition at line 41 of file block_matrix_array.cc.

Member Function Documentation

◆ operator=()

template<typename number = double, typename BlockVectorType = BlockVector<number>>
Entry& BlockMatrixArray< number, BlockVectorType >::Entry::operator= ( const Entry )
delete

Assignment operator.

Note
Since the copy constructor is destructive (see its documentation) and only exists for convenience there is no reasonable way to implement this, so it is explicitly deleted.

Member Data Documentation

◆ row

template<typename number = double, typename BlockVectorType = BlockVector<number>>
size_type BlockMatrixArray< number, BlockVectorType >::Entry::row

Row number in the block matrix.

Definition at line 311 of file block_matrix_array.h.

◆ col

template<typename number = double, typename BlockVectorType = BlockVector<number>>
size_type BlockMatrixArray< number, BlockVectorType >::Entry::col

Column number in the block matrix.

Definition at line 316 of file block_matrix_array.h.

◆ prefix

template<typename number = double, typename BlockVectorType = BlockVector<number>>
number BlockMatrixArray< number, BlockVectorType >::Entry::prefix

Factor in front of the matrix block.

Definition at line 321 of file block_matrix_array.h.

◆ transpose

template<typename number = double, typename BlockVectorType = BlockVector<number>>
bool BlockMatrixArray< number, BlockVectorType >::Entry::transpose

Indicates that matrix block must be transposed for multiplication.

Definition at line 326 of file block_matrix_array.h.

◆ matrix

template<typename number = double, typename BlockVectorType = BlockVector<number>>
PointerMatrixBase<typename BlockVectorType::BlockType>* BlockMatrixArray< number, BlockVectorType >::Entry::matrix

The matrix block itself.

Definition at line 331 of file block_matrix_array.h.


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