allocator_support

The contents of this module can be included with the header hpx/modules/allocator_support.hpp. These headers may be used by user-code but are not guaranteed stable (neither header location nor contents). You are using these at your own risk. If you wish to use non-public functionality from a module we strongly suggest only including the module header hpx/modules/allocator_support.hpp, not the particular header in which the functionality you would like to use is defined. See Public API for a list of names that are part of the public HPX API.

Functions

void *__aligned_alloc(std::size_t alignment, std::size_t size)
void __aligned_free(void *p)
namespace hpx
namespace util

Functions

template<typename T>
constexpr bool operator==(aligned_allocator<T> const&, aligned_allocator<T> const&)
template<typename T>
constexpr bool operator!=(aligned_allocator<T> const&, aligned_allocator<T> const&)
template<typename T = int>
struct aligned_allocator

Public Types

typedef T value_type
typedef T *pointer
typedef T &reference
typedef T const &const_reference
typedef std::size_t size_type
typedef std::ptrdiff_t difference_type
typedef std::true_type is_always_equal
typedef std::true_type propagate_on_container_move_assignment

Public Functions

aligned_allocator()
template<typename U>
aligned_allocator(aligned_allocator<U> const&)
pointer address(reference x) const
const_pointer address(const_reference x) const
HPX_NODISCARD pointer hpx::util::aligned_allocator::allocate(size_type n, void const * = nullptr)
void deallocate(pointer p, size_type)
size_type max_size() const
template<typename U, typename ...Args>
void construct(U *p, Args&&... args)
template<typename U>
void destroy(U *p)

Public Members

const typedef T* hpx::util::aligned_allocator::const_pointer
template<typename U>
struct rebind

Public Types

template<>
typedef aligned_allocator<U> other
namespace hpx
namespace util
template<typename Allocator>
struct allocator_deleter

Public Functions

template<typename SharedState>
void operator()(SharedState *state)

Public Members

Allocator alloc_
namespace hpx
namespace util

Typedefs

template<typename T = int>
using internal_allocator = std::allocator<T>
namespace hpx
namespace traits

Variables

template<typename T>HPX_INLINE_CONSTEXPR_VARIABLE bool hpx::traits::is_allocator_v = is_allocator<T>::value