std::pmr::unsynchronized_pool_resource
定义于头文件 <memory_resource>
|
||
class unsynchronized_pool_resource : public std::pmr::memory_resource; |
(C++17 起) | |
类 std::pmr::unsynchronized_pool_resource
是带下列属性的通用内存资源类:
- 它占有被分配内存并在析构时释放它,即使
deallocate
未被对于某些被分配块调用。 - 它由供应不同块大小请求的池的汇集组成。每个池管理之后被分入一致大小的大块的汇集。
- 对 do_allocate 的调用被派发到供应适应请求大小的最小块的池。
- 在池中耗尽内存,会导致该池从上游分配器分配额外的内存大块,以填满池。获取的大块大小以几何级数增加。
- 请求超出最大的块大小的分配,由上游分配器直接供应。
- 最大的块大小和大块大小的最大值可通过传递 std::pmr::pool_options 结构体给其构造函数调节。
unsynchronized_pool_resource
不是线程安全的,而且不能从多个线程同时访问;若要求从多个线程访问则应使用 synchronized_pool_resource 。
成员函数
构造 unsynchronized_pool_resource (公开成员函数) | |
[虚] |
销毁 unsynchronized_pool_resource ,释放所有分配的内存 (虚公开成员函数) |
operator= [被删除] |
复制赋值运算符被删除, unsynchronized_pool_resource 不可复制赋值 (公开成员函数) |
公开成员函数 | |
释放所有分配的内存 (公开成员函数) | |
返回指向上游 memory_resource 的指针 (公开成员函数) | |
返回控制此资源分池行为的选项 (公开成员函数) | |
受保护成员函数 | |
[虚] |
分配内存 (虚受保护成员函数) |
返还内存到池 (虚受保护成员函数) | |
[虚] |
与另一 std::pmr::memory_resource 比较相等 (虚受保护成员函数) |