std::pmr::polymorphic_allocator<T>::polymorphic_allocator
// 1)polymorphic_allocator() noexcept;// 2)polymorphic_allocator( const polymorphic_allocator& other ) = default;// 3)template< class U >polymorphic_allocator( const polymorphic_allocator<U>& other ) noexcept;// 4)polymorphic_allocator( std::pmr::memory_resource* r );
Constructs a new polymorphic_allocator.
- 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 usingother.resource()
as the underlying memory resource. - Constructs a polymorphic_allocator using
r
as the underlying memory resource. This constructor provides an implicit conversion fromstd::pmr::memory_resource*
.
Parameters
other
- another polymorphic_allocator to copy from
r
- pointer to the memory resource to use. May not be null.
Exceptions
- 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) as its allocator.