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) (depuis C++17)
explicit monotonic_buffer_resource ( std:: pmr :: memory_resource * upstream ) ;
(2) (depuis C++17)
explicit monotonic_buffer_resource ( std:: size_t initial_size ) ;
(3) (depuis C++17)
monotonic_buffer_resource ( std:: size_t initial_size,
std:: pmr :: memory_resource * upstream ) ;
(4) (depuis C++17)
monotonic_buffer_resource ( void * buffer, std:: size_t buffer_size ) ;
(5) (depuis C++17)
monotonic_buffer_resource ( void * buffer, std:: size_t buffer_size,
std:: pmr :: memory_resource * upstream ) ;
(6) (depuis C++17)
monotonic_buffer_resource ( const monotonic_buffer_resource & ) = delete ;
(7) (depuis C++17)

Construit une monotonic_buffer_resource . Les constructeurs qui ne prennent pas de pointeur vers une ressource mémoire amont utilisent la valeur de retour de std::pmr::get_default_resource comme ressource mémoire amont.

1,2) Définit le tampon actuel comme nul et la taille du tampon suivant à une taille définie par l'implémentation.
3,4) Définit le tampon actuel à null et la taille du tampon suivant à une taille non inférieure à initial_size .
5,6) Définit le tampon actuel sur buffer et la taille du tampon suivant sur buffer_size (mais pas moins de 1). Puis augmente la taille du tampon suivant d'un facteur de croissance défini par l'implémentation (qui ne doit pas nécessairement être entier).
7) Le constructeur de copie est supprimé.

Paramètres

upstream - la ressource mémoire amont à utiliser ; doit pointer vers une ressource mémoire valide
initial_size - la taille minimale du premier tampon à allouer ; doit être supérieure à zéro
buffer - le tampon initial à utiliser
buffer_size - la taille du tampon initial ; ne peut pas être supérieure au nombre d'octets dans buffer