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

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

#include <UnderlyingNumeric.h>

Detailed Description

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

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

This type trait evaluates the underlying numeric (fundamental or complex) element type at the heart of the given data type T. For this purpose either a nested ElementType or a nested value_type 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>
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 neither provide a nested ElementType nor value_type type by specializing the UnderlyingScalar class template.


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