Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ iter_swap(3C++) — Sun WorkShop 5.0

Media Vault

Software Library

Restoration Projects

Artifacts Sought

iter_swap(3C++)

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 parameters, then you always need to supply the Allocator template argument. For instance, you have to write:
 
vector<int, allocator<int> >
 
instead of:
 
vector<int>
 
If your compiler does not support namespaces, then you do not need the using declaration for std. 
 
 
 

SEE ALSO

 
 
Iterators,_swap, swap_ranges
 

Rogue Wave Software  —  Last change: 02 Apr 1998

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026