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

Compile time check for the memory layout of data types. More...

#include <IsContiguous.h>

Inherits blaze::IntegralConstant< T, N >.

Detailed Description

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

Compile time check for the memory layout of data types.

This type trait tests whether the given data type is array-like and all its elements lie contiguous in memory. In case the data type has contiguous elements, 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:

using RowMajorMatrix = DynamicMatrix<double,rowMajor>;
using ColumnMajorMatrix = DynamicMatrix<double,columnMajor>;
using RowType1 = decltype( blaze::row<1UL>( std::declval<RowMajorMatrix>() ) );
using RowType2 = decltype( blaze::row<1UL>( std::declval<ColumnMajorMatrix>() ) );
using ElementsType = decltype( blaze::elements<4UL,12UL>( std::declval< StaticVector<int,3UL> >() ) );
blaze::IsContiguous< volatile RowType1 > // Is derived from TrueType
Efficient implementation of an arbitrary sized sparse vector.
Definition: CompressedVector.h:220
Efficient implementation of a dynamic matrix.
Definition: DynamicMatrix.h:242
Efficient implementation of a fixed-sized vector.
Definition: StaticVector.h:230
Compile time check for the memory layout of data types.
Definition: IsContiguous.h:87

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