diff options
Diffstat (limited to 'doc/html/boost/container/pmr/monotonic_buffer_resource.html')
-rw-r--r-- | doc/html/boost/container/pmr/monotonic_buffer_resource.html | 68 |
1 files changed, 34 insertions, 34 deletions
diff --git a/doc/html/boost/container/pmr/monotonic_buffer_resource.html b/doc/html/boost/container/pmr/monotonic_buffer_resource.html index 698db23168..4d71235813 100644 --- a/doc/html/boost/container/pmr/monotonic_buffer_resource.html +++ b/doc/html/boost/container/pmr/monotonic_buffer_resource.html @@ -38,26 +38,26 @@ <span class="special">{</span> <span class="keyword">public</span><span class="special">:</span> <span class="comment">// <a class="link" href="monotonic_buffer_resource.html#boost.container.pmr.monotonic_buffer_resourceconstruct-copy-destruct">construct/copy/destruct</a></span> - <span class="keyword">explicit</span> <a class="link" href="monotonic_buffer_resource.html#idm46123642055376-bb"><span class="identifier">monotonic_buffer_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="number">0</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span> - <span class="keyword">explicit</span> <a class="link" href="monotonic_buffer_resource.html#idm46123642048352-bb"><span class="identifier">monotonic_buffer_resource</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> <a class="link" href="memory_resource.html" title="Class memory_resource">memory_resource</a> <span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span> - <a class="link" href="monotonic_buffer_resource.html#idm46123642039584-bb"><span class="identifier">monotonic_buffer_resource</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> <a class="link" href="memory_resource.html" title="Class memory_resource">memory_resource</a> <span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span> - <a class="link" href="monotonic_buffer_resource.html#idm46123642029824-bb"><span class="identifier">monotonic_buffer_resource</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="monotonic_buffer_resource.html" title="Class monotonic_buffer_resource">monotonic_buffer_resource</a> <span class="special">&</span><span class="special">)</span> <span class="special">=</span> <span class="keyword">delete</span><span class="special">;</span> + <span class="keyword">explicit</span> <a class="link" href="monotonic_buffer_resource.html#idm45836568375088-bb"><span class="identifier">monotonic_buffer_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="number">0</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span> + <span class="keyword">explicit</span> <a class="link" href="monotonic_buffer_resource.html#idm45836568368064-bb"><span class="identifier">monotonic_buffer_resource</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> <a class="link" href="memory_resource.html" title="Class memory_resource">memory_resource</a> <span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span> + <a class="link" href="monotonic_buffer_resource.html#idm45836568359296-bb"><span class="identifier">monotonic_buffer_resource</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> <a class="link" href="memory_resource.html" title="Class memory_resource">memory_resource</a> <span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span> + <a class="link" href="monotonic_buffer_resource.html#idm45836568349536-bb"><span class="identifier">monotonic_buffer_resource</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="monotonic_buffer_resource.html" title="Class monotonic_buffer_resource">monotonic_buffer_resource</a> <span class="special">&</span><span class="special">)</span> <span class="special">=</span> <span class="keyword">delete</span><span class="special">;</span> <a class="link" href="monotonic_buffer_resource.html" title="Class monotonic_buffer_resource">monotonic_buffer_resource</a> - <a class="link" href="monotonic_buffer_resource.html#idm46123642028112-bb"><span class="keyword">operator</span><span class="special">=</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="monotonic_buffer_resource.html" title="Class monotonic_buffer_resource">monotonic_buffer_resource</a> <span class="special">&</span><span class="special">)</span> <span class="special">=</span> <span class="keyword">delete</span><span class="special">;</span> - <a class="link" href="monotonic_buffer_resource.html#idm46123642025968-bb"><span class="special">~</span><span class="identifier">monotonic_buffer_resource</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span> + <a class="link" href="monotonic_buffer_resource.html#idm45836568347824-bb"><span class="keyword">operator</span><span class="special">=</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="monotonic_buffer_resource.html" title="Class monotonic_buffer_resource">monotonic_buffer_resource</a> <span class="special">&</span><span class="special">)</span> <span class="special">=</span> <span class="keyword">delete</span><span class="special">;</span> + <a class="link" href="monotonic_buffer_resource.html#idm45836568345680-bb"><span class="special">~</span><span class="identifier">monotonic_buffer_resource</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span> - <span class="comment">// <a class="link" href="monotonic_buffer_resource.html#idm46123642076128-bb">public member functions</a></span> - <span class="keyword">void</span> <a class="link" href="monotonic_buffer_resource.html#idm46123642075568-bb"><span class="identifier">release</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</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="monotonic_buffer_resource.html#idm46123642072416-bb"><span class="identifier">upstream_resource</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span> - <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="monotonic_buffer_resource.html#idm46123642070016-bb"><span class="identifier">remaining_storage</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">const</span> <span class="keyword">noexcept</span><span class="special">;</span> - <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="monotonic_buffer_resource.html#idm46123642065568-bb"><span class="identifier">remaining_storage</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="number">1u</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span> - <span class="keyword">const</span> <span class="keyword">void</span> <span class="special">*</span> <a class="link" href="monotonic_buffer_resource.html#idm46123642061584-bb"><span class="identifier">current_buffer</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span> - <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="monotonic_buffer_resource.html#idm46123642058576-bb"><span class="identifier">next_buffer_size</span></a><span class="special">(</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="monotonic_buffer_resource.html#idm45836568395840-bb">public member functions</a></span> + <span class="keyword">void</span> <a class="link" href="monotonic_buffer_resource.html#idm45836568395280-bb"><span class="identifier">release</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</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="monotonic_buffer_resource.html#idm45836568392128-bb"><span class="identifier">upstream_resource</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span> + <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="monotonic_buffer_resource.html#idm45836568389728-bb"><span class="identifier">remaining_storage</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">const</span> <span class="keyword">noexcept</span><span class="special">;</span> + <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="monotonic_buffer_resource.html#idm45836568385280-bb"><span class="identifier">remaining_storage</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="number">1u</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span> + <span class="keyword">const</span> <span class="keyword">void</span> <span class="special">*</span> <a class="link" href="monotonic_buffer_resource.html#idm45836568381296-bb"><span class="identifier">current_buffer</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span> + <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="monotonic_buffer_resource.html#idm45836568378288-bb"><span class="identifier">next_buffer_size</span></a><span class="special">(</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="monotonic_buffer_resource.html#idm46123642024256-bb">protected member functions</a></span> - <span class="keyword">virtual</span> <span class="keyword">void</span> <span class="special">*</span> <a class="link" href="monotonic_buffer_resource.html#idm46123642023680-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="monotonic_buffer_resource.html#idm46123642012256-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="keyword">noexcept</span><span class="special">;</span> - <span class="keyword">virtual</span> <span class="keyword">bool</span> <a class="link" href="monotonic_buffer_resource.html#idm46123642006064-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">&</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="monotonic_buffer_resource.html#idm45836568343968-bb">protected member functions</a></span> + <span class="keyword">virtual</span> <span class="keyword">void</span> <span class="special">*</span> <a class="link" href="monotonic_buffer_resource.html#idm45836568343392-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="monotonic_buffer_resource.html#idm45836568331968-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="keyword">noexcept</span><span class="special">;</span> + <span class="keyword">virtual</span> <span class="keyword">bool</span> <a class="link" href="monotonic_buffer_resource.html#idm45836568325776-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">&</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="monotonic_buffer_resource.html#boost.container.pmr.monotonic_buffer_resourcepublic-data-members">public data members</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="monotonic_buffer_resource.html#boost.container.pmr.monotonic_buffer_resource.initial_next_buffer_size"><span class="identifier">initial_next_buffer_size</span></a><span class="special">;</span> @@ -81,61 +81,61 @@ construct/copy/destruct</h3> <div class="orderedlist"><ol class="orderedlist" type="1"> <li class="listitem"> -<pre class="literallayout"><span class="keyword">explicit</span> <a name="idm46123642055376-bb"></a><span class="identifier">monotonic_buffer_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="number">0</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="keyword">explicit</span> <a name="idm45836568375088-bb"></a><span class="identifier">monotonic_buffer_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="number">0</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> <p><span class="bold"><strong>Requires</strong></span>: <code class="computeroutput">upstream</code> shall be the address of a valid memory resource or <code class="computeroutput">nullptr</code></p> <p><span class="bold"><strong>Effects</strong></span>: If <code class="computeroutput">upstream</code> is not nullptr, sets the internal resource to <code class="computeroutput">upstream</code>, to get_default_resource() otherwise. Sets the internal <code class="computeroutput">current_buffer</code> to <code class="computeroutput">nullptr</code> and the internal <code class="computeroutput">next_buffer_size</code> to an implementation-defined size. </p> </li> <li class="listitem"> -<pre class="literallayout"><span class="keyword">explicit</span> <a name="idm46123642048352-bb"></a><span class="identifier">monotonic_buffer_resource</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> initial_size<span class="special">,</span> +<pre class="literallayout"><span class="keyword">explicit</span> <a name="idm45836568368064-bb"></a><span class="identifier">monotonic_buffer_resource</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> initial_size<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="number">0</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> <p><span class="bold"><strong>Requires</strong></span>: <code class="computeroutput">upstream</code> shall be the address of a valid memory resource or <code class="computeroutput">nullptr</code> and <code class="computeroutput">initial_size</code> shall be greater than zero.</p> <p><span class="bold"><strong>Effects</strong></span>: If <code class="computeroutput">upstream</code> is not nullptr, sets the internal resource to <code class="computeroutput">upstream</code>, to get_default_resource() otherwise. Sets the internal <code class="computeroutput">current_buffer</code> to <code class="computeroutput">nullptr</code> and <code class="computeroutput">next_buffer_size</code> to at least <code class="computeroutput">initial_size</code>. </p> </li> <li class="listitem"> -<pre class="literallayout"><a name="idm46123642039584-bb"></a><span class="identifier">monotonic_buffer_resource</span><span class="special">(</span><span class="keyword">void</span> <span class="special">*</span> buffer<span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> buffer_size<span class="special">,</span> +<pre class="literallayout"><a name="idm45836568359296-bb"></a><span class="identifier">monotonic_buffer_resource</span><span class="special">(</span><span class="keyword">void</span> <span class="special">*</span> buffer<span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> buffer_size<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="number">0</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> <p><span class="bold"><strong>Requires</strong></span>: <code class="computeroutput">upstream</code> shall be the address of a valid memory resource or <code class="computeroutput">nullptr</code>, <code class="computeroutput">buffer_size</code> shall be no larger than the number of bytes in buffer.</p> <p><span class="bold"><strong>Effects</strong></span>: If <code class="computeroutput">upstream</code> is not nullptr, sets the internal resource to <code class="computeroutput">upstream</code>, to get_default_resource() otherwise. Sets the internal <code class="computeroutput">current_buffer</code> to <code class="computeroutput">buffer</code>, and <code class="computeroutput">next_buffer_size</code> to <code class="computeroutput">buffer_size</code> (but not less than an implementation-defined size), then increases <code class="computeroutput">next_buffer_size</code> by an implementation-defined growth factor (which need not be integral). </p> </li> -<li class="listitem"><pre class="literallayout"><a name="idm46123642029824-bb"></a><span class="identifier">monotonic_buffer_resource</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="monotonic_buffer_resource.html" title="Class monotonic_buffer_resource">monotonic_buffer_resource</a> <span class="special">&</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="idm45836568349536-bb"></a><span class="identifier">monotonic_buffer_resource</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="monotonic_buffer_resource.html" title="Class monotonic_buffer_resource">monotonic_buffer_resource</a> <span class="special">&</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="monotonic_buffer_resource.html" title="Class monotonic_buffer_resource">monotonic_buffer_resource</a> -<a name="idm46123642028112-bb"></a><span class="keyword">operator</span><span class="special">=</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="monotonic_buffer_resource.html" title="Class monotonic_buffer_resource">monotonic_buffer_resource</a> <span class="special">&</span><span class="special">)</span> <span class="special">=</span> <span class="keyword">delete</span><span class="special">;</span></pre></li> +<a name="idm45836568347824-bb"></a><span class="keyword">operator</span><span class="special">=</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="monotonic_buffer_resource.html" title="Class monotonic_buffer_resource">monotonic_buffer_resource</a> <span class="special">&</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="idm46123642025968-bb"></a><span class="special">~</span><span class="identifier">monotonic_buffer_resource</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre> +<pre class="literallayout"><a name="idm45836568345680-bb"></a><span class="special">~</span><span class="identifier">monotonic_buffer_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->release()</code>. </p> </li> </ol></div> </div> <div class="refsect2"> <a name="id-1.3.10.14.22.3.4.5"></a><h3> -<a name="idm46123642076128-bb"></a><code class="computeroutput">monotonic_buffer_resource</code> public member functions</h3> +<a name="idm45836568395840-bb"></a><code class="computeroutput">monotonic_buffer_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="idm46123642075568-bb"></a><span class="identifier">release</span><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="keyword">void</span> <a name="idm45836568395280-bb"></a><span class="identifier">release</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>: <code class="computeroutput">upstream_resource()->deallocate()</code> as necessary to release all allocated memory. [Note: memory is released back to <code class="computeroutput">upstream_resource()</code> even if some blocks that were allocated from this have not been deallocated from this. - 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="idm46123642072416-bb"></a><span class="identifier">upstream_resource</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</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="idm45836568392128-bb"></a><span class="identifier">upstream_resource</span><span class="special">(</span><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>: The value of the internal resource. </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="idm46123642070016-bb"></a><span class="identifier">remaining_storage</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> alignment<span class="special">,</span> +<pre class="literallayout"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="idm45836568389728-bb"></a><span class="identifier">remaining_storage</span><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="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="special">&</span> wasted_due_to_alignment<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>: The number of bytes of storage available for the specified alignment and the number of bytes wasted due to the requested alignment.</p> <p><span class="bold"><strong>Note</strong></span>: Non-standard extension. </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="idm46123642065568-bb"></a><span class="identifier">remaining_storage</span><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="number">1u</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</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="idm45836568385280-bb"></a><span class="identifier">remaining_storage</span><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="number">1u</span><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>: The number of bytes of storage available for the specified alignment.</p> <p><span class="bold"><strong>Note</strong></span>: Non-standard extension. </p> </li> <li class="listitem"> -<pre class="literallayout"><span class="keyword">const</span> <span class="keyword">void</span> <span class="special">*</span> <a name="idm46123642061584-bb"></a><span class="identifier">current_buffer</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="keyword">const</span> <span class="keyword">void</span> <span class="special">*</span> <a name="idm45836568381296-bb"></a><span class="identifier">current_buffer</span><span class="special">(</span><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>: The address pointing to the start of the current free storage.</p> <p><span class="bold"><strong>Note</strong></span>: Non-standard extension. </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="idm46123642058576-bb"></a><span class="identifier">next_buffer_size</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</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="idm45836568378288-bb"></a><span class="identifier">next_buffer_size</span><span class="special">(</span><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>: The number of bytes that will be requested for the next buffer once the current one is exhausted.</p> <p><span class="bold"><strong>Note</strong></span>: Non-standard extension. </p> </li> @@ -143,23 +143,23 @@ </div> <div class="refsect2"> <a name="id-1.3.10.14.22.3.4.6"></a><h3> -<a name="idm46123642024256-bb"></a><code class="computeroutput">monotonic_buffer_resource</code> protected member functions</h3> +<a name="idm45836568343968-bb"></a><code class="computeroutput">monotonic_buffer_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="idm46123642023680-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> +<pre class="literallayout"><span class="keyword">virtual</span> <span class="keyword">void</span> <span class="special">*</span> <a name="idm45836568343392-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 unused space in the internal <code class="computeroutput">current_buffer</code> can fit a block with the specified bytes and alignment, then allocate the return block from the internal <code class="computeroutput">current_buffer</code>; otherwise sets the internal <code class="computeroutput">current_buffer</code> to <code class="computeroutput">upstream_resource()->allocate(n, m)</code>, where <code class="computeroutput">n</code> is not less than <code class="computeroutput">max(bytes, next_buffer_size)</code> and <code class="computeroutput">m</code> is not less than alignment, and increase <code class="computeroutput">next_buffer_size</code> by an implementation-defined growth factor (which need not be integral), then allocate the return block from the newly-allocated internal <code class="computeroutput">current_buffer</code>.</p> <p><span class="bold"><strong>Throws</strong></span>: Nothing unless <code class="computeroutput">upstream_resource()->allocate()</code> throws. </p> </li> <li class="listitem"> <pre class="literallayout"><span class="keyword">virtual</span> <span class="keyword">void</span> -<a name="idm46123642012256-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="keyword">noexcept</span><span class="special">;</span></pre> +<a name="idm45836568331968-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="keyword">noexcept</span><span class="special">;</span></pre> <p><span class="bold"><strong>Effects</strong></span>: None</p> <p><span class="bold"><strong>Throws</strong></span>: Nothing</p> <p><span class="bold"><strong>Remarks</strong></span>: Memory used by this resource increases monotonically until its destruction. </p> </li> <li class="listitem"> -<pre class="literallayout"><span class="keyword">virtual</span> <span class="keyword">bool</span> <a name="idm46123642006064-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">&</span> other<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="keyword">virtual</span> <span class="keyword">bool</span> <a name="idm45836568325776-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">&</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<const monotonic_buffer_resource*>(&other)</code>. </p> </li> </ol></div> |