E.V.E
v2023.02.15
 
Loading...
Searching...
No Matches

◆ write

auto eve::write = functor<write_t>
inlineconstexpr

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>

Callable Signatures

namespace eve
{
template<typename Ptr, scalar_value V>
requires requires(Ptr p, V v) { *p = v; }
EVE_FORCEINLINE void operator()(V v, Ptr p) const noexcept; // 1
template<typename Writeable, scalar_value V>
requires requires(Writeable p, V v) { p.write(v); }
EVE_FORCEINLINE void operator()(V v, Writeable p) const noexcept; // 2
template<typename... Ptrs, scalar_value V>
EVE_FORCEINLINE void operator()(V v, soa_ptr<Ptrs...> p) const noexcept; // 3
}
EVE Main Namespace.
Definition abi.hpp:18
  1. Write the scalar v into the memory pointed by p;
  2. Write the scalar v into the memory managed by the object p;
  3. 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.