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

◆ unalign

eve::unalign = functor<unalign_t>
inlineconstexpr

Defined in Header

#include <eve/module/core.hpp>

Callable Signatures

namespace eve
{
template<std::contiguous_iterator I>
constexpr I unalign(I p) noexcept; // 1
template<eve::relaxed_iterator Ptr>
constexpr auto unalign(Ptr p) noexcept; // 2
template<typename T, typename N>
constexpr T* unalign(aligned_ptr<T, N> p) noexcept; // 3
template<typename... Ptrs>
constexpr auto unalign(soa_ptr<Ptrs...> p) noexcept; // 4
}
constexpr auto unalign
Callable object for computing an unaligned version of a relaxed iterator.
Definition: unalign.hpp:93
EVE Main Namespace.
Definition: abi.hpp:18
Wrapper for non-owning aligned pointers.
Definition: aligned_ptr.hpp:51
a low level abstraction that is like a tuple of pointers to parallel arrays. We think that in code on...
Definition: soa_ptr.hpp:33

Convert the pointer or iterator passed as a parameter to a pointer without qny information about its alignment.

Parameters

  • p: A pointer or relaxed iterator to convert.

Return value

  1. Return p as it is as std::iterator does not provide alignment information.
  2. Return the iterator-specific value as computed by the iterator unalign member.
  3. Return the raw pointer contained in p.
  4. Return a soa_ptr made of all unaligned pointers of p.