template <class... Types>
void swap(tuple<Types...>& x, tuple<Types...>& y) noexcept(see below);
Remarks: This function shall not participate in overload resolution unless is_swappable_v<Ti> is true for all i, where 0 ≤ i < sizeof...(Types). The expression inside noexcept is equivalent to:
noexcept(x.swap(y))
Effects: As if by x.swap(y).