Experimental library header <experimental/memory_resource>
From cppreference.com
This header is part of the Library Fundamentals TS (v1, v2, v3).
Classes
Defined in namespace
std::experimental::pmr | |
| an abstract interface for classes that encapsulate memory resources (class) | |
| a thread-safe memory_resource for managing allocations in pools of different block sizes (class) | |
| a thread-unsafe memory_resource for managing allocations in pools of different block sizes (class) | |
| a special-purpose memory_resource that releases the allocated memory only when the resource is destroyed (class) | |
| an allocator that supports run-time polymorphism based on the memory_resource it is constructed with (class template) | |
| adapts an allocator into a memory_resource (alias template) | |
Functions
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<
typename allocator_traits<Allocator>::template 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
