stlab.adobe.com Adobe Systems Incorporated

iter_swap

algorithms.gif
function.gif
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 ForwardIterator.
  • 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

Copyright © 2006-2007 Adobe Systems Incorporated.

Use of this website signifies your agreement to the Terms of Use and Online Privacy Policy.

Search powered by Google