---
name: "std::pmr_polymorphic_allocator"
section: "3cxx"
platform: "linux"
package: "libstdc++-13-doc"
version: "13.3.0-16"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/std::pmr_polymorphic_allocator/3cxx"
---

# std::pmr\_polymorphic\_allocator(3cxx)

Class template polymorphic\_allocator.

## NAME

std::pmr::polymorphic\_allocator\< \_Tp \> - Class template polymorphic\_allocator.

## SYNOPSIS

`#include <memory_resource>`

### Public Types

**using** **value\_type** = \_Tp\

### Public Member Functions

**polymorphic\_allocator** (const **polymorphic\_allocator** &\_\_other)=**default**\
 template\<**typename** \_Up \> **polymorphic\_allocator** (const **polymorphic\_allocator**\< \_Up \> &\_\_x) noexcept\
 **polymorphic\_allocator** (**memory\_resource** \*\_\_r) noexcept\
 \_Tp \* **allocate** (size\_t \_\_n)\
 **void** \* **allocate\_bytes** (size\_t **\_\_nbytes**, size\_t **\_\_alignment**=**alignof**(**max\_align\_t**))\
 template\<**typename** \_Up \> \_Up \* **allocate\_object** (size\_t \_\_n=1)\
 template\<**typename** **\_Tp1** , typename... \_Args\> **void** **construct** (**\_Tp1** \*\_\_p, **\_Args** &&... **\_\_args**)\
 **void** **deallocate** (\_Tp \*\_\_p, size\_t \_\_n) noexcept\
 **void** **deallocate\_bytes** (**void** \*\_\_p, size\_t **\_\_nbytes**, size\_t **\_\_alignment**=**alignof**(**max\_align\_t**))\
 template\<**typename** \_Up \> **void** **deallocate\_object** (\_Up \*\_\_p, size\_t \_\_n=1)\
 template\<**typename** \_Up \> **void** **delete\_object** (\_Up \*\_\_p)\
 template\<**typename** \_Up \> **void** **destroy** (\_Up \*\_\_p)\
 template\<**typename** \_Up , typename... \_CtorArgs\> \_Up \* **new\_object** (**\_CtorArgs** &&... **\_\_ctor\_args**)\
 **polymorphic\_allocator** & **operator=** (const **polymorphic\_allocator** &)=**delete**\
 **memory\_resource** \* **resource** () const noexcept\
 **polymorphic\_allocator** **select\_on\_container\_copy\_construction** () const noexcept\

### Friends

bool **operator==** (const **polymorphic\_allocator** &\_\_a, const **polymorphic\_allocator** &\_\_b) noexcept\

## Detailed Description

### template\<typename \_Tp\>

class std::pmr::polymorphic\_allocator\< \_Tp \>"Class template polymorphic\_allocator.

**Since**

C++17

## Author

Generated automatically by Doxygen for libstdc++ from the source code.
