operator* based interface used in the standard has notorious issues with proxy references. To prevent those issues when dealing with complex, potentially SIMD-aware iterators, eve::write is to be used.
Defined in Header
#include <eve/module/core.hpp>
{
template<typename Ptr, scalar_value V>
requires requires(
Ptr p,
V v) { *p = v; }
template<typename Writeable, scalar_value V>
requires requires(
Writeable p,
V v) { p.write(v); }
template<
typename...
Ptrs, scalar_value
V>
}
typename decltype(detail::as_translated_type(as< T >{}))::type translate_t
Returns the final translated type of T.
Definition translation.hpp:107
EVE Main Namespace.
Definition abi.hpp:19
- Write the scalar
v into the memory pointed by p;
- Write the scalar
v into the memory managed by the object p;
- Write the scalar
v into the memory pointed by SoA pointer p;
Parameters
v: scalar to write to memory.
p: A pointer or rich iterator to write to.