Blaze 3.9
blaze::SubmatrixTrait< MT, CSAs > Struct Template Reference

Base template for the SubmatrixTrait class. More...

#include <SubmatrixTrait.h>

Inherits decltype evalSubmatrixTrait std::declval< MT & >.

Detailed Description

template<typename MT, size_t... CSAs>
struct blaze::SubmatrixTrait< MT, CSAs >

Base template for the SubmatrixTrait class.

General

The SubmatrixTrait class template offers the possibility to select the resulting data type when creating a submatrix of a dense or sparse matrix. In case the given type MT is a dense or sparse matrix type, SubmatrixTrait defines the nested type Type, which represents the resulting data type of the submatrix operation. Otherwise therer is no nested type Type. Note that const and volatile qualifiers and reference modifiers are generally ignored.

Creating custom specializations

Per default, SubmatrixTrait supports all matrix types of the Blaze library (including views and adaptors). For all other data types it is possible to specialize the SubmatrixTrait template. The following example shows the according specialization for the DynamicMatrix class template:

template< typename T1, bool SO >
struct SubmatrixTrait< DynamicMatrix<T1,SO> >
{
using Type = DynamicMatrix<T1,SO>;
};


Examples

The following example demonstrates the use of the SubmatrixTrait template, where depending on the given matrix type the according result type is selected:

// Definition of the result type of a row-major dynamic matrix
using ResultType1 = typename blaze::SubmatrixTrait<MatrixType1>::Type;
// Definition of the result type for the inner four elements of a 4x4 column-major static matrix
Efficient implementation of a dynamic matrix.
Definition: DynamicMatrix.h:242
Efficient implementation of a fixed-sized matrix.
Definition: StaticMatrix.h:249
constexpr bool rowMajor
Storage order flag for row-major matrices.
Definition: StorageOrder.h:71
constexpr bool columnMajor
Storage order flag for column-major matrices.
Definition: StorageOrder.h:99
Base template for the SubmatrixTrait class.
Definition: SubmatrixTrait.h:126

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