iter_swap(ranges::join_with_view::iterator)
From cppreference.com
                    
                                        
                    < cpp | ranges | join with view | iterator
                    
                                                            
                    |   friend constexpr void iter_swap( const /*iterator*/& x, const /*iterator*/& y )     requires std::indirectly_swappable<ranges::iterator_t</*InnerBase*/>,  | 
(since C++23) | |
Applies ranges::iter_swap to the inner iterators as if by std::visit(ranges::iter_swap, x.inner_it_ , y.inner_it_ );.
This function  is not visible to ordinary unqualified or qualified lookup, and can only be found by argument-dependent lookup when join_with_view::iterator <Const> is an associated class of the arguments.
Parameters
| x, y | - | iterators to the elements to swap | 
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)  |