hpx/compute/host/numa_allocator.hpp

See Public API for a list of names and headers that are part of the public HPX API.

namespace hpx
namespace parallel
namespace util
template<typename T, typename Executors>
class numa_allocator

Public Types

typedef T value_type
typedef value_type *pointer
typedef value_type const *const_pointer
typedef value_type &reference
typedef value_type const &const_reference
typedef std::size_t size_type
typedef std::ptrdiff_t difference_type

Public Functions

numa_allocator(Executors const &executors, hpx::threads::topology &topo)
numa_allocator(numa_allocator const &rhs)
template<typename U>
numa_allocator(numa_allocator<U, Executors> const &rhs)
pointer address(reference r)
const_pointer address(const_reference r)
pointer allocate(size_type cnt, const void* = nullptr)
void deallocate(pointer p, size_type cnt)
size_type max_size() const
void construct(pointer p, const T &t)
void destroy(pointer p)

Private Types

typedef Executors::value_type executor_type

Private Members

Executors const &executors_
hpx::threads::topology &topo_

Friends

friend hpx::parallel::util::numa_allocator
bool operator==(numa_allocator const&, numa_allocator const&)
bool operator!=(numa_allocator const &l, numa_allocator const &r)
template<typename U>
struct rebind

Public Types

template<>
typedef numa_allocator<U, Executors> other