Standard library header <experimental/memory_resource>
From cppreference.com
This header is part of the experimental library.
Contents |
[edit] Classes
Name | Description |
std::experimental::pmr::memory_resource (library fundamentals TS) | Abstract interface for classes that encapsulate memory resources (class) |
std::experimental::pmr::polymorphic_allocator (library fundamentals TS) | Template class for run-time polymorphism of Allocator s (class template)
|
std::experimental::pmr::resource_adaptor (library fundamentals TS) | Wraps an Allocator in a memory_resource (template alias)
|
std::experimental::pmr::pool_options (library fundamentals TS) | Passes options to pool resource constructors (struct) |
std::experimental::pmr::synchronized_pool_resource (library fundamentals TS) | Thread-safe memory_resource for allocating memory in pools (class)
|
std::experimental::pmr::unsynchronized_pool_resource (library fundamentals TS) | Thread-unsafe memory_resource for allocating memory in pools (class)
|
std::experimental::pmr::monotonic_buffer_resource (library fundamentals TS) | memory_resource that allocates memory monotonically and only releases it on destruction (class)
|
[edit] Functions
Comparison |
|
compares two resources (function) |
|
compares two allocators (function template) |
|
Global memory resources |
|
returns the static program-wide memory_resource (function) |
|
returns a static memory_resource that performs no allocation (function) |
|
Default memory resource |
|
sets and gets the default memory_resource (function) |
[edit] Synopsis
namespace std { namespace experimental { inline namespace fundamentals_v1 { namespace pmr { class memory_resource; bool operator==(const memory_resource& a, const memory_resource& b) noexcept; bool operator!=(const memory_resource& a, const memory_resource& b) noexcept; template <class Tp> class polymorphic_allocator; template <class T1, class T2> bool operator==(const polymorphic_allocator<T1>& a, const polymorphic_allocator<T2>& b) noexcept; template <class T1, class T2> bool operator!=(const polymorphic_allocator<T1>& a, const polymorphic_allocator<T2>& b) noexcept; // The name resource_adaptor_imp is for exposition only. template <class Allocator> class resource_adaptor_imp; template <class Allocator> using resource_adaptor = resource_adaptor_imp< allocator_traits<Allocator>::rebind_alloc<char>>; // Global memory resources memory_resource* new_delete_resource() noexcept; memory_resource* null_memory_resource() noexcept; // The default memory resource memory_resource* set_default_resource(memory_resource* r) noexcept; memory_resource* get_default_resource() noexcept; // Standard memory resources struct pool_options; class synchronized_pool_resource; class unsynchronized_pool_resource; class monotonic_buffer_resource; } // namespace pmr } // namespace fundamentals_v1 } // namespace experimental } // namespace std