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

From cppreference.com
Memory management library
(exposition only*)
Uninitialized memory algorithms
(C++17)
(C++17)
(C++17)
(C++20)
Constrained uninitialized
memory algorithms
(C++20)
C Library

Allocators
(C++11)
(C++11)
Memory resources
Garbage collection support
(C++11)(until C++23)
(C++11)(until C++23)
(C++11)(until C++23)
(C++11)(until C++23)
(C++11)(until C++23)
(C++11)(until C++23)
Uninitialized storage
(until C++20*)
(until C++20*)
(until C++20*)
Explicit lifetime management
polymorphic_allocator() noexcept;
(1)
polymorphic_allocator( const polymorphic_allocator& other ) = default ;
(2)
template < class U >
polymorphic_allocator( const polymorphic_allocator<U> & other ) noexcept ;
(3)
polymorphic_allocator( std::pmr::memory_resource * r ) ;
(4)

Constructs a new polymorphic_allocator.

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

Parameters

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

Exceptions

4) Throws nothing.

Notes

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

See also

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