summaryrefslogtreecommitdiff
path: root/doc/html/boost/container/pmr/synchronized_pool_resource.html
diff options
context:
space:
mode:
authorDongHun Kwak <dh0128.kwak@samsung.com>2016-10-06 10:41:18 +0900
committerDongHun Kwak <dh0128.kwak@samsung.com>2016-10-06 10:43:11 +0900
commitf763a99a501650eff2c60288aa6f10ef916d769e (patch)
tree02af7e13f9a38c888ebf340fe764cbe7dae99da9 /doc/html/boost/container/pmr/synchronized_pool_resource.html
parent5cde13f21d36c7224b0e13d11c4b49379ae5210d (diff)
downloadboost-f763a99a501650eff2c60288aa6f10ef916d769e.tar.gz
boost-f763a99a501650eff2c60288aa6f10ef916d769e.tar.bz2
boost-f763a99a501650eff2c60288aa6f10ef916d769e.zip
Imported Upstream version 1.62.0upstream/1.62.0
Change-Id: I9d4c1ddb7b7d8f0069217ecc582700f9fda6dd4c Signed-off-by: DongHun Kwak <dh0128.kwak@samsung.com>
Diffstat (limited to 'doc/html/boost/container/pmr/synchronized_pool_resource.html')
-rw-r--r--doc/html/boost/container/pmr/synchronized_pool_resource.html188
1 files changed, 76 insertions, 112 deletions
diff --git a/doc/html/boost/container/pmr/synchronized_pool_resource.html b/doc/html/boost/container/pmr/synchronized_pool_resource.html
index b214e81482..3469500d33 100644
--- a/doc/html/boost/container/pmr/synchronized_pool_resource.html
+++ b/doc/html/boost/container/pmr/synchronized_pool_resource.html
@@ -4,11 +4,11 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Class synchronized_pool_resource</title>
<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
<link rel="up" href="../../../boost_container_header_reference.html#header.boost.container.pmr.synchronized_pool_resource_hpp" title="Header &lt;boost/container/pmr/synchronized_pool_resource.hpp&gt;">
-<link rel="prev" href="resource_adaptor_imp.html" title="Class template resource_adaptor_imp">
-<link rel="next" href="unsynchronized_idp18772352.html" title="Class unsynchronized_pool_resource">
+<link rel="prev" href="resource_adaptor.html" title="Type definition resource_adaptor">
+<link rel="next" href="unsynchr_idm45950712123072.html" title="Class unsynchronized_pool_resource">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
@@ -21,7 +21,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
-<a accesskey="p" href="resource_adaptor_imp.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../boost_container_header_reference.html#header.boost.container.pmr.synchronized_pool_resource_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="unsynchronized_idp18772352.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="resource_adaptor.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../boost_container_header_reference.html#header.boost.container.pmr.synchronized_pool_resource_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="unsynchr_idm45950712123072.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry">
<a name="boost.container.pmr.synchronized_pool_resource"></a><div class="titlepage"></div>
@@ -38,177 +38,141 @@
<span class="special">{</span>
<span class="keyword">public</span><span class="special">:</span>
<span class="comment">// <a class="link" href="synchronized_pool_resource.html#boost.container.pmr.synchronized_pool_resourceconstruct-copy-destruct">construct/copy/destruct</a></span>
- <a class="link" href="synchronized_pool_resource.html#idp18733744-bb"><span class="identifier">synchronized_pool_resource</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="pool_options.html" title="Struct pool_options">pool_options</a> <span class="special">&amp;</span><span class="special">,</span> <a class="link" href="memory_resource.html" title="Class memory_resource">memory_resource</a> <span class="special">*</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
- <a class="link" href="synchronized_pool_resource.html#idp18740048-bb"><span class="identifier">synchronized_pool_resource</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
- <span class="keyword">explicit</span> <a class="link" href="synchronized_pool_resource.html#idp18741936-bb"><span class="identifier">synchronized_pool_resource</span></a><span class="special">(</span><a class="link" href="memory_resource.html" title="Class memory_resource">memory_resource</a> <span class="special">*</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
- <span class="keyword">explicit</span> <a class="link" href="synchronized_pool_resource.html#idp18745056-bb"><span class="identifier">synchronized_pool_resource</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="pool_options.html" title="Struct pool_options">pool_options</a> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
- <a class="link" href="synchronized_pool_resource.html#idp18748352-bb"><span class="identifier">synchronized_pool_resource</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="synchronized_pool_resource.html" title="Class synchronized_pool_resource">synchronized_pool_resource</a> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
- <a class="link" href="synchronized_pool_resource.html" title="Class synchronized_pool_resource">synchronized_pool_resource</a> <a class="link" href="synchronized_pool_resource.html#idp18749792-bb"><span class="keyword">operator</span><span class="special">=</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="synchronized_pool_resource.html" title="Class synchronized_pool_resource">synchronized_pool_resource</a> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
- <a class="link" href="synchronized_pool_resource.html#idp18751664-bb"><span class="special">~</span><span class="identifier">synchronized_pool_resource</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
+ <a class="link" href="synchronized_pool_resource.html#idm45950712166528-bb"><span class="identifier">synchronized_pool_resource</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="pool_options.html" title="Struct pool_options">pool_options</a> <span class="special">&amp;</span><span class="special">,</span> <a class="link" href="memory_resource.html" title="Class memory_resource">memory_resource</a> <span class="special">*</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
+ <a class="link" href="synchronized_pool_resource.html#idm45950712160064-bb"><span class="identifier">synchronized_pool_resource</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
+ <span class="keyword">explicit</span> <a class="link" href="synchronized_pool_resource.html#idm45950712157440-bb"><span class="identifier">synchronized_pool_resource</span></a><span class="special">(</span><a class="link" href="memory_resource.html" title="Class memory_resource">memory_resource</a> <span class="special">*</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
+ <span class="keyword">explicit</span> <a class="link" href="synchronized_pool_resource.html#idm45950712154176-bb"><span class="identifier">synchronized_pool_resource</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="pool_options.html" title="Struct pool_options">pool_options</a> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
+ <a class="link" href="synchronized_pool_resource.html#idm45950712150736-bb"><span class="identifier">synchronized_pool_resource</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="synchronized_pool_resource.html" title="Class synchronized_pool_resource">synchronized_pool_resource</a> <span class="special">&amp;</span><span class="special">)</span> <span class="special">=</span> <span class="keyword">delete</span><span class="special">;</span>
+ <a class="link" href="synchronized_pool_resource.html" title="Class synchronized_pool_resource">synchronized_pool_resource</a>
+ <a class="link" href="synchronized_pool_resource.html#idm45950712149024-bb"><span class="keyword">operator</span><span class="special">=</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="synchronized_pool_resource.html" title="Class synchronized_pool_resource">synchronized_pool_resource</a> <span class="special">&amp;</span><span class="special">)</span> <span class="special">=</span> <span class="keyword">delete</span><span class="special">;</span>
+ <a class="link" href="synchronized_pool_resource.html#idm45950712146880-bb"><span class="special">~</span><span class="identifier">synchronized_pool_resource</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
- <span class="comment">// <a class="link" href="synchronized_pool_resource.html#idp18703072-bb">public member functions</a></span>
- <span class="keyword">void</span> <a class="link" href="synchronized_pool_resource.html#idp18703632-bb"><span class="identifier">release</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
- <a class="link" href="memory_resource.html" title="Class memory_resource">memory_resource</a> <span class="special">*</span> <a class="link" href="synchronized_pool_resource.html#idp18705968-bb"><span class="identifier">upstream_resource</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <a class="link" href="pool_options.html" title="Struct pool_options">pool_options</a> <a class="link" href="synchronized_pool_resource.html#idp18708704-bb"><span class="identifier">options</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="synchronized_pool_resource.html#idp18711488-bb"><span class="identifier">pool_count</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="synchronized_pool_resource.html#idp18714784-bb"><span class="identifier">pool_index</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="synchronized_pool_resource.html#idp18718912-bb"><span class="identifier">pool_next_blocks_per_chunk</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="synchronized_pool_resource.html#idp18723808-bb"><span class="identifier">pool_block</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="synchronized_pool_resource.html#idp18728672-bb"><span class="identifier">pool_cached_blocks</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="comment">// <a class="link" href="synchronized_pool_resource.html#idm45950712199504-bb">public member functions</a></span>
+ <span class="keyword">void</span> <a class="link" href="synchronized_pool_resource.html#idm45950712198944-bb"><span class="identifier">release</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
+ <a class="link" href="memory_resource.html" title="Class memory_resource">memory_resource</a> <span class="special">*</span> <a class="link" href="synchronized_pool_resource.html#idm45950712196080-bb"><span class="identifier">upstream_resource</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <a class="link" href="pool_options.html" title="Struct pool_options">pool_options</a> <a class="link" href="synchronized_pool_resource.html#idm45950712193632-bb"><span class="identifier">options</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="synchronized_pool_resource.html#idm45950712191136-bb"><span class="identifier">pool_count</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="synchronized_pool_resource.html#idm45950712188128-bb"><span class="identifier">pool_index</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="synchronized_pool_resource.html#idm45950712182608-bb"><span class="identifier">pool_next_blocks_per_chunk</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="synchronized_pool_resource.html#idm45950712177280-bb"><span class="identifier">pool_block</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="synchronized_pool_resource.html#idm45950712172016-bb"><span class="identifier">pool_cached_blocks</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="comment">// <a class="link" href="synchronized_pool_resource.html#idp18753232-bb">protected member functions</a></span>
- <span class="keyword">virtual</span> <span class="keyword">void</span> <span class="special">*</span> <a class="link" href="synchronized_pool_resource.html#idp18753808-bb"><span class="identifier">do_allocate</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">)</span><span class="special">;</span>
- <span class="keyword">virtual</span> <span class="keyword">void</span> <a class="link" href="synchronized_pool_resource.html#idp18759808-bb"><span class="identifier">do_deallocate</span></a><span class="special">(</span><span class="keyword">void</span> <span class="special">*</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">)</span><span class="special">;</span>
- <span class="keyword">virtual</span> <span class="keyword">bool</span> <a class="link" href="synchronized_pool_resource.html#idp18765248-bb"><span class="identifier">do_is_equal</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="memory_resource.html" title="Class memory_resource">memory_resource</a> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
+ <span class="comment">// <a class="link" href="synchronized_pool_resource.html#idm45950712145168-bb">protected member functions</a></span>
+ <span class="keyword">virtual</span> <span class="keyword">void</span> <span class="special">*</span> <a class="link" href="synchronized_pool_resource.html#idm45950712144592-bb"><span class="identifier">do_allocate</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">virtual</span> <span class="keyword">void</span> <a class="link" href="synchronized_pool_resource.html#idm45950712135920-bb"><span class="identifier">do_deallocate</span></a><span class="special">(</span><span class="keyword">void</span> <span class="special">*</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">virtual</span> <span class="keyword">bool</span> <a class="link" href="synchronized_pool_resource.html#idm45950712130336-bb"><span class="identifier">do_is_equal</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="memory_resource.html" title="Class memory_resource">memory_resource</a> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span></pre></div>
<div class="refsect1">
-<a name="idp86562864"></a><h2>Description</h2>
+<a name="idm45928103468848"></a><h2>Description</h2>
<p>A <a class="link" href="synchronized_pool_resource.html" title="Class synchronized_pool_resource">synchronized_pool_resource</a> is a general-purpose memory resources having the following qualities:</p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Each resource owns the allocated memory, and frees it on destruction, even if deallocate has not been called for some of the allocated blocks.</p></li></ul></div>
-<p>
-</p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>A pool resource consists of a collection of pools, serving requests for different block sizes. Each individual pool manages a collection of chunks that are in turn divided into blocks of uniform size, returned via calls to do_allocate. Each call to do_allocate(size, alignment) is dispatched to the pool serving the smallest blocks accommodating at least size bytes.</p></li></ul></div>
-<p>
-</p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>When a particular pool is exhausted, allocating a block from that pool results in the allocation of an additional chunk of memory from the upstream allocator (supplied at construction), thus replenishing the pool. With each successive replenishment, the chunk size obtained increases geometrically. [ Note: By allocating memory in chunks, the pooling strategy increases the chance that consecutive allocations will be close together in memory. - end note ]</p></li></ul></div>
-<p>
-</p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Allocation requests that exceed the largest block size of any pool are fulfilled directly from the upstream allocator.</p></li></ul></div>
-<p>
-</p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>A <a class="link" href="pool_options.html" title="Struct pool_options">pool_options</a> struct may be passed to the pool resource constructors to tune the largest block size and the maximum chunk size.</p></li></ul></div>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem"><p>Each resource owns the allocated memory, and frees it on destruction, even if deallocate has not been called for some of the allocated blocks.</p></li>
+<li class="listitem"><p>A pool resource consists of a collection of pools, serving requests for different block sizes. Each individual pool manages a collection of chunks that are in turn divided into blocks of uniform size, returned via calls to do_allocate. Each call to do_allocate(size, alignment) is dispatched to the pool serving the smallest blocks accommodating at least size bytes.</p></li>
+<li class="listitem"><p>When a particular pool is exhausted, allocating a block from that pool results in the allocation of an additional chunk of memory from the upstream allocator (supplied at construction), thus replenishing the pool. With each successive replenishment, the chunk size obtained increases geometrically. [ Note: By allocating memory in chunks, the pooling strategy increases the chance that consecutive allocations will be close together in memory. - end note ]</p></li>
+<li class="listitem"><p>Allocation requests that exceed the largest block size of any pool are fulfilled directly from the upstream allocator.</p></li>
+<li class="listitem"><p>A <a class="link" href="pool_options.html" title="Struct pool_options">pool_options</a> struct may be passed to the pool resource constructors to tune the largest block size and the maximum chunk size.</p></li>
+</ul></div>
<p>
</p>
<p>A <a class="link" href="synchronized_pool_resource.html" title="Class synchronized_pool_resource">synchronized_pool_resource</a> may be accessed from multiple threads without external synchronization and may have thread-specific pools to reduce synchronization costs. </p>
<div class="refsect2">
-<a name="idp86572400"></a><h3>
+<a name="idm45928103461360"></a><h3>
<a name="boost.container.pmr.synchronized_pool_resourceconstruct-copy-destruct"></a><code class="computeroutput">synchronized_pool_resource</code>
public
construct/copy/destruct</h3>
<div class="orderedlist"><ol class="orderedlist" type="1">
<li class="listitem">
-<pre class="literallayout"><a name="idp18733744-bb"></a><span class="identifier">synchronized_pool_resource</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="pool_options.html" title="Struct pool_options">pool_options</a> <span class="special">&amp;</span> opts<span class="special">,</span>
+<pre class="literallayout"><a name="idm45950712166528-bb"></a><span class="identifier">synchronized_pool_resource</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="pool_options.html" title="Struct pool_options">pool_options</a> <span class="special">&amp;</span> opts<span class="special">,</span>
<a class="link" href="memory_resource.html" title="Class memory_resource">memory_resource</a> <span class="special">*</span> upstream<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
-<p><span class="bold"><strong>Requires</strong></span>: `upstream` is the address of a valid memory resource.</p>
+<p><span class="bold"><strong>Requires</strong></span>: <code class="computeroutput">upstream</code> is the address of a valid memory resource.</p>
<p><span class="bold"><strong>Effects</strong></span>: Constructs a pool resource object that will obtain memory from upstream whenever the pool resource is unable to satisfy a memory request from its own internal data structures. The resulting object will hold a copy of upstream, but will not own the resource to which upstream points. [ Note: The intention is that calls to upstream-&gt;allocate() will be substantially fewer than calls to this-&gt;allocate() in most cases. - end note The behavior of the pooling mechanism is tuned according to the value of the opts argument.</p>
<p><span class="bold"><strong>Throws</strong></span>: Nothing unless upstream-&gt;allocate() throws. It is unspecified if or under what conditions this constructor calls upstream-&gt;allocate(). </p>
-<p>
- </p>
</li>
<li class="listitem">
-<pre class="literallayout"><a name="idp18740048-bb"></a><span class="identifier">synchronized_pool_resource</span><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
-<p><span class="bold"><strong>Effects</strong></span>: Same as `unsynchronized_pool_resource(pool_options(), get_default_resource())`. </p>
-<p>
- </p>
+<pre class="literallayout"><a name="idm45950712160064-bb"></a><span class="identifier">synchronized_pool_resource</span><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
+<p><span class="bold"><strong>Effects</strong></span>: Same as <code class="computeroutput"><code class="computeroutput"><a class="link" href="unsynchr_idm45950712123072.html" title="Class unsynchronized_pool_resource">unsynchronized_pool_resource</a></code>(pool_options(), get_default_resource())</code>. </p>
</li>
<li class="listitem">
-<pre class="literallayout"><span class="keyword">explicit</span> <a name="idp18741936-bb"></a><span class="identifier">synchronized_pool_resource</span><span class="special">(</span><a class="link" href="memory_resource.html" title="Class memory_resource">memory_resource</a> <span class="special">*</span> upstream<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
-<p><span class="bold"><strong>Effects</strong></span>: Same as `unsynchronized_pool_resource(pool_options(), upstream)`. </p>
-<p>
- </p>
+<pre class="literallayout"><span class="keyword">explicit</span> <a name="idm45950712157440-bb"></a><span class="identifier">synchronized_pool_resource</span><span class="special">(</span><a class="link" href="memory_resource.html" title="Class memory_resource">memory_resource</a> <span class="special">*</span> upstream<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
+<p><span class="bold"><strong>Effects</strong></span>: Same as <code class="computeroutput">unsynchronized_pool_resource(pool_options(), upstream)</code>. </p>
</li>
<li class="listitem">
-<pre class="literallayout"><span class="keyword">explicit</span> <a name="idp18745056-bb"></a><span class="identifier">synchronized_pool_resource</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="pool_options.html" title="Struct pool_options">pool_options</a> <span class="special">&amp;</span> opts<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
-<p><span class="bold"><strong>Effects</strong></span>: Same as `unsynchronized_pool_resource(opts, get_default_resource())`. </p>
-<p>
- </p>
+<pre class="literallayout"><span class="keyword">explicit</span> <a name="idm45950712154176-bb"></a><span class="identifier">synchronized_pool_resource</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="pool_options.html" title="Struct pool_options">pool_options</a> <span class="special">&amp;</span> opts<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
+<p><span class="bold"><strong>Effects</strong></span>: Same as <code class="computeroutput">unsynchronized_pool_resource(opts, get_default_resource())</code>. </p>
</li>
-<li class="listitem"><pre class="literallayout"><a name="idp18748352-bb"></a><span class="identifier">synchronized_pool_resource</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="synchronized_pool_resource.html" title="Class synchronized_pool_resource">synchronized_pool_resource</a> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span></pre></li>
-<li class="listitem"><pre class="literallayout"><a class="link" href="synchronized_pool_resource.html" title="Class synchronized_pool_resource">synchronized_pool_resource</a> <a name="idp18749792-bb"></a><span class="keyword">operator</span><span class="special">=</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="synchronized_pool_resource.html" title="Class synchronized_pool_resource">synchronized_pool_resource</a> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span></pre></li>
+<li class="listitem"><pre class="literallayout"><a name="idm45950712150736-bb"></a><span class="identifier">synchronized_pool_resource</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="synchronized_pool_resource.html" title="Class synchronized_pool_resource">synchronized_pool_resource</a> <span class="special">&amp;</span><span class="special">)</span> <span class="special">=</span> <span class="keyword">delete</span><span class="special">;</span></pre></li>
+<li class="listitem"><pre class="literallayout"><a class="link" href="synchronized_pool_resource.html" title="Class synchronized_pool_resource">synchronized_pool_resource</a>
+<a name="idm45950712149024-bb"></a><span class="keyword">operator</span><span class="special">=</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="synchronized_pool_resource.html" title="Class synchronized_pool_resource">synchronized_pool_resource</a> <span class="special">&amp;</span><span class="special">)</span> <span class="special">=</span> <span class="keyword">delete</span><span class="special">;</span></pre></li>
<li class="listitem">
-<pre class="literallayout"><a name="idp18751664-bb"></a><span class="special">~</span><span class="identifier">synchronized_pool_resource</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>
-<p><span class="bold"><strong>Effects</strong></span>: Calls `this-&gt;release()`. </p>
-<p>
- </p>
+<pre class="literallayout"><a name="idm45950712146880-bb"></a><span class="special">~</span><span class="identifier">synchronized_pool_resource</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>
+<p><span class="bold"><strong>Effects</strong></span>: Calls <code class="computeroutput">this-&gt;release()</code>. </p>
</li>
</ol></div>
</div>
<div class="refsect2">
-<a name="idp86627088"></a><h3>
-<a name="idp18703072-bb"></a><code class="computeroutput">synchronized_pool_resource</code> public member functions</h3>
+<a name="idm45928103400832"></a><h3>
+<a name="idm45950712199504-bb"></a><code class="computeroutput">synchronized_pool_resource</code> public member functions</h3>
<div class="orderedlist"><ol class="orderedlist" type="1">
<li class="listitem">
-<pre class="literallayout"><span class="keyword">void</span> <a name="idp18703632-bb"></a><span class="identifier">release</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>
-<p><span class="bold"><strong>Effects</strong></span>: Calls Calls `upstream_resource()-&gt;deallocate()` as necessary to release all allocated memory. [ Note: memory is released back to `upstream_resource()` even if deallocate has not been called for some of the allocated blocks. - end note ] </p>
-<p>
- </p>
+<pre class="literallayout"><span class="keyword">void</span> <a name="idm45950712198944-bb"></a><span class="identifier">release</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>
+<p><span class="bold"><strong>Effects</strong></span>: Calls Calls <code class="computeroutput">upstream_resource()-&gt;deallocate()</code> as necessary to release all allocated memory. [ Note: memory is released back to <code class="computeroutput">upstream_resource()</code> even if deallocate has not been called for some of the allocated blocks. - end note ] </p>
</li>
<li class="listitem">
-<pre class="literallayout"><a class="link" href="memory_resource.html" title="Class memory_resource">memory_resource</a> <span class="special">*</span> <a name="idp18705968-bb"></a><span class="identifier">upstream_resource</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
+<pre class="literallayout"><a class="link" href="memory_resource.html" title="Class memory_resource">memory_resource</a> <span class="special">*</span> <a name="idm45950712196080-bb"></a><span class="identifier">upstream_resource</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
<p><span class="bold"><strong>Returns</strong></span>: The value of the upstream argument provided to the constructor of this object. </p>
-<p>
- </p>
</li>
<li class="listitem">
-<pre class="literallayout"><a class="link" href="pool_options.html" title="Struct pool_options">pool_options</a> <a name="idp18708704-bb"></a><span class="identifier">options</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
+<pre class="literallayout"><a class="link" href="pool_options.html" title="Struct pool_options">pool_options</a> <a name="idm45950712193632-bb"></a><span class="identifier">options</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
<p><span class="bold"><strong>Returns</strong></span>: The options that control the pooling behavior of this resource. The values in the returned struct may differ from those supplied to the pool resource constructor in that values of zero will be replaced with implementation-defined defaults and sizes may be rounded to unspecified granularity. </p>
-<p>
- </p>
</li>
<li class="listitem">
-<pre class="literallayout"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="idp18711488-bb"></a><span class="identifier">pool_count</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
+<pre class="literallayout"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="idm45950712191136-bb"></a><span class="identifier">pool_count</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
<p><span class="bold"><strong>Returns</strong></span>: The number of pools that will be used in the pool resource.</p>
<p><span class="bold"><strong>Note</strong></span>: Non-standard extension. </p>
-<p>
- </p>
</li>
<li class="listitem">
-<pre class="literallayout"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="idp18714784-bb"></a><span class="identifier">pool_index</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> bytes<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
-<p><span class="bold"><strong>Returns</strong></span>: The index of the pool that will be used to serve the allocation of `bytes`. Returns `pool_count()` if `bytes` is bigger than `options().largest_required_pool_block` (no pool will be used to serve this).</p>
+<pre class="literallayout"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="idm45950712188128-bb"></a><span class="identifier">pool_index</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> bytes<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
+<p><span class="bold"><strong>Returns</strong></span>: The index of the pool that will be used to serve the allocation of <code class="computeroutput">bytes</code>. Returns <code class="computeroutput">pool_count()</code> if <code class="computeroutput">bytes</code> is bigger than <code class="computeroutput">options().largest_required_pool_block</code> (no pool will be used to serve this).</p>
<p><span class="bold"><strong>Note</strong></span>: Non-standard extension. </p>
-<p>
- </p>
</li>
<li class="listitem">
-<pre class="literallayout"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="idp18718912-bb"></a><span class="identifier">pool_next_blocks_per_chunk</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> pool_idx<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
-<p><span class="bold"><strong>Requires</strong></span>: `pool_idx &lt; pool_index()`</p>
-<p><span class="bold"><strong>Returns</strong></span>: The number blocks that will be allocated in the next chunk from the pool specified by `pool_idx`.</p>
+<pre class="literallayout"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="idm45950712182608-bb"></a><span class="identifier">pool_next_blocks_per_chunk</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> pool_idx<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
+<p><span class="bold"><strong>Requires</strong></span>: <code class="computeroutput">pool_idx &lt; pool_index()</code></p>
+<p><span class="bold"><strong>Returns</strong></span>: The number blocks that will be allocated in the next chunk from the pool specified by <code class="computeroutput">pool_idx</code>.</p>
<p><span class="bold"><strong>Note</strong></span>: Non-standard extension. </p>
-<p>
- </p>
</li>
<li class="listitem">
-<pre class="literallayout"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="idp18723808-bb"></a><span class="identifier">pool_block</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> pool_idx<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
-<p><span class="bold"><strong>Requires</strong></span>: `pool_idx &lt; pool_index()`</p>
-<p><span class="bold"><strong>Returns</strong></span>: The number of bytes of the block that the specified `pool_idx` pool manages.</p>
+<pre class="literallayout"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="idm45950712177280-bb"></a><span class="identifier">pool_block</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> pool_idx<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
+<p><span class="bold"><strong>Requires</strong></span>: <code class="computeroutput">pool_idx &lt; pool_index()</code></p>
+<p><span class="bold"><strong>Returns</strong></span>: The number of bytes of the block that the specified <code class="computeroutput">pool_idx</code> pool manages.</p>
<p><span class="bold"><strong>Note</strong></span>: Non-standard extension. </p>
-<p>
- </p>
</li>
<li class="listitem">
-<pre class="literallayout"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="idp18728672-bb"></a><span class="identifier">pool_cached_blocks</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> pool_idx<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
-<p><span class="bold"><strong>Requires</strong></span>: `pool_idx &lt; pool_index()`</p>
-<p><span class="bold"><strong>Returns</strong></span>: The number of blocks that the specified `pool_idx` pool has cached and will be served without calling the upstream_allocator.</p>
+<pre class="literallayout"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="idm45950712172016-bb"></a><span class="identifier">pool_cached_blocks</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> pool_idx<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
+<p><span class="bold"><strong>Requires</strong></span>: <code class="computeroutput">pool_idx &lt; pool_index()</code></p>
+<p><span class="bold"><strong>Returns</strong></span>: The number of blocks that the specified <code class="computeroutput">pool_idx</code> pool has cached and will be served without calling the upstream_allocator.</p>
<p><span class="bold"><strong>Note</strong></span>: Non-standard extension. </p>
-<p>
- </p>
</li>
</ol></div>
</div>
<div class="refsect2">
-<a name="idp86699040"></a><h3>
-<a name="idp18753232-bb"></a><code class="computeroutput">synchronized_pool_resource</code> protected member functions</h3>
+<a name="idm45928103323216"></a><h3>
+<a name="idm45950712145168-bb"></a><code class="computeroutput">synchronized_pool_resource</code> protected member functions</h3>
<div class="orderedlist"><ol class="orderedlist" type="1">
<li class="listitem">
-<pre class="literallayout"><span class="keyword">virtual</span> <span class="keyword">void</span> <span class="special">*</span> <a name="idp18753808-bb"></a><span class="identifier">do_allocate</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> bytes<span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> alignment<span class="special">)</span><span class="special">;</span></pre>
-<p><span class="bold"><strong>Returns</strong></span>: A pointer to allocated storage with a size of at least `bytes`. The size and alignment of the allocated memory shall meet the requirements for a class derived from `memory_resource`.</p>
-<p><span class="bold"><strong>Effects</strong></span>: If the pool selected for a block of size bytes is unable to satisfy the memory request from its own internal data structures, it will call `upstream_resource()-&gt;allocate()` to obtain more memory. If `bytes` is larger than that which the largest pool can handle, then memory will be allocated using `upstream_resource()-&gt;allocate()`.</p>
-<p><span class="bold"><strong>Throws</strong></span>: Nothing unless `upstream_resource()-&gt;allocate()` throws. </p>
-<p>
- </p>
+<pre class="literallayout"><span class="keyword">virtual</span> <span class="keyword">void</span> <span class="special">*</span> <a name="idm45950712144592-bb"></a><span class="identifier">do_allocate</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> bytes<span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> alignment<span class="special">)</span><span class="special">;</span></pre>
+<p><span class="bold"><strong>Returns</strong></span>: A pointer to allocated storage with a size of at least <code class="computeroutput">bytes</code>. The size and alignment of the allocated memory shall meet the requirements for a class derived from <code class="computeroutput"><code class="computeroutput"><a class="link" href="memory_resource.html" title="Class memory_resource">memory_resource</a></code></code>.</p>
+<p><span class="bold"><strong>Effects</strong></span>: If the pool selected for a block of size bytes is unable to satisfy the memory request from its own internal data structures, it will call <code class="computeroutput">upstream_resource()-&gt;allocate()</code> to obtain more memory. If <code class="computeroutput">bytes</code> is larger than that which the largest pool can handle, then memory will be allocated using <code class="computeroutput">upstream_resource()-&gt;allocate()</code>.</p>
+<p><span class="bold"><strong>Throws</strong></span>: Nothing unless <code class="computeroutput">upstream_resource()-&gt;allocate()</code> throws. </p>
</li>
<li class="listitem">
-<pre class="literallayout"><span class="keyword">virtual</span> <span class="keyword">void</span> <a name="idp18759808-bb"></a><span class="identifier">do_deallocate</span><span class="special">(</span><span class="keyword">void</span> <span class="special">*</span> p<span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> bytes<span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> alignment<span class="special">)</span><span class="special">;</span></pre>
-<p><span class="bold"><strong>Effects</strong></span>: Return the memory at p to the pool. It is unspecified if or under what circumstances this operation will result in a call to `upstream_resource()-&gt;deallocate()`.</p>
+<pre class="literallayout"><span class="keyword">virtual</span> <span class="keyword">void</span> <a name="idm45950712135920-bb"></a><span class="identifier">do_deallocate</span><span class="special">(</span><span class="keyword">void</span> <span class="special">*</span> p<span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> bytes<span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> alignment<span class="special">)</span><span class="special">;</span></pre>
+<p><span class="bold"><strong>Effects</strong></span>: Return the memory at p to the pool. It is unspecified if or under what circumstances this operation will result in a call to <code class="computeroutput">upstream_resource()-&gt;deallocate()</code>.</p>
<p><span class="bold"><strong>Throws</strong></span>: Nothing. </p>
-<p>
- </p>
</li>
<li class="listitem">
-<pre class="literallayout"><span class="keyword">virtual</span> <span class="keyword">bool</span> <a name="idp18765248-bb"></a><span class="identifier">do_is_equal</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="memory_resource.html" title="Class memory_resource">memory_resource</a> <span class="special">&amp;</span> other<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
-<p><span class="bold"><strong>Returns</strong></span>: `this == dynamic_cast&lt;const unsynchronized_pool_resource*&gt;(&amp;other)`. </p>
-<p>
- </p>
+<pre class="literallayout"><span class="keyword">virtual</span> <span class="keyword">bool</span> <a name="idm45950712130336-bb"></a><span class="identifier">do_is_equal</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="memory_resource.html" title="Class memory_resource">memory_resource</a> <span class="special">&amp;</span> other<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
+<p><span class="bold"><strong>Returns</strong></span>: <code class="computeroutput">this == dynamic_cast&lt;const unsynchronized_pool_resource*&gt;(&amp;other)</code>. </p>
</li>
</ol></div>
</div>
@@ -224,7 +188,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
-<a accesskey="p" href="resource_adaptor_imp.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../boost_container_header_reference.html#header.boost.container.pmr.synchronized_pool_resource_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="unsynchronized_idp18772352.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="resource_adaptor.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../boost_container_header_reference.html#header.boost.container.pmr.synchronized_pool_resource_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="unsynchr_idm45950712123072.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>