cpp / latest / memory / monotonic_buffer_resource / monotonic_buffer_resource.html /

std::pmr::monotonic_buffer_resource::monotonic_buffer_resource

monotonic_buffer_resource();
(1) (since C++17)
explicit monotonic_buffer_resource(std::pmr::memory_resource* upstream);
(2) (since C++17)
explicit monotonic_buffer_resource(std::size_t initial_size);
(3) (since C++17)
monotonic_buffer_resource(std::size_t initial_size,
                          std::pmr::memory_resource* upstream);
(4) (since C++17)
monotonic_buffer_resource(void* buffer, std::size_t buffer_size);
(5) (since C++17)
monotonic_buffer_resource(void* buffer, std::size_t buffer_size,
                          std::pmr::memory_resource* upstream);
(6) (since C++17)
monotonic_buffer_resource(const monotonic_buffer_resource&) = delete;
(7) (since C++17)

Constructs a monotonic_buffer_resource. The constructors not taking an upstream memory resource pointer use the return value of std::pmr::get_default_resource as the upstream memory resource.

1-2) Sets the current buffer to null and the next buffer size to an implementation-defined size.
3-4) Sets the current buffer to null and the next buffer size to a size no smaller than initial_size.
5-6) Sets the current buffer to buffer and the next buffer size to buffer_size (but not less than 1). Then increase the next buffer size by an implementation-defined growth factor (which does not have to be integral).
7) Copy constructor is deleted.

Parameters

upstream - the upstream memory resource to use; must point to a valid memory resource
initial_size - the minimum size of the first buffer to allocate; must be greater than zero
buffer - the initial buffer to use
buffer_size - the size of the initial buffer; cannot be greater than the number of bytes in buffer

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/memory/monotonic_buffer_resource/monotonic_buffer_resource