memory
|
Wraps a RawAllocator and makes it a "normal" Allocator
.
It allows using a RawAllocator
anywhere a Allocator
is required.
Typedefs | |
using | value_type = T |
using | pointer = T * |
using | const_pointer = const T * |
using | reference = T & |
using | const_reference = const T & |
using | size_type = std::size_t |
using | difference_type = std::ptrdiff_t |
using | propagate_on_container_swap = typename prop_traits::propagate_on_container_swap |
using | propagate_on_container_move_assignment = typename prop_traits::propagate_on_container_move_assignment |
using | propagate_on_container_copy_assignment = typename prop_traits::propagate_on_container_copy_assignment |
using | allocator_type = typename alloc_reference::allocator_type |
Related Symbols | |
template<typename T , typename U , class Impl > | |
bool | operator== (const std_allocator< T, Impl > &lhs, const std_allocator< U, Impl > &rhs) noexcept |
template<typename T , typename U , class Impl > | |
bool | operator!= (const std_allocator< T, Impl > &lhs, const std_allocator< U, Impl > &rhs) noexcept |
template<typename T , class RawAllocator > | |
auto | make_std_allocator (RawAllocator &&allocator) noexcept -> std_allocator< T, typename std::decay< RawAllocator >::type > |
|
noexcept |
RawAllocator
inside the reference. RawAllocator
type is stateless, otherwise the body of this function will not compile.
|
noexcept |
RawAllocator
. It will store an allocator_reference to it. allocator_reference<RawAllocator>(alloc)
is well-formed, that is either RawAlloc
is the same as RawAllocator
or RawAllocator
is the tag type any_allocator. If the requirement is not fulfilled this function does not participate in overload resolution. RawAllocator
is at least as long as the lifetime of this std_allocator object.
|
noexcept |
RawAllocator
object. It will not store a reference but create it on the fly. RawAllocator
is stateless and the expression allocator_reference<RawAllocator>(alloc)
is well-formed as above, otherwise this function does not participate in overload resolution.
|
noexcept |
|
delete |
Implicit conversion from any other allocator_storage is forbidden to prevent accidentally wrapping another allocator_storage inside a allocator_reference.
|
noexcept |
Allcoator
concept and simply takes the same allocator_reference.
|
noexcept |
Allcoator
concept and simply takes the same allocator_reference. std_allocator< T, RawAllocator > select_on_container_copy_construction | ( | ) | const |
Allocator
concept and forwards to the propagation_traits. n
is 1
, it will call allocate_node(sizeof(T), alignof(T))
, otherwise allocate_array(n, sizeof(T), alignof(T))
. n
objects of type T
. RawAllocator
.
|
noexcept |
n
on this object or any copy of it. U
at given address using the passed arguments. U
at given address.
|
noexcept |
max_array_size() / sizeof(value_type)
. This is only an upper bound, not the exact maximum.
|
noexcept |
const
) reference to the stored allocator. For stateless allocators: A temporary constructed allocator.
|
noexcept |
const
) reference to the stored allocator. For stateless allocators: A temporary constructed allocator.
|
related |
|
related |
|
related |