File: swap.cc

package info (click to toggle)
c%2B%2B-annotations 13.02.02-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 13,576 kB
  • sloc: cpp: 25,297; makefile: 1,523; ansic: 165; sh: 126; perl: 90; fortran: 27
file content (45 lines) | stat: -rw-r--r-- 1,124 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
    #include <algorithm>
    #include <iostream>
    #include <string>
    #include <iterator>
    using namespace std;

    void show(string const *begin, string const *end)
    {
        copy(begin, end, ostream_iterator<string>(cout, " "));
        cout << '\n';
    }

    int main()
    {
        string first[] = { "alpha", "bravo", "charley" };
        string second[] = { "echo", "foxtrot", "golf" };

        cout << "Before:\n";
        show(first, end(first));
        show(second, end(second));

        for (size_t idx = 0; idx < size(first); ++idx)
            swap(first[idx], second[idx]);

        cout << "After:\n";
        show(first, end(first));
        show(second, end(second));

        swap_ranges(first, end(first), second);

        cout << "After swap_ranges:\n";
        show(first, end(first));
        show(second, end(second));

    }
    //  Displays:
    //    Before:
    //    alpha bravo charley
    //    echo foxtrot golf
    //    After:
    //    echo foxtrot golf
    //    alpha bravo charley
    //    After swap_ranges:
    //    alpha bravo charley
    //    echo foxtrot golf