home | help
std::pmr::u...ol_resource(3)   C++ Standard Libary  std::pmr::u...ol_resource(3)

NAME
     std::pmr::unsynchronized_pool_resource  - std::pmr::unsynchronized_pool_re-
     source

Synopsis
	Defined in header <memory_resource>
	class	       unsynchronized_pool_resource	      : 	  public
     (since C++17)
	std::pmr::memory_resource;

	The  class  std::pmr::unsynchronized_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 requests for dif-
     ferent block
	    sizes. Each pool manages a collection of chunks that  are  then  di-
     vided 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 alloca-
     tor 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 pass-
     ing a
	    std::pmr::pool_options struct to its constructor.

	unsynchronized_pool_resource is not thread-safe, and cannot be	accessed
     from
	multiple  threads  simultaneously; use synchronized_pool_resource if ac-
     cess from
	multiple threads is required.

Member functions
	constructor	  constructs an unsynchronized_pool_resource
			  (public member function)
	destructor	  destroys  an	unsynchronized_pool_resource,  releasing
     all allocated
	[virtual]	  memory
			  (virtual public member function)
	operator=	    copy  assignment  operator	is  deleted.  unsynchro-
     nized_pool_resource
	[deleted]	  is not copy assignable
			  (public member function)

Public member functions
	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)

Protected member functions
	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 std::pmr::memory_re-
     source
	[virtual]	  (virtual protected member function)

http://cppreference.com 	   2024.06.10	    std::pmr::u...ol_resource(3)

home | help