# Man Page iter_swap.3

```
Standard C++ Library
Copyright 1998, Rogue Wave Software, Inc.

```

## NAME

```     iter_swap

- Exchanges values in two locations.

```

## SYNOPSIS

```     #include <algorithm>
template <class ForwardIterator1, class ForwardIterator2>
void iter_swap (ForwardIterator1, ForwardIterator2);

```

## DESCRIPTION

```     The iter_swap algorithm exchanges the values pointed  to  by
the two iterators a and b.

```

## EXAMPLE

```     #include <vector>
#include <algorithm>
#include <iostream>
using namespace std;

int main ()
{
int d1[] = {6, 7, 8, 9, 10, 1, 2, 3, 4, 5};
//
// Set up a vector.
//
vector<int> v(d1+0, d1+10);
//
// Output original vector.
//
cout << "For the vector: ";
copy(v.begin(), v.end(),
ostream_iterator<int,char>(cout," "));
//
// Swap the first five elements with the
// last five elements.
//
swap_ranges(v.begin(), v.begin()+5, v.begin()+5);
//
// Output result.
//
cout << endl << endl
<< "Swapping the first 5 elements with the last 5 gives: "
<< endl << "     ";
copy(v.begin(), v.end(),
ostream_iterator<int,char>(cout," "));
//
// Now an example of iter_swap -- swap first and
// last elements.
//
iter_swap(v.begin(), v.end()-1);
//
// Output result.
//
cout << endl << endl
<< "Swapping the first and last elements gives: "
<< endl << "     ";
copy(v.begin(), v.end(),
ostream_iterator<int,char>(cout," "));
cout << endl;

return 0;
}

Program Output

For the vector: 6 7 8 9 10 1 2 3 4 5
Swapping the first five elements with the last five gives:
1 2 3 4 5 6 7 8 9 10
Swapping the first and last elements gives:
10 2 3 4 5 6 7 8 9 1

```

## WARNINGS

```     If your compiler does not support default  template  parame-
ters,  then you always need to supply the Allocator template
argument. For instance, you have to write:

vector<int, allocator<int> >

vector<int>

If your compiler does not support namespaces,  then  you  do
not need the using declaration for std.

```

```     Iterators, swap, swap_ranges

```