diff options
Diffstat (limited to 'doc/html/boost/container/small_vector_allocator.html')
-rw-r--r-- | doc/html/boost/container/small_vector_allocator.html | 113 |
1 files changed, 61 insertions, 52 deletions
diff --git a/doc/html/boost/container/small_vector_allocator.html b/doc/html/boost/container/small_vector_allocator.html index b8a8849460..e3a7bcb506 100644 --- a/doc/html/boost/container/small_vector_allocator.html +++ b/doc/html/boost/container/small_vector_allocator.html @@ -32,7 +32,7 @@ <h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../boost_container_header_reference.html#header.boost.container.small_vector_hpp" title="Header <boost/container/small_vector.hpp>">boost/container/small_vector.hpp</a>> -</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> VoidAllocator<span class="special">></span> +</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> VoidAllocator <span class="special">=</span> <span class="keyword">void</span><span class="special">,</span> <span class="keyword">typename</span> Options <span class="special">=</span> <span class="keyword">void</span><span class="special">></span> <span class="keyword">class</span> <a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a> <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">allocator_traits</span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">portable_rebind_alloc</span><span class="special"><</span> <span class="identifier">T</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> <span class="special">{</span> @@ -47,9 +47,9 @@ <span class="keyword">typedef</span> <a class="link" href="allocator_traits.html" title="Struct template allocator_traits">allocator_traits</a><span class="special"><</span> <span class="identifier">allocator_type</span> <span class="special">></span><span class="special">::</span><span class="identifier">difference_type</span> <a name="boost.container.small_vector_allocator.difference_type"></a><span class="identifier">difference_type</span><span class="special">;</span> <span class="keyword">typedef</span> <a class="link" href="allocator_traits.html" title="Struct template allocator_traits">allocator_traits</a><span class="special"><</span> <span class="identifier">allocator_type</span> <span class="special">></span><span class="special">::</span><span class="identifier">void_pointer</span> <a name="boost.container.small_vector_allocator.void_pointer"></a><span class="identifier">void_pointer</span><span class="special">;</span> <span class="keyword">typedef</span> <a class="link" href="allocator_traits.html" title="Struct template allocator_traits">allocator_traits</a><span class="special"><</span> <span class="identifier">allocator_type</span> <span class="special">></span><span class="special">::</span><span class="identifier">const_void_pointer</span> <a name="boost.container.small_vector_allocator.const_void_pointer"></a><span class="identifier">const_void_pointer</span><span class="special">;</span> - <span class="keyword">typedef</span> <a class="link" href="allocator_traits.html" title="Struct template allocator_traits">allocator_traits</a><span class="special"><</span> <span class="identifier">allocator_type</span> <span class="special">></span><span class="special">::</span><span class="identifier">propagate_on_container_copy_assignment</span> <a name="boost.container.small_vector_allocator.propagat_idm46123639870368"></a><span class="identifier">propagate_on_container_copy_assignment</span><span class="special">;</span> - <span class="keyword">typedef</span> <a class="link" href="allocator_traits.html" title="Struct template allocator_traits">allocator_traits</a><span class="special"><</span> <span class="identifier">allocator_type</span> <span class="special">></span><span class="special">::</span><span class="identifier">propagate_on_container_move_assignment</span> <a name="boost.container.small_vector_allocator.propagat_idm46123639869168"></a><span class="identifier">propagate_on_container_move_assignment</span><span class="special">;</span> - <span class="keyword">typedef</span> <a class="link" href="allocator_traits.html" title="Struct template allocator_traits">allocator_traits</a><span class="special"><</span> <span class="identifier">allocator_type</span> <span class="special">></span><span class="special">::</span><span class="identifier">propagate_on_container_swap</span> <a name="boost.container.small_vector_allocator.propagat_idm46123639867968"></a><span class="identifier">propagate_on_container_swap</span><span class="special">;</span> + <span class="keyword">typedef</span> <a class="link" href="allocator_traits.html" title="Struct template allocator_traits">allocator_traits</a><span class="special"><</span> <span class="identifier">allocator_type</span> <span class="special">></span><span class="special">::</span><span class="identifier">propagate_on_container_copy_assignment</span> <a name="boost.container.small_vector_allocator.propagat_idm45836566167056"></a><span class="identifier">propagate_on_container_copy_assignment</span><span class="special">;</span> + <span class="keyword">typedef</span> <a class="link" href="allocator_traits.html" title="Struct template allocator_traits">allocator_traits</a><span class="special"><</span> <span class="identifier">allocator_type</span> <span class="special">></span><span class="special">::</span><span class="identifier">propagate_on_container_move_assignment</span> <a name="boost.container.small_vector_allocator.propagat_idm45836566165856"></a><span class="identifier">propagate_on_container_move_assignment</span><span class="special">;</span> + <span class="keyword">typedef</span> <a class="link" href="allocator_traits.html" title="Struct template allocator_traits">allocator_traits</a><span class="special"><</span> <span class="identifier">allocator_type</span> <span class="special">></span><span class="special">::</span><span class="identifier">propagate_on_container_swap</span> <a name="boost.container.small_vector_allocator.propagat_idm45836566164656"></a><span class="identifier">propagate_on_container_swap</span><span class="special">;</span> <span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <a name="boost.container.small_vector_allocator.is_always_equal"></a><span class="identifier">is_always_equal</span><span class="special">;</span> <span class="comment">// An integral constant with member <code class="computeroutput">value == false</code></span> <span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <a name="boost.container.small_vector_allocator.is_partially_propagable"></a><span class="identifier">is_partially_propagable</span><span class="special">;</span> <span class="comment">// An integral constant with member <code class="computeroutput">value == true</code></span> @@ -61,38 +61,40 @@ <span class="special">}</span><span class="special">;</span> <span class="comment">// <a class="link" href="small_vector_allocator.html#boost.container.small_vector_allocatorconstruct-copy-destruct">construct/copy/destruct</a></span> - <span class="keyword">template</span><span class="special"><</span><span class="keyword">class</span> <span class="special">...</span> Args<span class="special">></span> <span class="keyword">explicit</span> <a class="link" href="small_vector_allocator.html#idm46123639852400-bb"><span class="identifier">small_vector_allocator</span></a><span class="special">(</span><span class="identifier">Args</span> <span class="special">&&</span><span class="special">...</span><span class="special">)</span><span class="special">;</span> - <a class="link" href="small_vector_allocator.html#idm46123639849712-bb"><span class="identifier">small_vector_allocator</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a> <span class="special">&</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span> - <a class="link" href="small_vector_allocator.html#idm46123639846848-bb"><span class="identifier">small_vector_allocator</span></a><span class="special">(</span><a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a> <span class="special">&&</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span> - <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> U<span class="special">,</span> <span class="keyword">typename</span> OtherVoidAllocator<span class="special">></span> - <a class="link" href="small_vector_allocator.html#idm46123639844144-bb"><span class="identifier">small_vector_allocator</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a><span class="special"><</span> <span class="identifier">U</span><span class="special">,</span> <span class="identifier">OtherVoidAllocator</span> <span class="special">></span> <span class="special">&</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span> - <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> U<span class="special">,</span> <span class="keyword">typename</span> OtherVoidAllocator<span class="special">></span> - <a class="link" href="small_vector_allocator.html#idm46123639839840-bb"><span class="identifier">small_vector_allocator</span></a><span class="special">(</span><a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a><span class="special"><</span> <span class="identifier">U</span> <span class="identifier">BOOST_MOVE_I</span> <span class="identifier">OtherVoidAllocator</span> <span class="special">></span> <span class="special">&&</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span> - <a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a> <span class="special">&</span> <a class="link" href="small_vector_allocator.html#idm46123639835680-bb"><span class="keyword">operator</span><span class="special">=</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a> <span class="special">&</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span> - <a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a> <span class="special">&</span> <a class="link" href="small_vector_allocator.html#idm46123639832240-bb"><span class="keyword">operator</span><span class="special">=</span></a><span class="special">(</span><a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a> <span class="special">&&</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span> + <a class="link" href="small_vector_allocator.html#idm45836566149088-bb"><span class="identifier">small_vector_allocator</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">(</span><span class="identifier">dtl</span><span class="special">::</span><span class="identifier">is_nothrow_default_constructible</span><span class="special"><</span> <span class="identifier">allocator_type</span> <span class="special">></span><span class="special">::</span><span class="identifier">value</span><span class="special">)</span><span class="special">)</span><span class="special">;</span> + <a class="link" href="small_vector_allocator.html#idm45836566148464-bb"><span class="identifier">small_vector_allocator</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a> <span class="special">&</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span> + <a class="link" href="small_vector_allocator.html#idm45836566145600-bb"><span class="identifier">small_vector_allocator</span></a><span class="special">(</span><a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a> <span class="special">&&</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> U<span class="special">,</span> <span class="keyword">typename</span> OtherVoidAllocator<span class="special">,</span> <span class="keyword">typename</span> OtherOptions<span class="special">></span> + <a class="link" href="small_vector_allocator.html#idm45836566142896-bb"><span class="identifier">small_vector_allocator</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a><span class="special"><</span> <span class="identifier">U</span><span class="special">,</span> <span class="identifier">OtherVoidAllocator</span><span class="special">,</span> <span class="identifier">OtherOptions</span> <span class="special">></span> <span class="special">&</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> U<span class="special">,</span> <span class="keyword">typename</span> OtherVoidAllocator<span class="special">,</span> <span class="keyword">typename</span> OtherOptions<span class="special">></span> + <a class="link" href="small_vector_allocator.html#idm45836566138016-bb"><span class="identifier">small_vector_allocator</span></a><span class="special">(</span><a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a><span class="special"><</span> <span class="identifier">U</span> <span class="identifier">BOOST_MOVE_I</span> <span class="identifier">OtherVoidAllocator</span> <span class="identifier">BOOST_MOVE_I</span> <span class="identifier">OtherOptions</span> <span class="special">></span> <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="small_vector_allocator.html#idm45836566133280-bb"><span class="identifier">small_vector_allocator</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">allocator_type</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span> + <a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a> <span class="special">&</span> <a class="link" href="small_vector_allocator.html#idm45836566131312-bb"><span class="keyword">operator</span><span class="special">=</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a> <span class="special">&</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span> + <a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a> <span class="special">&</span> <a class="link" href="small_vector_allocator.html#idm45836566127872-bb"><span class="keyword">operator</span><span class="special">=</span></a><span class="special">(</span><a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a> <span class="special">&&</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span> <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> U<span class="special">,</span> <span class="keyword">typename</span> OtherVoidAllocator<span class="special">></span> <a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a> <span class="special">&</span> - <a class="link" href="small_vector_allocator.html#idm46123639828944-bb"><span class="keyword">operator</span><span class="special">=</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a><span class="special"><</span> <span class="identifier">U</span> <span class="identifier">BOOST_MOVE_I</span> <span class="identifier">OtherVoidAllocator</span> <span class="special">></span> <span class="special">&</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span> + <a class="link" href="small_vector_allocator.html#idm45836566124576-bb"><span class="keyword">operator</span><span class="special">=</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a><span class="special"><</span> <span class="identifier">U</span> <span class="identifier">BOOST_MOVE_I</span> <span class="identifier">OtherVoidAllocator</span> <span class="identifier">BOOST_MOVE_I</span> <span class="identifier">Options</span> <span class="special">></span> <span class="special">&</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span> <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> U<span class="special">,</span> <span class="keyword">typename</span> OtherVoidAllocator<span class="special">></span> <a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a> <span class="special">&</span> - <a class="link" href="small_vector_allocator.html#idm46123639824064-bb"><span class="keyword">operator</span><span class="special">=</span></a><span class="special">(</span><a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a><span class="special"><</span> <span class="identifier">U</span> <span class="identifier">BOOST_MOVE_I</span> <span class="identifier">OtherVoidAllocator</span> <span class="special">></span> <span class="special">&&</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span> + <a class="link" href="small_vector_allocator.html#idm45836566119664-bb"><span class="keyword">operator</span><span class="special">=</span></a><span class="special">(</span><a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a><span class="special"><</span> <span class="identifier">U</span> <span class="identifier">BOOST_MOVE_I</span> <span class="identifier">OtherVoidAllocator</span> <span class="identifier">BOOST_MOVE_I</span> <span class="identifier">Options</span> <span class="special">></span> <span class="special">&&</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span> + <a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a> <span class="special">&</span> <a class="link" href="small_vector_allocator.html#idm45836566114912-bb"><span class="keyword">operator</span><span class="special">=</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">allocator_type</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span> - <span class="comment">// <a class="link" href="small_vector_allocator.html#idm46123639863584-bb">public member functions</a></span> - <span class="identifier">pointer</span> <a class="link" href="small_vector_allocator.html#idm46123639863024-bb"><span class="identifier">allocate</span></a><span class="special">(</span><span class="identifier">size_type</span><span class="special">,</span> <span class="identifier">const_void_pointer</span> <span class="special">=</span> <span class="identifier">const_void_pointer</span><span class="special">(</span><span class="special">)</span><span class="special">)</span><span class="special">;</span> - <span class="keyword">void</span> <a class="link" href="small_vector_allocator.html#idm46123639860176-bb"><span class="identifier">deallocate</span></a><span class="special">(</span><span class="identifier">pointer</span><span class="special">,</span> <span class="identifier">size_type</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span> - <span class="identifier">size_type</span> <a class="link" href="small_vector_allocator.html#idm46123639857232-bb"><span class="identifier">max_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> - <a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a> <a class="link" href="small_vector_allocator.html#idm46123639855632-bb"><span class="identifier">select_on_container_copy_construction</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> - <span class="keyword">bool</span> <a class="link" href="small_vector_allocator.html#idm46123639854368-bb"><span class="identifier">storage_is_unpropagable</span></a><span class="special">(</span><span class="identifier">pointer</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="comment">// <a class="link" href="small_vector_allocator.html#idm45836566160272-bb">public member functions</a></span> + <span class="identifier">pointer</span> <a class="link" href="small_vector_allocator.html#idm45836566159712-bb"><span class="identifier">allocate</span></a><span class="special">(</span><span class="identifier">size_type</span><span class="special">,</span> <span class="identifier">const_void_pointer</span> <span class="special">=</span> <span class="identifier">const_void_pointer</span><span class="special">(</span><span class="special">)</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">void</span> <a class="link" href="small_vector_allocator.html#idm45836566156864-bb"><span class="identifier">deallocate</span></a><span class="special">(</span><span class="identifier">pointer</span><span class="special">,</span> <span class="identifier">size_type</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span> + <span class="identifier">size_type</span> <a class="link" href="small_vector_allocator.html#idm45836566153920-bb"><span class="identifier">max_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> + <a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a> <a class="link" href="small_vector_allocator.html#idm45836566152320-bb"><span class="identifier">select_on_container_copy_construction</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="keyword">bool</span> <a class="link" href="small_vector_allocator.html#idm45836566151056-bb"><span class="identifier">storage_is_unpropagable</span></a><span class="special">(</span><span class="identifier">pointer</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> - <span class="comment">// <a class="link" href="small_vector_allocator.html#idm46123639819328-bb">friend functions</a></span> - <span class="keyword">friend</span> <span class="keyword">void</span> <a class="link" href="small_vector_allocator.html#idm46123639818768-bb"><span class="identifier">swap</span></a><span class="special">(</span><a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a> <span class="special">&</span><span class="special">,</span> <a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a> <span class="special">&</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span> - <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="small_vector_allocator.html#idm46123639814496-bb"><span class="keyword">operator</span><span class="special">==</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a> <span class="special">&</span><span class="special">,</span> + <span class="comment">// <a class="link" href="small_vector_allocator.html#idm45836566112640-bb">friend functions</a></span> + <span class="keyword">friend</span> <span class="keyword">void</span> <a class="link" href="small_vector_allocator.html#idm45836566112080-bb"><span class="identifier">swap</span></a><span class="special">(</span><a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a> <span class="special">&</span><span class="special">,</span> <a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a> <span class="special">&</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span> + <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="small_vector_allocator.html#idm45836566107808-bb"><span class="keyword">operator</span><span class="special">==</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a> <span class="special">&</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a> <span class="special">&</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span> - <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="small_vector_allocator.html#idm46123639809808-bb"><span class="keyword">operator</span><span class="special">!=</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a> <span class="special">&</span><span class="special">,</span> + <span class="keyword">friend</span> <span class="keyword">bool</span> <a class="link" href="small_vector_allocator.html#idm45836566103120-bb"><span class="keyword">operator</span><span class="special">!=</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a> <span class="special">&</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a> <span class="special">&</span><span class="special">)</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="id-1.3.10.14.34.4.4"></a><h2>Description</h2> +<a name="id-1.3.10.14.34.9.4"></a><h2>Description</h2> <p>A non-standard allocator used to implement <code class="computeroutput"><a class="link" href="small_vector.html" title="Class template small_vector">small_vector</a></code>. Users should never use it directly. It is described here for documentation purposes.</p> <p>This allocator inherits from a standard-conforming allocator and forwards member functions to the standard allocator except when internal storage is being used as memory source.</p> <p>This allocator is a "partially_propagable" allocator and defines <code class="computeroutput">is_partially_propagable</code> as true_type.</p> @@ -100,88 +102,95 @@ <p><code class="computeroutput"><a class="link" href="vector.html" title="Class template vector">boost::container::vector</a></code> supports partially propagable allocators fallbacking to deep copy/swap/move operations when internal storage is being used to store vector elements.</p> <p><code class="computeroutput"><a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a></code> assumes that will be instantiated as <code class="computeroutput"><a class="link" href="vector.html" title="Class template vector">boost::container::vector</a>< T, <a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a><T, Allocator> ></code> and internal storage can be obtained downcasting that vector to <code class="computeroutput"><a class="link" href="small_vector_base.html" title="Class template small_vector_base">small_vector_base</a><T></code>. </p> <div class="refsect2"> -<a name="id-1.3.10.14.34.4.4.8"></a><h3> +<a name="id-1.3.10.14.34.9.4.8"></a><h3> <a name="boost.container.small_vector_allocatorconstruct-copy-destruct"></a><code class="computeroutput">small_vector_allocator</code> public construct/copy/destruct</h3> <div class="orderedlist"><ol class="orderedlist" type="1"> +<li class="listitem"><pre class="literallayout"><a name="idm45836566149088-bb"></a><span class="identifier">small_vector_allocator</span><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">(</span><span class="identifier">dtl</span><span class="special">::</span><span class="identifier">is_nothrow_default_constructible</span><span class="special"><</span> <span class="identifier">allocator_type</span> <span class="special">></span><span class="special">::</span><span class="identifier">value</span><span class="special">)</span><span class="special">)</span><span class="special">;</span></pre></li> <li class="listitem"> -<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">class</span> <span class="special">...</span> Args<span class="special">></span> <span class="keyword">explicit</span> <a name="idm46123639852400-bb"></a><span class="identifier">small_vector_allocator</span><span class="special">(</span><span class="identifier">Args</span> <span class="special">&&</span><span class="special">...</span> args<span class="special">)</span><span class="special">;</span></pre>Constructor from arbitrary arguments. </li> -<li class="listitem"> -<pre class="literallayout"><a name="idm46123639849712-bb"></a><span class="identifier">small_vector_allocator</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a> <span class="special">&</span> other<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> +<pre class="literallayout"><a name="idm45836566148464-bb"></a><span class="identifier">small_vector_allocator</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a> <span class="special">&</span> other<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> <p>Constructor from other <code class="computeroutput"><a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a></code>. Never throws </p> </li> <li class="listitem"> -<pre class="literallayout"><a name="idm46123639846848-bb"></a><span class="identifier">small_vector_allocator</span><span class="special">(</span><a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a> <span class="special">&&</span> other<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> +<pre class="literallayout"><a name="idm45836566145600-bb"></a><span class="identifier">small_vector_allocator</span><span class="special">(</span><a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a> <span class="special">&&</span> other<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> <p>Move constructor from <code class="computeroutput"><a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a></code>. Never throws </p> </li> <li class="listitem"> -<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> U<span class="special">,</span> <span class="keyword">typename</span> OtherVoidAllocator<span class="special">></span> - <a name="idm46123639844144-bb"></a><span class="identifier">small_vector_allocator</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a><span class="special"><</span> <span class="identifier">U</span><span class="special">,</span> <span class="identifier">OtherVoidAllocator</span> <span class="special">></span> <span class="special">&</span> other<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> U<span class="special">,</span> <span class="keyword">typename</span> OtherVoidAllocator<span class="special">,</span> <span class="keyword">typename</span> OtherOptions<span class="special">></span> + <a name="idm45836566142896-bb"></a><span class="identifier">small_vector_allocator</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a><span class="special"><</span> <span class="identifier">U</span><span class="special">,</span> <span class="identifier">OtherVoidAllocator</span><span class="special">,</span> <span class="identifier">OtherOptions</span> <span class="special">></span> <span class="special">&</span> other<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> <p>Constructor from related <code class="computeroutput"><a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a></code>. Never throws </p> </li> <li class="listitem"> -<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> U<span class="special">,</span> <span class="keyword">typename</span> OtherVoidAllocator<span class="special">></span> - <a name="idm46123639839840-bb"></a><span class="identifier">small_vector_allocator</span><span class="special">(</span><a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a><span class="special"><</span> <span class="identifier">U</span> <span class="identifier">BOOST_MOVE_I</span> <span class="identifier">OtherVoidAllocator</span> <span class="special">></span> <span class="special">&&</span> other<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> U<span class="special">,</span> <span class="keyword">typename</span> OtherVoidAllocator<span class="special">,</span> <span class="keyword">typename</span> OtherOptions<span class="special">></span> + <a name="idm45836566138016-bb"></a><span class="identifier">small_vector_allocator</span><span class="special">(</span><a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a><span class="special"><</span> <span class="identifier">U</span> <span class="identifier">BOOST_MOVE_I</span> <span class="identifier">OtherVoidAllocator</span> <span class="identifier">BOOST_MOVE_I</span> <span class="identifier">OtherOptions</span> <span class="special">></span> <span class="special">&&</span> other<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> <p>Move constructor from related <code class="computeroutput"><a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a></code>. Never throws </p> </li> <li class="listitem"> +<pre class="literallayout"><span class="keyword">explicit</span> <a name="idm45836566133280-bb"></a><span class="identifier">small_vector_allocator</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">allocator_type</span> <span class="special">&</span> other<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> +<p>Constructor from allocator_type. Never throws </p> +</li> +<li class="listitem"> <pre class="literallayout"><a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a> <span class="special">&</span> -<a name="idm46123639835680-bb"></a><span class="keyword">operator</span><span class="special">=</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a> <span class="special">&</span> other<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> +<a name="idm45836566131312-bb"></a><span class="keyword">operator</span><span class="special">=</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a> <span class="special">&</span> other<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> <p>Assignment from other <code class="computeroutput"><a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a></code>. Never throws </p> </li> <li class="listitem"> -<pre class="literallayout"><a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a> <span class="special">&</span> <a name="idm46123639832240-bb"></a><span class="keyword">operator</span><span class="special">=</span><span class="special">(</span><a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a> <span class="special">&&</span> other<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> -<p>Move constructor from other <code class="computeroutput"><a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a></code>. Never throws </p> +<pre class="literallayout"><a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a> <span class="special">&</span> <a name="idm45836566127872-bb"></a><span class="keyword">operator</span><span class="special">=</span><span class="special">(</span><a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a> <span class="special">&&</span> other<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> +<p>Move assignment from other <code class="computeroutput"><a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a></code>. Never throws </p> </li> <li class="listitem"> <pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> U<span class="special">,</span> <span class="keyword">typename</span> OtherVoidAllocator<span class="special">></span> <a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a> <span class="special">&</span> - <a name="idm46123639828944-bb"></a><span class="keyword">operator</span><span class="special">=</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a><span class="special"><</span> <span class="identifier">U</span> <span class="identifier">BOOST_MOVE_I</span> <span class="identifier">OtherVoidAllocator</span> <span class="special">></span> <span class="special">&</span> other<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> + <a name="idm45836566124576-bb"></a><span class="keyword">operator</span><span class="special">=</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a><span class="special"><</span> <span class="identifier">U</span> <span class="identifier">BOOST_MOVE_I</span> <span class="identifier">OtherVoidAllocator</span> <span class="identifier">BOOST_MOVE_I</span> <span class="identifier">Options</span> <span class="special">></span> <span class="special">&</span> other<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> <p>Assignment from related <code class="computeroutput"><a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a></code>. Never throws </p> </li> <li class="listitem"> <pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> U<span class="special">,</span> <span class="keyword">typename</span> OtherVoidAllocator<span class="special">></span> <a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a> <span class="special">&</span> - <a name="idm46123639824064-bb"></a><span class="keyword">operator</span><span class="special">=</span><span class="special">(</span><a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a><span class="special"><</span> <span class="identifier">U</span> <span class="identifier">BOOST_MOVE_I</span> <span class="identifier">OtherVoidAllocator</span> <span class="special">></span> <span class="special">&&</span> other<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> + <a name="idm45836566119664-bb"></a><span class="keyword">operator</span><span class="special">=</span><span class="special">(</span><a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a><span class="special"><</span> <span class="identifier">U</span> <span class="identifier">BOOST_MOVE_I</span> <span class="identifier">OtherVoidAllocator</span> <span class="identifier">BOOST_MOVE_I</span> <span class="identifier">Options</span> <span class="special">></span> <span class="special">&&</span> other<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> <p>Move assignment from related <code class="computeroutput"><a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a></code>. Never throws </p> </li> +<li class="listitem"> +<pre class="literallayout"><a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a> <span class="special">&</span> <a name="idm45836566114912-bb"></a><span class="keyword">operator</span><span class="special">=</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">allocator_type</span> <span class="special">&</span> other<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> +<p>Move assignment from allocator_type. Never throws </p> +</li> </ol></div> </div> <div class="refsect2"> -<a name="id-1.3.10.14.34.4.4.9"></a><h3> -<a name="idm46123639863584-bb"></a><code class="computeroutput">small_vector_allocator</code> public member functions</h3> +<a name="id-1.3.10.14.34.9.4.9"></a><h3> +<a name="idm45836566160272-bb"></a><code class="computeroutput">small_vector_allocator</code> public member functions</h3> <div class="orderedlist"><ol class="orderedlist" type="1"> <li class="listitem"> -<pre class="literallayout"><span class="identifier">pointer</span> <a name="idm46123639863024-bb"></a><span class="identifier">allocate</span><span class="special">(</span><span class="identifier">size_type</span> count<span class="special">,</span> +<pre class="literallayout"><span class="identifier">pointer</span> <a name="idm45836566159712-bb"></a><span class="identifier">allocate</span><span class="special">(</span><span class="identifier">size_type</span> count<span class="special">,</span> <span class="identifier">const_void_pointer</span> hint <span class="special">=</span> <span class="identifier">const_void_pointer</span><span class="special">(</span><span class="special">)</span><span class="special">)</span><span class="special">;</span></pre>Allocates storage from the standard-conforming allocator. </li> <li class="listitem"> -<pre class="literallayout"><span class="keyword">void</span> <a name="idm46123639860176-bb"></a><span class="identifier">deallocate</span><span class="special">(</span><span class="identifier">pointer</span> ptr<span class="special">,</span> <span class="identifier">size_type</span> n<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="keyword">void</span> <a name="idm45836566156864-bb"></a><span class="identifier">deallocate</span><span class="special">(</span><span class="identifier">pointer</span> ptr<span class="special">,</span> <span class="identifier">size_type</span> n<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> <p>Deallocates previously allocated memory. Never throws </p> </li> <li class="listitem"> -<pre class="literallayout"><span class="identifier">size_type</span> <a name="idm46123639857232-bb"></a><span class="identifier">max_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">size_type</span> <a name="idm45836566153920-bb"></a><span class="identifier">max_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>Returns the maximum number of elements that could be allocated. Never throws </p> </li> -<li class="listitem"><pre class="literallayout"><a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a> <a name="idm46123639855632-bb"></a><span class="identifier">select_on_container_copy_construction</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li> -<li class="listitem"><pre class="literallayout"><span class="keyword">bool</span> <a name="idm46123639854368-bb"></a><span class="identifier">storage_is_unpropagable</span><span class="special">(</span><span class="identifier">pointer</span> p<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li> +<li class="listitem"><pre class="literallayout"><a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a> <a name="idm45836566152320-bb"></a><span class="identifier">select_on_container_copy_construction</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li> +<li class="listitem"><pre class="literallayout"><span class="keyword">bool</span> <a name="idm45836566151056-bb"></a><span class="identifier">storage_is_unpropagable</span><span class="special">(</span><span class="identifier">pointer</span> p<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li> </ol></div> </div> <div class="refsect2"> -<a name="id-1.3.10.14.34.4.4.10"></a><h3> -<a name="idm46123639819328-bb"></a><code class="computeroutput">small_vector_allocator</code> friend functions</h3> +<a name="id-1.3.10.14.34.9.4.10"></a><h3> +<a name="idm45836566112640-bb"></a><code class="computeroutput">small_vector_allocator</code> friend functions</h3> <div class="orderedlist"><ol class="orderedlist" type="1"> <li class="listitem"> -<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">void</span> <a name="idm46123639818768-bb"></a><span class="identifier">swap</span><span class="special">(</span><a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a> <span class="special">&</span> l<span class="special">,</span> <a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a> <span class="special">&</span> r<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">void</span> <a name="idm45836566112080-bb"></a><span class="identifier">swap</span><span class="special">(</span><a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a> <span class="special">&</span> l<span class="special">,</span> <a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a> <span class="special">&</span> r<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> <p>Swaps two allocators, does nothing because this <code class="computeroutput"><a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a></code> is stateless </p> </li> <li class="listitem"> -<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="idm46123639814496-bb"></a><span class="keyword">operator</span><span class="special">==</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a> <span class="special">&</span> l<span class="special">,</span> +<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="idm45836566107808-bb"></a><span class="keyword">operator</span><span class="special">==</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a> <span class="special">&</span> l<span class="special">,</span> <span class="keyword">const</span> <a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a> <span class="special">&</span> r<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> <p>An <code class="computeroutput"><a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a></code> always compares to true, as memory allocated with one instance can be deallocated by another instance (except for unpropagable storage) </p> </li> <li class="listitem"> -<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="idm46123639809808-bb"></a><span class="keyword">operator</span><span class="special">!=</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a> <span class="special">&</span> l<span class="special">,</span> +<pre class="literallayout"><span class="keyword">friend</span> <span class="keyword">bool</span> <a name="idm45836566103120-bb"></a><span class="keyword">operator</span><span class="special">!=</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a> <span class="special">&</span> l<span class="special">,</span> <span class="keyword">const</span> <a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a> <span class="special">&</span> r<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> <p>An <code class="computeroutput"><a class="link" href="small_vector_allocator.html" title="Class template small_vector_allocator">small_vector_allocator</a></code> always compares to false, as memory allocated with one instance can be deallocated by another instance </p> </li> |