iter_swap(ranges::join_view::iterator)
From cppreference.com
                    
                                        
                    
                    
                                                            
                    |   friend constexpr void iter_swap( const /*iterator*/& x, const /*iterator*/& y )     noexcept( /*see below*/ )  | 
(since C++20) | |
Swaps the objects pointed to by two underlying iterators (denoted as inner_).
Equivalent to: ranges::iter_swap(x.inner_, y.inner_);.
This function  is not visible to ordinary unqualified or qualified lookup, and can only be found by argument-dependent lookup when join_view::iterator<Const> is an associated class of the arguments.
Parameters
| x, y | - | iterators | 
Return value
(none)
Exceptions
noexcept specification:  
noexcept(noexcept(ranges::iter_swap(x.inner_, y.inner_)))
See also
|   (C++20)  | 
 swaps the values referenced by two dereferenceable objects (customization point object)  | 
|   swaps the elements pointed to by two iterators  (function template)  |