std::experimental::ranges::swap(ranges::tagged) (3) - Linux Manuals

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


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


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

Swap the contents of *this and rhs, as if by lhs.swap(rhs);.
This function is a hidden friend: it is not visible to ordinary unqualified or qualified_lookup, and can only be found by argument-dependent_lookup when tagged is an associated class of the arguments.


Unlike most non-member swaps in the standard library, this swap is a hidden friend function declared in the body of tagged, not a function template. The tagged in the function declaration is the injected-class-name.

See also

     swaps the contents of two tagged objects
swap (public member function)