A standard allocator that aligns its allocations as requested, suitable for use as an allocator in standard containers. More...
#include "util/stdlib/aligned_allocator.h"
Classes | |
| struct | rebind |
Public Types | |
| using | value_type = T |
| using | pointer = T* |
| using | const_pointer = const T* |
| using | reference = T& |
| using | const_reference = const T& |
| using | size_type = size_t |
| using | difference_type = ptrdiff_t |
Public Member Functions | |
| AlignedAllocator (const AlignedAllocator &other) noexcept | |
| template<typename U> | |
| AlignedAllocator (const AlignedAllocator< U, Alignment > &other) noexcept | |
| pointer | address (reference x) const noexcept |
| const_pointer | address (const_reference x) const noexcept |
| pointer | allocate (size_type n, const void *hint=0) |
| void | deallocate (pointer p, size_type n) |
| size_type | max_size () const noexcept |
| template<class U, class... Args> | |
| void | construct (U *p, Args &&... args) |
| template<class U> | |
| void | destroy (U *p) |
A standard allocator that aligns its allocations as requested, suitable for use as an allocator in standard containers.
This is similar to std::allocator<T>, with the addition of an alignment guarantee. Alignment must be a power of 2. If Alignment is not specified, the default alignment for type T is used.