mirror of
https://github.com/boostorg/unordered.git
synced 2025-07-30 11:27:15 +02:00
Update FOA noexcept docs for move assignment, swap
This commit is contained in:
@ -98,9 +98,8 @@ namespace boost {
|
|||||||
xref:#unordered_flat_map_destructor[~unordered_flat_map]();
|
xref:#unordered_flat_map_destructor[~unordered_flat_map]();
|
||||||
unordered_flat_map& xref:#unordered_flat_map_copy_assignment[operator++=++](const unordered_flat_map& other);
|
unordered_flat_map& xref:#unordered_flat_map_copy_assignment[operator++=++](const unordered_flat_map& other);
|
||||||
unordered_flat_map& xref:#unordered_flat_map_move_assignment[operator++=++](unordered_flat_map&& other)
|
unordered_flat_map& xref:#unordered_flat_map_move_assignment[operator++=++](unordered_flat_map&& other)
|
||||||
noexcept(boost::allocator_traits<Allocator>::is_always_equal::value &&
|
noexcept(boost::allocator_traits<Allocator>::is_always_equal::value ||
|
||||||
boost::is_nothrow_move_assignable_v<Hash> &&
|
boost::allocator_traits<Allocator>::propagate_on_container_move_assignment::value);
|
||||||
boost::is_nothrow_move_assignable_v<Pred>);
|
|
||||||
unordered_flat_map& xref:#unordered_flat_map_initializer_list_assignment[operator++=++](std::initializer_list<value_type>);
|
unordered_flat_map& xref:#unordered_flat_map_initializer_list_assignment[operator++=++](std::initializer_list<value_type>);
|
||||||
allocator_type xref:#unordered_flat_map_get_allocator[get_allocator]() const noexcept;
|
allocator_type xref:#unordered_flat_map_get_allocator[get_allocator]() const noexcept;
|
||||||
|
|
||||||
@ -154,9 +153,8 @@ namespace boost {
|
|||||||
template<class K> size_type xref:#unordered_flat_map_transparent_erase_by_key[erase](K&& k);
|
template<class K> size_type xref:#unordered_flat_map_transparent_erase_by_key[erase](K&& k);
|
||||||
iterator xref:#unordered_flat_map_erase_range[erase](const_iterator first, const_iterator last);
|
iterator xref:#unordered_flat_map_erase_range[erase](const_iterator first, const_iterator last);
|
||||||
void xref:#unordered_flat_map_swap[swap](unordered_flat_map& other)
|
void xref:#unordered_flat_map_swap[swap](unordered_flat_map& other)
|
||||||
noexcept(boost::allocator_traits<Allocator>::is_always_equal::value &&
|
noexcept(boost::allocator_traits<Allocator>::is_always_equal::value ||
|
||||||
boost::is_nothrow_swappable_v<Hash> &&
|
boost::allocator_traits<Allocator>::propagate_on_container_swap::value);
|
||||||
boost::is_nothrow_swappable_v<Pred>);
|
|
||||||
void xref:#unordered_flat_map_clear[clear]() noexcept;
|
void xref:#unordered_flat_map_clear[clear]() noexcept;
|
||||||
|
|
||||||
template<class H2, class P2>
|
template<class H2, class P2>
|
||||||
@ -606,11 +604,10 @@ Requires:;; `value_type` is https://en.cppreference.com/w/cpp/named_req/CopyInse
|
|||||||
==== Move Assignment
|
==== Move Assignment
|
||||||
```c++
|
```c++
|
||||||
unordered_flat_map& operator=(unordered_flat_map&& other)
|
unordered_flat_map& operator=(unordered_flat_map&& other)
|
||||||
noexcept(boost::allocator_traits<Allocator>::is_always_equal::value &&
|
noexcept(boost::allocator_traits<Allocator>::is_always_equal::value ||
|
||||||
boost::is_nothrow_move_assignable_v<Hash> &&
|
boost::allocator_traits<Allocator>::propagate_on_container_move_assignment::value);
|
||||||
boost::is_nothrow_move_assignable_v<Pred>);
|
|
||||||
```
|
```
|
||||||
The move assignment operator. Destroys previously existing elements, move-assigns the hash function and predicate from `other`,
|
The move assignment operator. Destroys previously existing elements, swaps the hash function and predicate from `other`,
|
||||||
and move-assigns the allocator from `other` if `Alloc::propagate_on_container_move_assignment` exists and `Alloc::propagate_on_container_move_assignment::value` is `true`.
|
and move-assigns the allocator from `other` if `Alloc::propagate_on_container_move_assignment` exists and `Alloc::propagate_on_container_move_assignment::value` is `true`.
|
||||||
If at this point the allocator is equal to `other.get_allocator()`, the internal bucket array of `other` is transferred directly to the new container;
|
If at this point the allocator is equal to `other.get_allocator()`, the internal bucket array of `other` is transferred directly to the new container;
|
||||||
otherwise, inserts move-constructed copies of the elements of `other`.
|
otherwise, inserts move-constructed copies of the elements of `other`.
|
||||||
@ -1043,9 +1040,8 @@ Throws:;; Nothing in this implementation (neither the `hasher` nor the `key_equa
|
|||||||
==== swap
|
==== swap
|
||||||
```c++
|
```c++
|
||||||
void swap(unordered_flat_map& other)
|
void swap(unordered_flat_map& other)
|
||||||
noexcept(boost::allocator_traits<Allocator>::is_always_equal::value &&
|
noexcept(boost::allocator_traits<Allocator>::is_always_equal::value ||
|
||||||
boost::is_nothrow_swappable_v<Hash> &&
|
boost::allocator_traits<Allocator>::propagate_on_container_swap::value);
|
||||||
boost::is_nothrow_swappable_v<Pred>);
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Swaps the contents of the container with the parameter.
|
Swaps the contents of the container with the parameter.
|
||||||
|
@ -93,9 +93,8 @@ namespace boost {
|
|||||||
xref:#unordered_flat_set_destructor[~unordered_flat_set]();
|
xref:#unordered_flat_set_destructor[~unordered_flat_set]();
|
||||||
unordered_flat_set& xref:#unordered_flat_set_copy_assignment[operator++=++](const unordered_flat_set& other);
|
unordered_flat_set& xref:#unordered_flat_set_copy_assignment[operator++=++](const unordered_flat_set& other);
|
||||||
unordered_flat_set& xref:#unordered_flat_set_move_assignment[operator++=++](unordered_flat_set&& other)
|
unordered_flat_set& xref:#unordered_flat_set_move_assignment[operator++=++](unordered_flat_set&& other)
|
||||||
noexcept(boost::allocator_traits<Allocator>::is_always_equal::value &&
|
noexcept(boost::allocator_traits<Allocator>::is_always_equal::value ||
|
||||||
boost::is_nothrow_move_assignable_v<Hash> &&
|
boost::allocator_traits<Allocator>::propagate_on_container_move_assignment::value);
|
||||||
boost::is_nothrow_move_assignable_v<Pred>);
|
|
||||||
unordered_flat_set& xref:#unordered_flat_set_initializer_list_assignment[operator++=++](std::initializer_list<value_type>);
|
unordered_flat_set& xref:#unordered_flat_set_initializer_list_assignment[operator++=++](std::initializer_list<value_type>);
|
||||||
allocator_type xref:#unordered_flat_set_get_allocator[get_allocator]() const noexcept;
|
allocator_type xref:#unordered_flat_set_get_allocator[get_allocator]() const noexcept;
|
||||||
|
|
||||||
@ -128,9 +127,8 @@ namespace boost {
|
|||||||
template<class K> size_type xref:#unordered_flat_set_transparent_erase_by_key[erase](K&& k);
|
template<class K> size_type xref:#unordered_flat_set_transparent_erase_by_key[erase](K&& k);
|
||||||
iterator xref:#unordered_flat_set_erase_range[erase](const_iterator first, const_iterator last);
|
iterator xref:#unordered_flat_set_erase_range[erase](const_iterator first, const_iterator last);
|
||||||
void xref:#unordered_flat_set_swap[swap](unordered_flat_set& other)
|
void xref:#unordered_flat_set_swap[swap](unordered_flat_set& other)
|
||||||
noexcept(boost::allocator_traits<Allocator>::is_always_equal::value &&
|
noexcept(boost::allocator_traits<Allocator>::is_always_equal::value ||
|
||||||
boost::is_nothrow_swappable_v<Hash> &&
|
boost::allocator_traits<Allocator>::propagate_on_container_swap::value);
|
||||||
boost::is_nothrow_swappable_v<Pred>);
|
|
||||||
void xref:#unordered_flat_set_clear[clear]() noexcept;
|
void xref:#unordered_flat_set_clear[clear]() noexcept;
|
||||||
|
|
||||||
template<class H2, class P2>
|
template<class H2, class P2>
|
||||||
@ -565,11 +563,10 @@ Requires:;; `value_type` is https://en.cppreference.com/w/cpp/named_req/CopyInse
|
|||||||
==== Move Assignment
|
==== Move Assignment
|
||||||
```c++
|
```c++
|
||||||
unordered_flat_set& operator=(unordered_flat_set&& other)
|
unordered_flat_set& operator=(unordered_flat_set&& other)
|
||||||
noexcept(boost::allocator_traits<Allocator>::is_always_equal::value &&
|
noexcept(boost::allocator_traits<Allocator>::is_always_equal::value ||
|
||||||
boost::is_nothrow_move_assignable_v<Hash> &&
|
boost::allocator_traits<Allocator>::propagate_on_container_move_assignment::value);
|
||||||
boost::is_nothrow_move_assignable_v<Pred>);
|
|
||||||
```
|
```
|
||||||
The move assignment operator. Destroys previously existing elements, move-assigns the hash function and predicate from `other`,
|
The move assignment operator. Destroys previously existing elements, swaps the hash function and predicate from `other`,
|
||||||
and move-assigns the allocator from `other` if `Alloc::propagate_on_container_move_assignment` exists and `Alloc::propagate_on_container_move_assignment::value` is `true`.
|
and move-assigns the allocator from `other` if `Alloc::propagate_on_container_move_assignment` exists and `Alloc::propagate_on_container_move_assignment::value` is `true`.
|
||||||
If at this point the allocator is equal to `other.get_allocator()`, the internal bucket array of `other` is transferred directly to the new container;
|
If at this point the allocator is equal to `other.get_allocator()`, the internal bucket array of `other` is transferred directly to the new container;
|
||||||
otherwise, inserts move-constructed copies of the elements of `other`.
|
otherwise, inserts move-constructed copies of the elements of `other`.
|
||||||
@ -863,9 +860,8 @@ Throws:;; Nothing in this implementation (neither the `hasher` nor the `key_equa
|
|||||||
==== swap
|
==== swap
|
||||||
```c++
|
```c++
|
||||||
void swap(unordered_flat_set& other)
|
void swap(unordered_flat_set& other)
|
||||||
noexcept(boost::allocator_traits<Allocator>::is_always_equal::value &&
|
noexcept(boost::allocator_traits<Allocator>::is_always_equal::value ||
|
||||||
boost::is_nothrow_swappable_v<Hash> &&
|
boost::allocator_traits<Allocator>::propagate_on_container_swap::value);
|
||||||
boost::is_nothrow_swappable_v<Pred>);
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Swaps the contents of the container with the parameter.
|
Swaps the contents of the container with the parameter.
|
||||||
|
Reference in New Issue
Block a user