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

Compile time check for the alignment of data types. More...

#include <IsAligned.h>

Inherits blaze::IntegralConstant< T, N >.

Detailed Description

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

Compile time check for the alignment of data types.

This type trait tests whether the given data type guarantees to provide aligned data values with respect to the requirements of the available instruction set. For instance, vectorizable data types such as built-in and complex data types are required to be 16-bit aligned for SSE, 32-bit aligned for AVX, and 64-bit aligned for MIC. In case the data type is properly aligned, 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. Examples:

blaze::IsAligned< StaticVector<int,3UL> >::value // Evaluates to 1
blaze::IsAligned< const DynamicMatrix<double> >::Type // Results in TrueType
blaze::IsAligned< CompressedVector<int> >::value // Evaluates to 0
Efficient implementation of an arbitrary sized sparse vector.
Definition: CompressedVector.h:220
Efficient implementation of a customizable matrix.
Definition: CustomMatrix.h:423
Efficient implementation of a customizable vector.
Definition: CustomVector.h:407
Efficient implementation of a dynamic matrix.
Definition: DynamicMatrix.h:242
Efficient implementation of a fixed-sized vector.
Definition: StaticVector.h:230
@ padded
Flag for padded vectors and matrices.
Definition: PaddingFlag.h:79
@ unpadded
Flag for unpadded vectors and matrices.
Definition: PaddingFlag.h:78
@ unaligned
Flag for unaligned vectors and matrices.
Definition: AlignmentFlag.h:64
@ aligned
Flag for aligned vectors and matrices.
Definition: AlignmentFlag.h:65
Compile time check for the alignment of data types.
Definition: IsAligned.h:88

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