##### cppreference.com

##### Search

Create account

##### Namespaces

- Page
- Discussion

##### Variants

##### Views

- View
- Edit
- History

##### Actions

# std::pmr::polymorphic_allocator::polymorphic_allocator

From cppreference.com
< cpp‎ | memory‎ | polymorphic allocator

polymorphic_allocator(); | (1) |
polymorphic_allocator( const polymorphic_allocator& other ) = default; | (2) |
template< class U > polymorphic_allocator( const polymorphic_allocator<U>& other ); | (3) |
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*`.

### [edit] Parameters

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

### [edit] Exceptions

1,3)
`noexcept` specification:
noexcept
4) Throws nothing.

### [edit] 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.

### [edit] See also

select_on_container_copy_construction | Create a new `polymorphic_allocator` for use by a container's copy constructor (public member function) [edit]

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=cpp/memory/polymorphic_allocator/polymorphic_allocator&oldid=91459"
Category:

- unconditionally noexcept

Hidden categories:

- Pages with unreviewed unconditional noexcept template
- Pages with unreviewed noexcept template