alpaka
Abstraction Library for Parallel Kernel Acceleration
Loading...
Searching...
No Matches
SmartMaskValueRef.hpp File Reference
#include "alpaka/simd/internal/utility.hpp"
#include <type_traits>

Go to the source code of this file.

Classes

struct  alpaka::internal::SmartMaskValueRef< T, T_ValueMask >
 Simd mask reference. More...

Namespaces

namespace  alpaka
 main alpaka namespace.
namespace  alpaka::internal
 alpaka internal implementations.

Macros

#define SIMD_MASK_REF_ASSIGN_OP(OP, BOOL_FALLBACK)

Macro Definition Documentation

◆ SIMD_MASK_REF_ASSIGN_OP

#define SIMD_MASK_REF_ASSIGN_OP ( OP,
BOOL_FALLBACK )
Value:
constexpr SmartMaskValueRef& operator OP(bool b) noexcept \
{ \
return (*this OP internal::valueMaskCast<ValueMaskType>(b)); \
} \
\
constexpr SmartMaskValueRef& operator OP(ValueMaskType v) noexcept \
{ \
if constexpr(std::is_same_v<ValueMaskType, bool>) \
{ \
valueRef = valueRef BOOL_FALLBACK static_cast<bool>(v); \
} \
else \
{ \
valueRef OP v; \
} \
return *this; \
} \
static_assert(true)

Definition at line 94 of file SmartMaskValueRef.hpp.