![]() |
Blaze 3.9
|
Base template for the DeclDiagTrait class. More...
#include <DeclDiagTrait.h>
Inherits decltype evalDeclDiagTrait std::declval< MT & >.
Base template for the DeclDiagTrait class.
The DeclDiagTrait class template offers the possibility to select the resulting data type of a generic decldiag() operation on the given type MT. In case the given type MT is a dense or sparse matrix type, DeclDiagTrait defines the nested type Type, which represents the resulting data type of the decldiag() operation. Otherwise there is no nested type Type. Note that const and volatile qualifiers and reference modifiers are generally ignored.
Per default, DeclDiagTrait supports all matrix types of the Blaze library (including views and adaptors). For all other data types it is possible to specialize the DeclDiagTrait template. The following example shows the according specialization for the SymmetricMatrix class template:
The following example demonstrates the use of the DeclDiagTrait template, where depending on the given matrix type the resulting type is selected: