table of contents
        
      
      
    | iter_swap(std::move_iterator)(3) | C++ Standard Libary | iter_swap(std::move_iterator)(3) | 
NAME¶
iter_swap(std::move_iterator) - iter_swap(std::move_iterator)
Synopsis¶
template< std::indirectly_swappable<Iter> Iter2 >
  
   friend constexpr void
  
   iter_swap( const move_iterator& x, const (since C++20)
  
   std::move_iterator<Iter2>& y )
  
   noexcept(/*see below*/);
  
   Swaps the objects pointed to by two underlying iterators. The function body
    is
  
   equivalent to ranges::iter_swap(x.base(), y.base());.
  
   This function template is not visible to ordinary unqualified or qualified
    lookup,
  
   and can only be found by argument-dependent lookup when
    std::move_iterator<Iter> is
  
   an associated class of the arguments.
Parameters¶
x, y - move iterators to the elements to swap
Return value¶
(none)
Complexity¶
Constant.
Exceptions¶
 noexcept specification:
  
   noexcept(noexcept(ranges::iter_swap(x.base(), y.base())))
Example¶
// Run this code
  
   #include <iostream>
  
   #include <iterator>
  
   #include <string>
  
   #include <vector>
  
   int main()
  
   {
  
   std::vector<std::string> p{"AA", "EE"},
  
   q{"ⱯⱯ", "ƎƎ"};
  
   std::move_iterator<std::vector<std::string>::iterator>
  
   x = std::make_move_iterator(p.begin()),
  
   y = std::make_move_iterator(q.begin());
  
   std::cout << *x << ' ' << *y << '\n';
  
   iter_swap(x, y); // ADL
  
   std::cout << *x << ' ' << *y << '\n';
  
   }
Output:¶
 AA ⱯⱯ
  
   ⱯⱯ AA
See also¶
 swap swaps the values of two objects
  
   (function template)
  
   swap_ranges swaps two ranges of elements
  
   (function template)
  
   iter_swap swaps the elements pointed to by two iterators
  
   (function template)
  
   iter_swap swaps the values referenced by two dereferenceable objects
  
   (C++20) (customization point object)
  
   iter_swap swaps the objects pointed to by two adjusted underlying iterators
  
   (C++20) (function template)
Category:¶
* conditionally noexcept
| 2024.06.10 | http://cppreference.com |