std::experimental::ranges::swap (ranges::tagged)
来自cppreference.com
                    
                                        
                    < cpp | experimental | ranges | utility/tagged
                    
                                                            
                    |   friend constexpr void swap(tagged& lhs, tagged& rhs) noexcept(noexcept(lhs.swap(rhs))) requires ranges::Swappable<Base>;  | 
||
如同以 lhs.swap(rhs); 交换 *this 与 rhs 的内容。
此函数对通常无限定或有限定查找不可见,而只能在 tagged 为参数的关联类时由实参依赖查找找到。
注解
不同于标准库中的大多数非成员 swap ,此 swap 是声明于 tagged 体中的隐藏友元,而非函数模板。函数声明中的 tagged 是注入类名。
参阅
  交换二个 tagged 对象的内容 (公开成员函数)  |