1.9 KiB
1.9 KiB
[tuple.swap]
22 General utilities library [utilities]
22.4 Tuples [tuple]
22.4.4 Class template tuple [tuple.tuple]
22.4.4.4 swap [tuple.swap]
constexpr void swap(tuple& rhs) noexcept(see below); constexpr void swap(const tuple& rhs) const noexcept(see below);
Let i be in the range [0, sizeof...(Types)) in order.
Mandates:
-
For the first overload,(is_swappable_v && ...) is true.
-
For the second overload,(is_swappable_v && ...) is true.
Preconditions: For all i, get(*this) is swappable with ([swappable.requirements]) get(rhs).
Effects: For each i, calls swap for get(*this) and get(rhs).
Throws: Nothing unless one of the element-wise swap calls throws an exception.
Remarks: The exception specification is equivalent to
(is_nothrow_swappable_v && ...) for the first overload and
(is_nothrow_swappable_v && ...) for the second overload.