RAJA
RAJA provides a collection of platform portability abstractions for C++ HPC applications.
Public Types | Static Public Attributes | List of all members
RAJA::detail::builtin_useReinterpret< T > Struct Template Reference

#include <atomic_builtin.hpp>

Public Types

using type = std::conditional_t< sizeof(T)==1, unsigned char, std::conditional_t< sizeof(T)==2, unsigned short, std::conditional_t< sizeof(T)==4, unsigned int, unsigned long long > >>
 

Static Public Attributes

static constexpr bool value
 

Detailed Description

template<typename T>
struct RAJA::detail::builtin_useReinterpret< T >

Type trait for determining if the operator should be implemented by reinterpreting inputs to types that intrinsics support

Member Typedef Documentation

◆ type

template<typename T >
using RAJA::detail::builtin_useReinterpret< T >::type = std::conditional_t<sizeof(T) == 1, unsigned char, std::conditional_t<sizeof(T) == 2, unsigned short, std::conditional_t<sizeof(T) == 4, unsigned int, unsigned long long> >>

Member Data Documentation

◆ value

template<typename T >
constexpr bool RAJA::detail::builtin_useReinterpret< T >::value
staticconstexpr
Initial value:
= !std::is_integral<T>::value &&
!std::is_enum<T>::value &&
((sizeof(T) == 1
&& sizeof(unsigned char) == 1
) ||
(sizeof(T) == 2
&& sizeof(unsigned short) == 2
) ||
(sizeof(T) == 4
&& sizeof(unsigned int) == 4
) ||
(sizeof(T) == 8
&& sizeof(unsigned long long) == 8
))

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