5#ifndef IPPL_EXPRESSIONS_H
6#define IPPL_EXPRESSIONS_H
25 template <
typename E,
size_t N = sizeof(E)>
27 constexpr static unsigned dim = E::dim;
33 return static_cast<const E&
>(*this)[i];
43 template <
typename E,
size_t N = sizeof(E)>
45 constexpr static unsigned dim = E::dim;
47 template <
typename... Args>
48 KOKKOS_INLINE_FUNCTION
auto operator()(Args... args)
const {
49 static_assert(
sizeof...(Args) == dim || dim == 0);
50 return reinterpret_cast<const E&
>(*this)(args...);
63 constexpr static unsigned dim = 0;
74 KOKKOS_INLINE_FUNCTION value_type
operator[](
size_t )
const {
return val_m; }
82 template <
typename... Args>
Definition IpplExpressions.h:44
Definition IpplExpressions.h:26
KOKKOS_INLINE_FUNCTION auto operator[](size_t i) const
Definition IpplExpressions.h:32
Definition IpplExpressions.h:61
KOKKOS_INLINE_FUNCTION value_type operator[](size_t) const
Definition IpplExpressions.h:74
KOKKOS_INLINE_FUNCTION auto operator()(Args...) const
Definition IpplExpressions.h:83
Definition IpplExpressions.h:92