std::pmr::polymorphic_allocator<T>::polymorphic_allocator (3) - Linux Manuals

std::pmr::polymorphic_allocator<T>::polymorphic_allocator: std::pmr::polymorphic_allocator<T>::polymorphic_allocator


std::pmr::polymorphic_allocator<T>::polymorphic_allocator - std::pmr::polymorphic_allocator<T>::polymorphic_allocator


polymorphic_allocator() noexcept; (1)
polymorphic_allocator( const polymorphic_allocator& other ) = default; (2)
template< class U > (3)
polymorphic_allocator( const polymorphic_allocator<U>& other ) noexcept;
polymorphic_allocator( memory_resource* r); (4)

Constructs a new polymorphic_allocator.
1) Constructs a polymorphic_allocator using the return value of std::pmr::get_default_resource() as the underlying memory resource.
2-3) Constructs a polymorphic_allocator using other.resource() as the underlying memory resource.
4) Constructs a polymorphic_allocator using r as the underlying memory resource. This constructor provides an implicit conversion from memory_resource*.


other - another polymorphic_allocator to copy from
r - pointer to the memory resource to use. May not be null.


4) Throws nothing.


Copying a container using a polymorphic_allocator will not call the allocator's copy constructor. Instead, the new container will use the return value of select_on_container_copy_construction (a default-constructed polymorphic_allocator) as its allocator.

See also

                                      Create a new polymorphic_allocator for use by a container's copy constructor
select_on_container_copy_construction (public member function)