GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
std::experimental::pmr::synchronized_pool_resource(3) C++ Standard Libary std::experimental::pmr::synchronized_pool_resource(3)

std::experimental::pmr::synchronized_pool_resource - std::experimental::pmr::synchronized_pool_resource


Defined in header <experimental/memory_resource>
class synchronized_pool_resource : public (library fundamentals TS)
memory_resource;


The class std::experimental::pmr::synchronized_pool_resource is a general-purpose
memory resource class with the following properties:


* It owns the allocated memory and frees it on destruction, even if deallocate has
not been called for some of the allocated blocks.
* It consists of a collection of pools that serves request for different block
sizes. Each pool manages a collection of chunks that are then divided into
blocks of uniform size.
* Calls to do_allocate are dispatched to the pool serving the smallest blocks
accommodating the requested size.
* Exhausting memory in the pool causes the next allocation request for that pool
to allocate an additional chunk of memory from the upstream allocator to
replenish the pool. The chunk size obtained increases geometrically.
* Allocations requests that exceed the largest block size are served from the
upstream allocator directly.
* The largest block size and maximum chunk size may be tuned by passing a
std::experimental::pmr::pool_options struct to its constructor.


synchronized_pool_resource may be accessed from multiple threads without external
synchronization, and may have thread-specific pools to reduce synchronization costs.
If the memory resource is only accessed from one thread,
unsynchronized_pool_resource is more efficient.


constructor Constructs a synchronized_pool_resource
(public member function)
destructor Destroys a synchronized_pool_resource, releasing all allocated
[virtual] memory
(virtual public member function)
operator= Copy assignment operator is deleted. synchronized_pool_resource is
[deleted] not copy assignable
(public member function)


release Release all allocated memory
(public member function)
upstream_resource Returns a pointer to the upstream memory resource
(public member function)
Returns the options that control the pooling behavior of this
options resource
(public member function)


do_allocate Allocate memory
[virtual] (virtual protected member function)
do_deallocate Return memory to the pool
[virtual] (virtual protected member function)
do_is_equal Compare for equality with another memory_resource
[virtual] (virtual protected member function)

2022.07.31 http://cppreference.com

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.