std::experimental::swap(std::experimental::propagate_const)
From cppreference.com
                    
                                        
                    < cpp | experimental | propagate const
                    
                                                            
                    |   template< class T > 
constexpr void swap( propagate_const<T>& lhs, propagate_const<T>& rhs );  | 
(library fundamentals TS v2) | |
Specializes the swap algorithm for std::experimental::propagate_const. Swaps the pointers of lhs and rhs. Let t_ designate the private data member that is the wrapped pointer-like object, then this function is equivalent to swap(lhs.t_, rhs.t_).
Contents | 
[edit] Parameters
| lhs, rhs | - |   propagate_consts whose contents to swap
 | 
[edit] Return value
(none)
[edit] Exceptions
noexcept specification:  
noexcept(noexcept(swap(lhs.t_, rhs.t_)))
[edit] Complexity
Constant
[edit] See also
|    swaps the values of two objects   (function template)  | 
|
|    swaps the wrapped pointer   (public member function)  |