std::experimental::pmr::monotonic_buffer_resource::monotonic_buffer_resource

来自cppreference.com
 
 
 
 
 
monotonic_buffer_resource();
(1)(库基础 TS)
explicit monotonic_buffer_resource( memory_resource* upstream );
(2)(库基础 TS)
explicit monotonic_buffer_resource( std::size_t initial_size );
(3)(库基础 TS)
monotonic_buffer_resource( std::size_t initial_size,
                           memory_resource* upstream );
(4)(库基础 TS)
monotonic_buffer_resource( void* buffer, std::size_t buffer_size );
(5)(库基础 TS)
monotonic_buffer_resource( void* buffer, std::size_t buffer_size,
                           memory_resource* upstream );
(6)(库基础 TS)
monotonic_buffer_resource( const monotonic_buffer_resource& ) = delete;
(7)(库基础 TS)

构造 monotonic_buffer_resource。不接受上游内存资源指针的构造函数使用 std::experimental::pmr::get_default_resource() 的返回值为其上游内存资源。

1,2) 设置 当前缓冲区 为空并设置 下一个缓冲区大小 为由实现定义的大小。
3,4) 设置 当前缓冲区 为空并设置 下一个缓冲区大小 为不小于 initial_size 的大小。
5,6) 设置 当前缓冲区buffer 并设置 下一个缓冲区大小buffer_size(但不能小于 1)。然后以实现定义的增长率(不必为整数)增加 下一个缓冲区大小
7) 复制构造函数被弃置。

参数

upstream-使用的上游内存资源;必须指向有效内存资源
initial_size-分配的第一个缓冲区的最小大小;必须大于零
buffer-使用的初始缓冲区
buffer_size-初始缓冲区的大小;不能大于 buffer 中的字节数