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

FreeBSD Manual Pages

  
 
  

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

NAME
       std::experimental::pmr::synchronized_pool_resource   -  std::experimen-
       tal::pmr::synchronized_pool_resource

Synopsis
	  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  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::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 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::experi...ol_resource(3)

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

home | help