15 template <
typename T, std::
size_t Alignment>
43 return (static_cast<std::size_t>(0) - static_cast<std::size_t>(1)) /
sizeof(T);
56 return !(*
this == other);
61 void *
const pv =
static_cast<void *
>(p);
109 cerr <<
"aligned_allocator<T>::allocate() - Integer overflow." << endl;
113 void *
const pv = _mm_malloc(n *
sizeof(T), Alignment);
118 cerr <<
"std::bad_alloc" << endl;
121 return static_cast<T *
>(pv);
131 template <
typename U>
132 T *
allocate(
const std::size_t n,
const U * )
const
void destroy(T *const p) const
T * allocate(const std::size_t n, const U *) const
const T * address(const T &s) const
aligned_allocator(const aligned_allocator &)
void deallocate(T *const p, const std::size_t n) const
bool operator!=(const aligned_allocator &other) const
ptrdiff_t difference_type
bool operator==(const aligned_allocator &other) const
void construct(T *const p, const T &t) const
aligned_allocator(const aligned_allocator< U, Alignment > &)
aligned_allocator< U, Alignment > other
std::size_t max_size() const
T * allocate(const std::size_t n) const
const T & const_reference