Unordered: fix swap documentation.

[SVN r74376]
This commit is contained in:
Daniel James
2011-09-14 21:04:23 +00:00
parent f8abb9633a
commit b496bc3fa2
3 changed files with 100 additions and 51 deletions
+20 -8
View File
@@ -658,13 +658,19 @@ EOL;
<paramtype><?php echo $name; ?>&amp;</paramtype>
</parameter>
<type>void</type>
<description>
<para>Swaps the contents of the container with the parameter.</para>
<para>If <code>Allocator::propagate_on_container_swap</code> is declared and
<code>Allocator::propagate_on_container_swap::value</code> is true then the
containers' allocators are swapped. Otherwise, swapping with unequal allocators
results in undefined behavior.</para>
</description>
<throws>
<para>If the allocators are equal, doesn't throw an exception unless it is thrown by the copy constructor or copy assignment operator of <code>key_equal</code> or <code>hasher</code>.</para>
<para>Doesn't throw an exception unless it is thrown by the copy constructor or copy assignment operator of <code>key_equal</code> or <code>hasher</code>.</para>
</throws>
<notes>
<para><emphasis>TODO</emphasis>: Update swap documentation, no longer correct.</para>
<para>For a discussion of the behavior when allocators aren't equal see
<link linkend="unordered.rationale.swapping_containers_with_unequal_allocators">the implementation details</link>.</para>
<para>The exception specifications aren't quite the same as the C++11 standard, as
the equality predieate and hash function are swapped using their copy constructors.</para>
</notes>
</method>
</method-group>
@@ -1014,13 +1020,19 @@ EOL;
<effects>
<para><code>x.swap(y)</code></para>
</effects>
<description>
<para>Swaps the contents of <code>x</code> and <code>y</code>.</para>
<para>If <code>Allocator::propagate_on_container_swap</code> is declared and
<code>Allocator::propagate_on_container_swap::value</code> is true then the
containers' allocators are swapped. Otherwise, swapping with unequal allocators
results in undefined behavior.</para>
</description>
<throws>
<para>If the allocators are equal, doesn't throw an exception unless it is thrown by the copy constructor or copy assignment operator of <code>Hash</code> or <code>Pred</code>.</para>
<para>Doesn't throw an exception unless it is thrown by the copy constructor or copy assignment operator of <code>key_equal</code> or <code>hasher</code>.</para>
</throws>
<notes>
<para><emphasis>TODO</emphasis>: Update swap documentation, no longer correct.</para>
<para>For a discussion of the behavior when allocators aren't equal see
<link linkend="unordered.rationale.swapping_containers_with_unequal_allocators">the implementation details</link>.</para>
<para>The exception specifications aren't quite the same as the C++11 standard, as
the equality predieate and hash function are swapped using their copy constructors.</para>
</notes>
</function>
</free-function-group>