table of contents
        
      
      
    | std::experimental::pmr::unsynchronized_pool_resource(3) | C++ Standard Libary | std::experimental::pmr::unsynchronized_pool_resource(3) | 
NAME¶
std::experimental::pmr::unsynchronized_pool_resource - std::experimental::pmr::unsynchronized_pool_resource
Synopsis¶
 Defined in header <experimental/memory_resource>
  
   class unsynchronized_pool_resource : public (library fundamentals TS)
  
   memory_resource;
  
   The class std::experimental::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 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.
  
   unsynchronized_pool_resource is not thread-safe, and cannot be accessed from
  
   multiple threads simultaneously; use synchronized_pool_resource if access
    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. unsynchronized_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 memory_resource
  
   [virtual] (virtual protected member function)
Category:¶
* Noindexed pages
| 2024.06.10 | http://cppreference.com |