|
HAMR
The Heterogeneous Accelerator Memory Resource
|
1 #ifndef hamr_new_allocator_impl_h
2 #define hamr_new_allocator_impl_h
20 #if defined(HAMR_VERBOSE)
23 std::cerr <<
"created new_deleter for array of " << n
24 <<
" objects of type " <<
typeid(T).name() << std::endl;
35 #if defined(HAMR_VERBOSE)
38 std::cerr <<
"new_deleter deleting array of " << m_elem
39 <<
" objects of type " <<
typeid(T).name() << std::endl;
55 #if defined(HAMR_VERBOSE)
58 std::cerr <<
"new_allocator allocating array of " << n
59 <<
" objects of type " <<
typeid(T).name() << std::endl;
74 #if defined(HAMR_VERBOSE)
77 std::cerr <<
"new_allocator allocating array of " << n
78 <<
" objects of type " <<
typeid(T).name() <<
" initialized"
84 T *ptr = (T*)
new unsigned char[n*
sizeof(T)];
87 for (
size_t i = 0; i < n; ++i)
99 #if defined(HAMR_VERBOSE)
102 std::cerr <<
"new_allocator allocating array of " << n
103 <<
" objects of type " <<
typeid(T).name() <<
" initialized"
109 T *ptr = (T*)
new unsigned char[n*
sizeof(T)];
112 for (
size_t i = 0; i < n; ++i)
113 new (&ptr[i]) T(vals[i]);
a deleter for arrays allocated with new
Definition: hamr_new_allocator.h:13
constexpr HAMR_EXPORT int get_verbose()
returns the value of the HAMR_VERBOSE environment variable
Definition: hamr_env.h:14
static std::shared_ptr< T > allocate(size_t n) HAMR_EXPORT
Definition: hamr_new_allocator_impl.h:53
new_deleter(T *ptr, size_t n)
Definition: hamr_new_allocator_impl.h:18
void operator()(T *ptr)
Definition: hamr_new_allocator_impl.h:31
heterogeneous accelerator memory resource
Definition: hamr_buffer.h:13
- stable
- hamr_new_allocator_impl.h