Blaze  3.6
blaze::IsCUDAAssignable< T > Struct Template Reference

Compile time check for data types.This type trait tests whether or not the given template parameter is an CUDA-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 not considered CUDA-assignable, whereas several vector and matrix types (as for instance DynamicVector and DynamicMatrix) can be CUDA-assignable. If the type is CUDA-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. More...

#include <IsCUDAAssignable.h>

Inherits IsCUDAAssignableHelper< T >.

Detailed Description

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

Compile time check for data types.

This type trait tests whether or not the given template parameter is an CUDA-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 not considered CUDA-assignable, whereas several vector and matrix types (as for instance DynamicVector and DynamicMatrix) can be CUDA-assignable. If the type is CUDA-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::IsCUDAAssignable< StaticVector<int,3UL> >::Type // Results in FalseType

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