std::experimental::ranges::swap (ranges::tagged)

friend constexpr void swap( tagged& lhs, tagged& rhs ) noexcept(noexcept(lhs.swap(rhs)))
    requires Swappable<Base>;

如同以 lhs.swap(rhs); 交换 *thisrhs 的内容。

此函数对常规的无限定有限定查找不可见,而只能在 tagged 为实参的关联类时由实参依赖查找找到。

注解

不同于标准库中的大多数非成员 swap,此 swap 是声明于 tagged 体中的隐藏友元,而非函数模板。函数声明中的 tagged 是注入类名。

参阅

交换两个 tagged 对象的内容
(公开成员函数)