std::iter_swap(std::reverse_iterator)
Min standard notice:
Swaps the objects pointed to by two adjusted underlying iterators.
# Declarations
template< std::indirectly_swappable<Iter> Iter2 >
friend constexpr void iter_swap( const reverse_iterator& x,
const std::reverse_iterator<Iter2>& y )
noexcept(/* see below */);
(since C++20)
# Parameters
x, y: reverse iterators to the elements to swap
# Example
#include <iostream>
#include <iterator>
#include <list>
#include <vector>
int main()
{
std::vector v{1, 2, 3};
std::list l{4, 5, 6};
std::reverse_iterator<std::vector<int>::iterator> r1{v.rbegin()};
std::reverse_iterator<std::list<int>::iterator> r2{l.rbegin()};
std::cout << *r1 << ' ' << *r2 << '\n';
iter_swap(r1, r2); // ADL
std::cout << *r1 << ' ' << *r2 << '\n';
}