GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
std::pmr::polymorphic_allocator(3) C++ Standard Libary std::pmr::polymorphic_allocator(3)

std::pmr::polymorphic_allocator - std::pmr::polymorphic_allocator


Defined in header <memory_resource>
template< class T > (since C++17)
class polymorphic_allocator; (until C++20)
template< class T = std::byte > (since C++20)
class polymorphic_allocator;


The class template std::pmr::polymorphic_allocator is an Allocator which exhibits
different allocation behavior depending upon the std::pmr::memory_resource from
which it is constructed. Since memory_resource uses runtime polymorphism to manage
allocations, different container instances with polymorphic_allocator as their
static allocator type are interoperable, but can behave as if they had different
allocator types.


All specializations of polymorphic_allocator meet the Allocator completeness
requirements.


The polymorphic_allocator::construct member function does uses-allocator
construction, so that the elements of a container using a polymorphic_allocator will
use that same allocator for their own allocations. For example, a
std::pmr::vector<std::pmr::string> will use the same memory_resource for the
vector's storage and each string's storage.


Member type definition
value_type T


constructor Constructs a polymorphic_allocator
(public member function)
destructor Implicitly declared destructor
(implicitly declared) (public member function)
operator= Copy assignment operator is deleted
[deleted] (public member function)


allocate Allocate memory
(public member function)
deallocate Deallocate memory
(public member function)
construct Constructs an object in allocated storage
(public member function)
destroy Destroys an object in allocated storage
(deprecated in C++20) (public member function)
allocate_bytes Allocate raw aligned memory from the
(C++20) underlying resource
(public member function)
deallocate_bytes Free raw memory obtained from allocate_bytes
(C++20) (public member function)
allocate_object Allocates raw memory suitable for an object or
(C++20) an array
(public member function)
deallocate_object Frees raw memory obtained by allocate_object
(C++20) (public member function)
new_object Allocates and constructs an object
(C++20) (public member function)
delete_object Destroys and deallocates an object
(C++20) (public member function)
Create a new polymorphic_allocator for use by
select_on_container_copy_construction a container's copy constructor
(public member function)
Returns a pointer to the underlying memory
resource resource
(public member function)


operator== compare two polymorphic_allocators
operator!= (function)
(removed in C++20)


polymorphic_allocator does not propagate on container copy assignment, move
assignment, or swap. As a result, move assignment of a polymorphic_allocator-using
container can throw, and swapping two polymorphic_allocator-using containers whose
allocators do not compare equal results in undefined behavior.


Feature-test macro: __cpp_lib_polymorphic_allocator


memory_resource an abstract interface for classes that encapsulate memory resources
(C++17) (class)

2022.07.31 http://cppreference.com

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.