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

From cppreference.com
Technical specifications
Filesystem library (filesystem TS)
Library fundamentals (library fundamentals TS)
Library fundamentals 2 (library fundamentals 2 TS)
Extensions for parallelism (parallelism TS)
Extensions for parallelism 2 (parallelism TS v2)
Extensions for concurrency (concurrency TS)
Concepts (concepts TS)
Ranges (ranges TS)
Special mathematical functions (special math TR)
std::experimental::ranges::tagged
Member functions
Non-member functions
ranges::swap(ranges::tagged)
Helper classes
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.

Notes

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
(public member function)