FreeBSD Manual Pages
std::pmr::p...ic_allocator(3) C++ Standard Libarystd::pmr::p...ic_allocator(3) NAME std::pmr::polymorphic_allocator - std::pmr::polymorphic_allocator Synopsis 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::mem- ory_resource from which it is constructed. Since memory_resource uses runtime polymor- phism to manage allocations, different container instances with polymorphic_alloca- tor 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 com- pleteness requirements. The polymorphic_allocator::construct member function does uses-allo- cator construction, so that the elements of a container using a polymor- phic_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 types Member type definition value_type T Member functions constructor Constructs a polymorphic_allo- cator (public member function) destructor Implicitly declared destructor (implicitly declared) (public member function) operator= Copy assignment operator is deleted [deleted] (public member function) Public member functions allocate Allocate memory (public member function) deallocate Deallocate memory (public member function) construct Constructs an object in allo- cated storage (public member function) destroy Destroys an object in allo- cated 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_allo- cator for use by select_on_container_copy_construction a container's copy constructor (public member function) Returns a pointer to the un- derlying memory resource resource (public member function) Non-member functions operator== compare two polymorphic_allocators operator!= (function) (removed in C++20) Notes polymorphic_allocator does not propagate on container copy assign- ment, move assignment, or swap. As a result, move assignment of a polymor- phic_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 See also memory_resource an abstract interface for classes that encapsulate memory resources (C++17) (class) http://cppreference.com 2022.07.31 std::pmr::p...ic_allocator(3)
NAME | Synopsis | Member types | Member functions | Public member functions | Non-member functions | Notes | See also
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::pmr::polymorphic_allocator&sektion=3&manpath=FreeBSD+Ports+15.0>
