7#ifndef __PALIGNED_ALLOCATOR_H__
8#define __PALIGNED_ALLOCATOR_H__
37 if(n > std::numeric_limits<std::size_t>::max() /
sizeof(T)){
38 throw std::bad_array_new_length();
44 throw std::bad_alloc();
void phoenix_freeAlignedVector(void *ptr)
Free the aligned vector.
T * phoenix_template_alloc_aligned1d(size_t nbValue)
Do a template allcoation of a type.
T value_type
Value of the type of the current allocator (used by std::vector to avoid ambiguities if we use multip...
static void deallocate(T *p, std::size_t n) noexcept
Free the allocated memory.
static T * allocate(std::size_t n)
Do the memory allocation.
PAlignedAllocator()=default
constexpr PAlignedAllocator(const PAlignedAllocator< U > &) noexcept
Copy constructor from U type.