实验性库头文件 <experimental/memory_resource>
来自cppreference.com
< cpp | header | experimental
此头文件是库基础 TS (v1, v2, v3) 的一部分。
类
定义于命名空间
std::experimental::pmr | |
一个抽象接口,用于各种封装内存资源的类 (类) | |
线程安全的 memory_resource,用于管理具有不同块大小的池中的分配 (类) | |
线程不安全的 memory_resource,用于管理具有不同块大小的池中的分配 (类) | |
一种特殊用途的 memory_resource,仅在资源被销毁时才释放所分配内存 (类) | |
以 memory_resource 构造,支持基于它的运行时多态的分配器 (类模板) | |
适配一个分配器为一个 memory_resource (别名模板) |
函数
定义于命名空间
std::experimental::pmr | |
比较 | |
比较两个 memory_resource (函数) | |
比较两个分配器 (函数模板) | |
全局内存资源 | |
返回一个静态的程序范围 memory_resource ,它使用全局 operator new 与 operator delete 分配和解分配内存 (函数) | |
返回一个不进行任何分配的静态 memory_resource (函数) | |
缺省内存资源 | |
获取缺省 memory_resource (函数) | |
设置缺省 memory_resource (函数) |
概要
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; // 名字 resource_adaptor_imp 仅用于阐释。 template <class Allocator> class resource_adaptor_imp; template <class Allocator> using resource_adaptor = resource_adaptor_imp< typename allocator_traits<Allocator>::template rebind_alloc<char>>; // 全局内存资源 memory_resource* new_delete_resource() noexcept; memory_resource* null_memory_resource() noexcept; // 缺省内存资源 memory_resource* set_default_resource(memory_resource* r) noexcept; memory_resource* get_default_resource() noexcept; // 标准内存资源 struct pool_options; class synchronized_pool_resource; class unsynchronized_pool_resource; class monotonic_buffer_resource; } // namespace pmr } // namespace fundamentals_v1 } // namespace experimental } // namespace std