blaze::RowTrait< MT > Struct Template Reference

Base template for the RowTrait class. More...

#include <RowTrait.h>

Detailed Description

template<typename MT>
struct blaze::RowTrait< MT >

Base template for the RowTrait class.

General

The RowTrait class template offers the possibility to select the resulting data type when creating a view on a specific row of a dense or sparse matrix. RowTrait defines the nested type Type, which represents the resulting data type of the row operation. In case the given data type is not a dense or sparse matrix type, the resulting data type Type is set to INVALID_TYPE. Note that const and volatile qualifiers and reference modifiers are generally ignored.

Per default, the RowTrait template only supports the following matrix types:

Creating custom specializations

It is possible to specialize the RowTrait template for additional user-defined matrix types. The following example shows the according specialization for the DynamicMatrix class template:

template< typename T1, bool SO >
struct RowTrait< DynamicMatrix<T1,SO> >
{
typedef DynamicVector<T1,true> Type;
};


Examples

The following example demonstrates the use of the RowTrait template, where depending on the given matrix type the resulting row type is selected:

// Definition of the row type of a row-major dynamic matrix
typedef typename RowTrait<MatrixType1>::Type RowType1;
// Definition of the row type of the column-major static matrix
typedef typename RowTrait<MatrixType2>::Type RowType2;

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