Blaze 3.9
Public Types | Static Public Attributes | List of all members
blaze::Matrix< MT, SO > Class Template Reference

Base class for matrices. More...

#include <Matrix.h>

Inherited by blaze::DenseMatrix< MT, SO >, and blaze::SparseMatrix< MT, SO >.

Public Types

using MatrixType = MT
 Type of the matrix.
 

Public Member Functions

Conversion operators
BLAZE_ALWAYS_INLINE constexpr MT & operator~ () noexcept
 CRTP-based conversion operation for non-constant matrices. More...
 
BLAZE_ALWAYS_INLINE constexpr const MT & operator~ () const noexcept
 CRTP-based conversion operation for constant matrices. More...
 
constexpr MT & operator* () noexcept
 CRTP-based conversion operation for non-constant matrices. More...
 
constexpr const MT & operator* () const noexcept
 CRTP-based conversion operation for constant matrices. More...
 

Static Public Attributes

static constexpr bool storageOrder = SO
 Storage order of the matrix.
 

Protected Member Functions

Special member functions
 Matrix ()=default
 
 Matrix (const Matrix &)=default
 
 Matrix (Matrix &&)=default
 
 ~Matrix ()=default
 
Matrixoperator= (const Matrix &)=default
 
Matrixoperator= (Matrix &&)=default
 

Detailed Description

template<typename MT, bool SO>
class 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 constexpr const MT & blaze::Matrix< MT, SO >::operator*
constexprnoexcept

CRTP-based conversion operation for constant matrices.

Returns
Constant reference of the actual type of the matrix.

This operator performs the CRTP-based type-safe downcast to the actual type MT of the matrix. It will return a constant reference to the actual type MT.

◆ operator*() [2/2]

template<typename MT , bool SO>
BLAZE_ALWAYS_INLINE constexpr MT & blaze::Matrix< MT, SO >::operator*
constexprnoexcept

CRTP-based conversion operation for non-constant matrices.

Returns
Mutable reference of the actual type of the matrix.

This operator performs the CRTP-based type-safe downcast to the actual type MT of the matrix. It will return a mutable reference to the actual type MT.

◆ operator~() [1/2]

template<typename MT , bool SO>
BLAZE_ALWAYS_INLINE constexpr const MT & blaze::Matrix< MT, SO >::operator~
constexprnoexcept

CRTP-based conversion operation for constant matrices.

Parameters
matrixThe matrix to be downcast.
Returns
Constant reference of the actual type of the matrix.

This operator performs the CRTP-based type-safe downcast to the actual type MT of the matrix. It will return a constant reference to the actual type MT.

◆ operator~() [2/2]

template<typename MT , bool SO>
BLAZE_ALWAYS_INLINE constexpr MT & blaze::Matrix< MT, SO >::operator~
constexprnoexcept

CRTP-based conversion operation for non-constant matrices.

Parameters
matrixThe matrix to be downcast.
Returns
Mutable reference of the actual type of the matrix.

This operator performs the CRTP-based type-safe downcast to the actual type MT of the matrix. It will return a mutable reference to the actual type MT.


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