Blaze 3.9
List of all members
blaze::SIMDPack< T > Class Template Reference

Base class for all SIMD data types. More...

#include <SIMDPack.h>

Public Member Functions

Conversion operators
BLAZE_ALWAYS_INLINE constexpr T & operator~ () noexcept
 Conversion operator for non-constant SIMD packs. More...
 
BLAZE_ALWAYS_INLINE constexpr const T & operator~ () const noexcept
 Conversion operator for constant SIMD packs. More...
 
constexpr T & operator* () noexcept
 Conversion operator for non-constant SIMD packs. More...
 
constexpr const T & operator* () const noexcept
 Conversion operator for constant SIMD packs. More...
 

Protected Member Functions

Special member functions
 SIMDPack ()=default
 
 SIMDPack (const SIMDPack &)=default
 
 SIMDPack (SIMDPack &&)=default
 
 ~SIMDPack ()=default
 
SIMDPackoperator= (const SIMDPack &)=default
 
SIMDPackoperator= (SIMDPack &&)=default
 

Detailed Description

template<typename T>
class blaze::SIMDPack< T >

Base class for all SIMD data types.

The SIMDPack class template is a base class for all SIMD data types within the Blaze library. It provides an abstraction from the actual type of the SIMD pack, but enables a conversion back to this type via the 'Curiously Recurring Template Pattern' (CRTP).

Member Function Documentation

◆ operator*() [1/2]

template<typename T >
BLAZE_ALWAYS_INLINE constexpr const T & blaze::SIMDPack< T >::operator*
constexprnoexcept

Conversion operator for constant SIMD packs.

Returns
Constant reference of the actual type of the SIMD pack.

This operator performs the CRTP-based down-cast to the actual type T of the SIMD pack. It will return a constant reference to the actual type T.

◆ operator*() [2/2]

template<typename T >
BLAZE_ALWAYS_INLINE constexpr T & blaze::SIMDPack< T >::operator*
constexprnoexcept

Conversion operator for non-constant SIMD packs.

Returns
Mutable reference of the actual type of the SIMD pack.

This operator performs the CRTP-based down-cast to the actual type T of the SIMD pack. It will return a mutable reference to the actual type T.

◆ operator~() [1/2]

template<typename T >
BLAZE_ALWAYS_INLINE constexpr const T & blaze::SIMDPack< T >::operator~
constexprnoexcept

Conversion operator for constant SIMD packs.

Returns
Constant reference of the actual type of the SIMD pack.

This operator performs the CRTP-based type-safe downcast to the actual type T of the SIMD pack. It will return a constant reference to the actual type T.

◆ operator~() [2/2]

template<typename T >
BLAZE_ALWAYS_INLINE constexpr T & blaze::SIMDPack< T >::operator~
constexprnoexcept

Conversion operator for non-constant SIMD packs.

Returns
Mutable reference of the actual type of the SIMD pack.

This operator performs the CRTP-based type-safe downcast to the actual type T of the SIMD pack. It will return a mutable reference to the actual type T.


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