 
 
 
iter_swap
|  |  | 
| Category: algorithms | Component type: function | 
Prototype
template <class ForwardIterator1, class ForwardIterator2>
inline void iter_swap(ForwardIterator1 a, ForwardIterator2 b);
                   
Description
Equivalent to swap(*a, *b). [1]
Definition
Declared in algo.h.  The implementation is in  algobase.h.
Requirements on types
- 
ForwardIterator1 and ForwardIterator2 are models of
   Forward Iterator.
- 
ForwardIterator1 and ForwardIterator2 are mutable.
- 
ForwardIterator1 and ForwardIterator2 have the same value type.
Preconditions
- 
ForwardIterator1 and ForwardIterator2 are dereferenceable.
Complexity
See swap for a discussion.
Example
int x = 1;
int y = 2;
assert(x == 1 && y == 2);
iter_swap(&x, &y);
assert(x == 2 && y == 1);
Notes
[1]
Strictly speaking, iter_swap is redundant.  It exists only for
technical reasons: in some circumstances, some compilers have
difficulty performing the type deduction required to interpret
swap(*a, *b).
See also
swap, swap_ranges
 
![[Silicon Surf]](http://www.sgi.com/Images/Icon/surf.gif) 
![[STL Home]](stl_home.gif) 
Copyright © 
1999 Silicon Graphics, Inc. All Rights Reserved.
TrademarkInformation
webmaster@www.sgi.com