Public Types | Public Member Functions | List of all members
blaze::Matrix< MT, SO > Struct Template Reference

Base class for matrices.The Matrix class is a base class for all dense and sparse matrix classes within the Blaze library. It provides an abstraction from the actual type of the matrix, but enables a conversion back to this type via the 'Curiously Recurring Template Pattern' (CRTP). More...

#include <Matrix.h>

Inherited by blaze::DenseMatrix< MT, SO >, blaze::SparseMatrix< MT, SO >, blaze::DenseMatrix< CustomMatrix< Type, AF, PF, SO >, SO >, blaze::DenseMatrix< DMatDeclDiagExpr< MT, SO >, SO >, blaze::DenseMatrix< DMatDeclHermExpr< MT, SO >, SO >, blaze::DenseMatrix< DMatDeclLowExpr< MT, SO >, SO >, blaze::DenseMatrix< DMatDeclSymExpr< MT, SO >, SO >, blaze::DenseMatrix< DMatDeclUppExpr< MT, SO >, SO >, blaze::DenseMatrix< DMatDMatAddExpr< MT1, MT2, SO >, SO >, blaze::DenseMatrix< DMatDMatMapExpr< MT1, MT2, OP, SO >, SO >, blaze::DenseMatrix< DMatDMatMultExpr< MT1, MT2, SF, HF, LF, UF >, false >, blaze::DenseMatrix< DMatDMatSchurExpr< MT1, MT2, SO >, SO >, blaze::DenseMatrix< DMatDMatSubExpr< MT1, MT2, SO >, SO >, blaze::DenseMatrix< DMatEvalExpr< MT, SO >, SO >, blaze::DenseMatrix< DMatInvExpr< MT, SO >, SO >, blaze::DenseMatrix< DMatMapExpr< MT, OP, SO >, SO >, blaze::DenseMatrix< DMatScalarDivExpr< MT, ST, SO >, SO >, blaze::DenseMatrix< DMatScalarMultExpr< MT, ST, SO >, SO >, blaze::DenseMatrix< DMatSerialExpr< MT, SO >, SO >, blaze::DenseMatrix< DMatSMatAddExpr< MT1, MT2, SO >, SO >, blaze::DenseMatrix< DMatSMatMultExpr< MT1, MT2, SF, HF, LF, UF >, false >, blaze::DenseMatrix< DMatSMatSubExpr< MT1, MT2, SO >, SO >, blaze::DenseMatrix< DMatTDMatAddExpr< MT1, MT2 >, false >, blaze::DenseMatrix< DMatTDMatMapExpr< MT1, MT2, OP >, false >, blaze::DenseMatrix< DMatTDMatMultExpr< MT1, MT2, SF, HF, LF, UF >, false >, blaze::DenseMatrix< DMatTDMatSchurExpr< MT1, MT2 >, false >, blaze::DenseMatrix< DMatTDMatSubExpr< MT1, MT2 >, false >, blaze::DenseMatrix< DMatTransExpr< MT, SO >, SO >, blaze::DenseMatrix< DMatTransposer< MT, SO >, SO >, blaze::DenseMatrix< DMatTSMatAddExpr< MT1, MT2 >, false >, blaze::DenseMatrix< DMatTSMatMultExpr< MT1, MT2, SF, HF, LF, UF >, false >, blaze::DenseMatrix< DMatTSMatSubExpr< MT1, MT2 >, false >, blaze::DenseMatrix< DVecDVecOuterExpr< VT1, VT2 >, false >, blaze::DenseMatrix< DynamicMatrix< Type, SO >, SO >, blaze::DenseMatrix< HybridMatrix< Type, M, N, SO >, SO >, blaze::DenseMatrix< SMatDMatMultExpr< MT1, MT2, SF, HF, LF, UF >, false >, blaze::DenseMatrix< SMatDMatSubExpr< MT1, MT2, SO >, SO >, blaze::DenseMatrix< SMatTDMatMultExpr< MT1, MT2, SF, HF, LF, UF >, false >, blaze::DenseMatrix< SMatTDMatSubExpr< MT1, MT2 >, true >, blaze::DenseMatrix< StaticMatrix< Type, M, N, SO >, SO >, blaze::DenseMatrix< TDMatDMatMultExpr< MT1, MT2, SF, HF, LF, UF >, true >, blaze::DenseMatrix< TDMatSMatAddExpr< MT1, MT2 >, true >, blaze::DenseMatrix< TDMatSMatMultExpr< MT1, MT2, SF, HF, LF, UF >, true >, blaze::DenseMatrix< TDMatSMatSubExpr< MT1, MT2 >, true >, blaze::DenseMatrix< TDMatTDMatMultExpr< MT1, MT2, SF, HF, LF, UF >, true >, blaze::DenseMatrix< TDMatTSMatMultExpr< MT1, MT2, SF, HF, LF, UF >, true >, blaze::DenseMatrix< TSMatDMatMultExpr< MT1, MT2, SF, HF, LF, UF >, true >, blaze::DenseMatrix< TSMatDMatSubExpr< MT1, MT2 >, false >, and blaze::DenseMatrix< TSMatTDMatMultExpr< MT1, MT2, SF, HF, LF, UF >, true >.

Public Types

using MatrixType = MT
 Type of the matrix.
 

Public Member Functions

BLAZE_ALWAYS_INLINE MatrixTypeoperator~ () noexcept
 Conversion operator for non-constant matrices. More...
 
BLAZE_ALWAYS_INLINE const MatrixTypeoperator~ () const noexcept
 Conversion operator for constant matrices. More...
 

Detailed Description

template<typename MT, bool SO>
struct blaze::Matrix< MT, SO >

Base class for matrices.

The Matrix class is a base class for all dense and sparse matrix classes within the Blaze library. It provides an abstraction from the actual type of the matrix, but enables a conversion back to this type via the 'Curiously Recurring Template Pattern' (CRTP).

Member Function Documentation

◆ operator~() [1/2]

template<typename MT, bool SO>
BLAZE_ALWAYS_INLINE MatrixType& blaze::Matrix< MT, SO >::operator~ ( )
inlinenoexcept

Conversion operator for non-constant matrices.

Returns
Reference of the actual type of the matrix.

◆ operator~() [2/2]

template<typename MT, bool SO>
BLAZE_ALWAYS_INLINE const MatrixType& blaze::Matrix< MT, SO >::operator~ ( ) const
inlinenoexcept

Conversion operator for constant matrices.

Returns
Constant reference of the actual type of the matrix.

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