VecCore 0.8.1
C++ Library for Portable SIMD Vectorization
Loading...
Searching...
No Matches
vecCore::WrappedScalar< T > Class Template Reference

#include <ScalarWrapper.h>

Public Types

using Type = T
 
using Mask = WrappedBool
 

Public Member Functions

VECCORE_ATT_HOST_DEVICE WrappedScalar ()
 
VECCORE_ATT_HOST_DEVICE WrappedScalar (const T &val)
 
VECCORE_ATT_HOST_DEVICE WrappedScalar (const T *const val_ptr)
 
VECCORE_ATT_HOST_DEVICE WrappedScalar (const WrappedScalar *const s)
 
template<typename Type , class = typename std::enable_if<std::is_integral<Type>::value>::type>
VECCORE_ATT_HOST_DEVICE WrappedScalar (const Type &val)
 
VECCORE_ATT_HOST_DEVICE operator T& () noexcept
 
VECCORE_ATT_HOST_DEVICE operator T const & () const noexcept
 
VECCORE_ATT_HOST_DEVICE MaskedScalar< T > operator() (Mask m)
 
VECCORE_ATT_HOST_DEVICE T & operator[] (int index)
 
VECCORE_ATT_HOST_DEVICE T const operator[] (int index) const
 
VECCORE_ATT_HOST_DEVICE void load (T const *const src)
 
VECCORE_ATT_HOST_DEVICE void store (T &dest) const
 
VECCORE_ATT_HOST_DEVICE void store (T *dest) const
 

Static Public Member Functions

static VECCORE_ATT_HOST_DEVICE constexpr size_t size ()
 

Static Public Attributes

static constexpr size_t Size = 1
 

Detailed Description

template<class T>
class vecCore::WrappedScalar< T >

Definition at line 140 of file ScalarWrapper.h.

Member Typedef Documentation

◆ Mask

template<class T >
using vecCore::WrappedScalar< T >::Mask = WrappedBool

Definition at line 143 of file ScalarWrapper.h.

◆ Type

template<class T >
using vecCore::WrappedScalar< T >::Type = T

Definition at line 142 of file ScalarWrapper.h.

Constructor & Destructor Documentation

◆ WrappedScalar() [1/5]

template<class T >
VECCORE_ATT_HOST_DEVICE vecCore::WrappedScalar< T >::WrappedScalar ( )
inline

Definition at line 148 of file ScalarWrapper.h.

◆ WrappedScalar() [2/5]

template<class T >
VECCORE_ATT_HOST_DEVICE vecCore::WrappedScalar< T >::WrappedScalar ( const T &  val)
inline

Definition at line 151 of file ScalarWrapper.h.

◆ WrappedScalar() [3/5]

template<class T >
VECCORE_ATT_HOST_DEVICE vecCore::WrappedScalar< T >::WrappedScalar ( const T *const  val_ptr)
inline

Definition at line 154 of file ScalarWrapper.h.

◆ WrappedScalar() [4/5]

template<class T >
VECCORE_ATT_HOST_DEVICE vecCore::WrappedScalar< T >::WrappedScalar ( const WrappedScalar< T > *const  s)
inline

Definition at line 157 of file ScalarWrapper.h.

◆ WrappedScalar() [5/5]

template<class T >
template<typename Type , class = typename std::enable_if<std::is_integral<Type>::value>::type>
VECCORE_ATT_HOST_DEVICE vecCore::WrappedScalar< T >::WrappedScalar ( const Type val)
inline

Definition at line 162 of file ScalarWrapper.h.

Member Function Documentation

◆ load()

template<class T >
VECCORE_ATT_HOST_DEVICE void vecCore::WrappedScalar< T >::load ( T const *const  src)
inline

Definition at line 195 of file ScalarWrapper.h.

◆ operator T const &()

template<class T >
VECCORE_ATT_HOST_DEVICE vecCore::WrappedScalar< T >::operator T const & ( ) const
inlinenoexcept

Definition at line 173 of file ScalarWrapper.h.

◆ operator T&()

template<class T >
VECCORE_ATT_HOST_DEVICE vecCore::WrappedScalar< T >::operator T& ( )
inlinenoexcept

Definition at line 170 of file ScalarWrapper.h.

◆ operator()()

template<class T >
VECCORE_ATT_HOST_DEVICE MaskedScalar< T > vecCore::WrappedScalar< T >::operator() ( Mask  m)
inline

Definition at line 176 of file ScalarWrapper.h.

◆ operator[]() [1/2]

template<class T >
VECCORE_ATT_HOST_DEVICE T & vecCore::WrappedScalar< T >::operator[] ( int  index)
inline

Definition at line 179 of file ScalarWrapper.h.

◆ operator[]() [2/2]

template<class T >
VECCORE_ATT_HOST_DEVICE T const vecCore::WrappedScalar< T >::operator[] ( int  index) const
inline

Definition at line 187 of file ScalarWrapper.h.

◆ size()

template<class T >
static VECCORE_ATT_HOST_DEVICE constexpr size_t vecCore::WrappedScalar< T >::size ( )
inlinestaticconstexpr

Definition at line 167 of file ScalarWrapper.h.

◆ store() [1/2]

template<class T >
VECCORE_ATT_HOST_DEVICE void vecCore::WrappedScalar< T >::store ( T &  dest) const
inline

Definition at line 198 of file ScalarWrapper.h.

◆ store() [2/2]

template<class T >
VECCORE_ATT_HOST_DEVICE void vecCore::WrappedScalar< T >::store ( T *  dest) const
inline

Definition at line 201 of file ScalarWrapper.h.

Member Data Documentation

◆ Size

template<class T >
constexpr size_t vecCore::WrappedScalar< T >::Size = 1
staticconstexpr

Definition at line 145 of file ScalarWrapper.h.


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