Blaze 3.9
blaze::IsSMPAssignable< T > Struct Template Reference

Compile time check for data types. More...

#include <IsSMPAssignable.h>

Inherits blaze::IntegralConstant< T, N >.

Detailed Description

template<typename T>
struct blaze::IsSMPAssignable< T >

Compile time check for data types.

This type trait tests whether or not the given template parameter is an SMP-assignable data type (i.e. if it is a data type that can possibly and efficiently be assigned by several threads). In this context, built-in data types as well as complex numbers are non-SMP-assignable, whereas several vector and matrix types (as for instance DynamicVector and DynamicMatrix) can be SMP-assignable. If the type is SMP-assignable, the value member constant is set to true, the nested type definition Type is TrueType, and the class derives from TrueType. Otherwise value is set to false, Type is FalseType, and the class derives from FalseType.

using VectorType = DynamicVector<int,columnVector>;
VectorType a( 100UL );
using SubvectorType = decltype( blaze::subvector( a, 8UL, 16UL ) );
blaze::IsSMPAssignable< DynamicMatrix<int> > // Is derived from TrueType
blaze::IsSMPAssignable< StaticVector<int,3UL> >::Type // Results in FalseType
Efficient implementation of a dynamic matrix.
Definition: DynamicMatrix.h:242
Efficient implementation of an arbitrary sized vector.
Definition: DynamicVector.h:223
Efficient implementation of a fixed-sized matrix.
Definition: StaticMatrix.h:249
Efficient implementation of a fixed-sized vector.
Definition: StaticVector.h:230
decltype(auto) subvector(Vector< VT, TF > &, RSAs...)
Creating a view on a specific subvector of the given vector.
Definition: Subvector.h:158
Compile time check for data types.
Definition: IsSMPAssignable.h:114

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