Reference documentation for deal.II version 9.0.0
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 270 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 29 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 44 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 302 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 307 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 312 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 317 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 322 of file block_matrix_array.h.


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