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

Evaluation of the underlying scalar element type of a given data type. More...

#include <UnderlyingScalar.h>

Detailed Description

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

Evaluation of the underlying scalar element type of a given data type.

This type trait evaluates the underlying scalar (i.e. non-vector and non-matrix) element type at the heart of the given data type T. For this purpose either a nested ElementType will be used. Examples:

using Type1 = double; // Built-in data type
using Type2 = complex<float>; // Complex data type
using Type3 = std::vector<short>; // std::vector with built-in element type
using Type4 = StaticVector<int,3UL>; // Vector with built-in element type
using Type5 = CompressedVector< DynamicVector<float> >; // Vector with vector element type
blaze::UnderlyingScalar< Type2 >::Type // corresponds to complex<float>
blaze::UnderlyingScalar< Type3 >::Type // corresponds to std::vector<short>
Complex data type of the Blaze library.
Evaluation of the underlying scalar element type of a given data type.
Definition: UnderlyingScalar.h:91

Note that it is possible to add support for other data types that have an underlying scalar element type but do not provide a nested ElementType type by specializing the UnderlyingScalar class template.


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