std::experimental::ranges::tagged<Base,Tags...>::swap
From cppreference.com
                    
                                        
                    < cpp | experimental | ranges | utility/tagged
                    
                                                            
                    | constexpr void swap( tagged& rhs ) noexcept(/* see below */) requires Swappable<Base>; | ||
Swap the contents of *this and rhs, as if by ranges::swap(static_cast<Base&>(*this), static_cast<Base&>(rhs));.
[edit] Exceptions
noexcept specification:  
noexcept(noexcept(ranges::swap(std::declval<Base&>(), std::declval<Base&>())))
[edit] See also
| specializes swapfortaggedobjects(function) | 


