命名空间
变体
操作

std::experimental::pmr::unsynchronized_pool_resource

来自 cppreference.com
 
 
 
 
 
在头文件 <experimental/memory_resource> 中定义
class unsynchronized_pool_resource : public memory_resource;
(库基础 TS)

std::experimental::pmr::unsynchronized_pool_resource 是一个通用内存资源类,具有以下属性

  • 它拥有已分配的内存,并在析构时释放它,即使对于某些已分配的块没有调用 deallocate
  • 它包含一个 集合,用于满足对不同块大小的请求。每个池管理一个 集合,然后将这些块划分为大小一致的块。
  • do_allocate 的调用将分派到为容纳请求大小的最小块提供服务的池。
  • 耗尽池中的内存会导致对该池的下一个分配请求从 上游分配器 分配额外的内存块来补充池。获得的块大小呈几何级数增长。
  • 超过最大块大小的分配请求将直接从 上游分配器 提供服务。
  • 可以通过将 std::experimental::pmr::pool_options 结构传递给其构造函数来调整最大块大小和最大块大小。

unsynchronized_pool_resource 不是线程安全的,不能从多个线程同时访问;如果需要从多个线程访问,请使用 synchronized_pool_resource

[edit] 成员函数

构造一个 unsynchronized_pool_resource
(公有成员函数) [edit]
销毁一个 unsynchronized_pool_resource,释放所有已分配的内存
(虚拟公有成员函数) [edit]
operator=
[已删除]
复制赋值运算符已删除。unsynchronized_pool_resource 不可复制赋值
(公有成员函数) [edit]
公有成员函数
释放所有已分配的内存
(公有成员函数) [edit]
返回指向上游内存资源的指针
(公有成员函数) [edit]
返回控制此资源池行为的选项
(公有成员函数) [edit]
受保护成员函数
[虚拟]
分配内存
(虚拟受保护成员函数) [edit]
将内存返回池
(虚拟受保护成员函数) [edit]
[虚拟]
与另一个 memory_resource 进行相等性比较
(虚拟受保护成员函数) [edit]