std::pmr::monotonic_buffer_resource::monotonic_buffer_resource
< cpp | memory | monotonic buffer resource
monotonic_buffer_resource(); |
(1) | (C++17 起) |
explicit monotonic_buffer_resource(std::pmr::memory_resource* upstream); |
(2) | (C++17 起) |
explicit monotonic_buffer_resource(std::size_t initial_size); |
(3) | (C++17 起) |
monotonic_buffer_resource(std::size_t initial_size, std::pmr::memory_resource* upstream); |
(4) | (C++17 起) |
monotonic_buffer_resource(void* buffer, std::size_t buffer_size); |
(5) | (C++17 起) |
monotonic_buffer_resource(void* buffer, std::size_t buffer_size, std::pmr::memory_resource* upstream); |
(6) | (C++17 起) |
monotonic_buffer_resource(const monotonic_buffer_resource&) = delete; |
(7) | (C++17 起) |
构造 monotonic_buffer_resource
。不接收上游 memory_resource 指针的构造函数以 std::pmr::get_default_resource 为 memory_resource 。
1-2) 设置当前缓冲区为空,下个缓冲区大小为实现定义大小。
3-4) 设置当前缓冲区为空,下个缓冲区大小为不小于
initial_size
的值。5-6) 设置当前缓冲区为
buffer
,下个缓冲区大小为 buffer_size
(但不小于 1 )。然后以实现定义的增长因子(不必是整数)增加下个缓冲区大小。7) 复制构造函数被删除。
参数
upstream | - | 要使用的上游内存资源;必须指向合法的 memory_resource |
initial_size | - | 要分配的首个缓冲区的最小大小;必须大于零 |
buffer | - | 使用的初始缓冲区 |
buffer_size | - | 初始缓冲区的大小;不能大于 buffer 的字节数
|