12#include <Kokkos_Core.hpp>
16template <
class T,
class MemorySpace>
22 <= std::max(
alignof(std::max_align_t),
alignof(Kokkos::complex<long double>)),
23 "Alignment not supported");
60 return static_cast<T*
>(Kokkos::kokkos_malloc<MemorySpace>(
sizeof(T) *
n));
65 return static_cast<T*
>(Kokkos::kokkos_malloc<MemorySpace>(label,
sizeof(T) *
n));
70 Kokkos::kokkos_free(
p);
74template <
class T,
class MST,
class U,
class MSU>
80#if !defined(__cpp_impl_three_way_comparison) || __cpp_impl_three_way_comparison < 201902L
82template <
class T,
class MST,
class U,
class MSU>
constexpr KokkosAllocator(KokkosAllocator< U, MemorySpace > const &) noexcept
void deallocate(T *p, std::size_t) const
T * allocate(std::size_t n) const
constexpr KokkosAllocator(KokkosAllocator &&x) noexcept=default
constexpr KokkosAllocator & operator=(KokkosAllocator const &x)=default
~KokkosAllocator()=default
constexpr KokkosAllocator & operator=(KokkosAllocator< U, MemorySpace > const &) noexcept
constexpr KokkosAllocator()=default
constexpr KokkosAllocator & operator=(KokkosAllocator &&x) noexcept=default
constexpr KokkosAllocator(KokkosAllocator const &x)=default
T * allocate(std::string const &label, std::size_t n) const
The top-level namespace of DDC.
constexpr bool enable_chunk
constexpr bool operator!=(AlignedAllocator< T, NT > const &, AlignedAllocator< U, NU > const &) noexcept
constexpr bool operator==(AlignedAllocator< T, NT > const &, AlignedAllocator< U, NU > const &) noexcept