1 #ifndef hamr_cuda_malloc_host_allocator_h
2 #define hamr_cuda_malloc_host_allocator_h
4 #include "hamr_config.h"
11 template <
typename T,
typename E =
void>
29 void operator()(T *ptr);
56 void operator()(T *ptr);
72 template <
typename T,
typename E =
void>
86 static std::shared_ptr<T> allocate(
size_t n) HAMR_EXPORT;
93 static std::shared_ptr<T> allocate(
size_t n,
const T &val) HAMR_EXPORT;
100 template <
typename U>
101 static std::shared_ptr<T> allocate(
size_t n,
const U *vals) HAMR_EXPORT;
112 template <
typename T>
119 static std::shared_ptr<T> allocate(
size_t n) HAMR_EXPORT;
126 static std::shared_ptr<T> allocate(
size_t n,
const T &val) HAMR_EXPORT;
133 template <
typename U>
134 static std::shared_ptr<T> allocate(
size_t n,
const U *vals) HAMR_EXPORT;
139 #if !defined(HAMR_SEPARATE_IMPL)
140 #include "hamr_cuda_malloc_host_allocator_impl.h"