void swap(tuple& rhs) noexcept(see below);
Each element in *this shall be swappable with ([swappable.requirements])
the corresponding element in rhs.
Effects: Calls swap for each element in *this and its
corresponding element in rhs.
Remarks: The expression inside noexcept is equivalent to the logical
and of the following expressions:
where Ti is the ith type in Types.
Throws: Nothing unless one of the element-wise swap calls throws an exception.