Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

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

NAME
       std::pmr::synchronized_pool_resource  - std::pmr::synchronized_pool_re-
       source

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

	  The class std::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 al-
       locator to
	      replenish	the pool. The chunk size obtained increases  geometri-
       cally.
	    *  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::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  syn-
       chronization costs.
	  If the memory	resource is only accessed from one thread,
	  unsynchronized_pool_resource is more efficient.

Member functions
	  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.  synchro-
       nized_pool_resource is
	  [deleted]	    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 be-
       havior 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 memory_resource
	  [virtual]	    (virtual protected member function)

http://cppreference.com		  2022.07.31	  std::pmr::s...ol_resource(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::pmr::synchronized_pool_resource&sektion=3&manpath=FreeBSD+Ports+15.0>

home | help