std::tuple::swap
From cppreference.com
                    
                                        
                    
                    
                                                            
                    | Defined in header  <tuple> | ||
| void swap( tuple& other ); | (since C++11) | |
Calls swap (which might be std::swap, or might be found via ADL) for each element in *this and its corresponding element in other.
| This function does not participate in overload resolution unless std::is_swappable<Ti>::value is true for all i from 0 to  | (since C++17) | 
| Contents | 
[edit] Parameters
| other | - | tuple of values to swap | 
[edit] Return value
(none)
[edit] Exceptions
| 
noexcept specification:  
 noexcept(     noexcept(swap(std::declval<T0&>>(), std::declval<T0&>())) && | (until C++17) | 
| 
noexcept specification:  
 noexcept(     std::is_nothrow_swappable<T0>::value && | (since C++17) | 
[edit] Example
Run this code
#include <iostream> #include <tuple> #include <string> int main() { std::tuple<int, std::string, float> p1, p2; p1 = std::make_tuple(10, "test", 3.14); p2.swap(p1); std::cout << "(" << std::get<0>(p2) << ", " << std::get<1>(p2) << ", " << std::get<2>(p2) << ")\n"; }
Output:
(10, test, 3.14)