Namespaces
Variants

std::pmr::monotonic_buffer_resource:: monotonic_buffer_resource

From cppreference.net
Memory management library
( exposition only* )
Allocators
Uninitialized memory algorithms
Constrained uninitialized memory algorithms
Memory resources
Uninitialized storage (until C++20)
( until C++20* )
( until C++20* )
( until C++20* )

Garbage collector support (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
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 を構築します。上流メモリリソースポインタを取らないコンストラクタは、 std::pmr::get_default_resource の戻り値を上流メモリリソースとして使用します。

1,2) 現在のバッファ をnullに設定し、 次のバッファサイズ を実装定義のサイズに設定します。
3,4) 現在のバッファをnullに設定し、 次のバッファサイズ initial_size 以上に設定します。
5,6) 現在のバッファを buffer に設定し、次のバッファサイズを buffer_size (ただし1未満にはならない)に設定する。その後、次のバッファサイズを実装定義の増加係数(整数である必要はない)で増加させる。
7) コピーコンストラクタは削除されています。

パラメータ

upstream - 使用する上流メモリリソース;有効なメモリリソースを指している必要があります
initial_size - 最初に割り当てるバッファの最小サイズ;ゼロより大きい必要があります
buffer - 使用する初期バッファ
buffer_size - 初期バッファのサイズ; buffer のバイト数より大きくすることはできません