Source of map16.cpp


  1: //map16.cpp

  3: #include <iostream>
  4: #include <map>
  5: #include <utility>
  6: using namespace std;

  8: int main()
  9: {
 10:     cout << "\nThis program illustrates the swap() member function "
 11:         "of the map interface.";
 12:     cout << "\nPress Enter to continue ... ";  cin.ignore(80, '\n');

 14:     //Create an array of pairs
 15:     pair<char, int> a[] =
 16:     {
 17:         pair<char, int>('A', 65),
 18:         pair<char, int>('B', 66),
 19:         pair<char, int>('C', 67),
 20:         pair<char, int>('D', 68),
 21:         pair<char, int>('E', 69),
 22:         pair<char, int>('F', 70),
 23:         pair<char, int>('G', 71),
 24:         pair<char, int>('H', 72),
 25:         pair<char, int>('I', 73),
 26:         pair<char, int>('J', 74)
 27:     };
 28:     map<char, int> m1(a, a+3);
 29:     map<char, int> m2(a+3, a+10);

 31:     cout << "\nWe begin by creating two maps.";
 32:     cout << "\nPress Enter to continue ... ";  cin.ignore(80, '\n');

 34:     cout << "\nThe first map has size " << m1.size() << " and contains the "
 35:         "following pairs:\n";
 36:     map<char, int>::iterator p = m1.begin();
 37:     while (p != m1.end())
 38:     {
 39:         cout << p->first << " " << p->second << endl;
 40:         ++p;
 41:     }
 42:     cout << "Press Enter to continue ... ";  cin.ignore(80, '\n');

 44:     cout << "\nThe second map has size " << m2.size() << " and contains the "
 45:         "following pairs:\n";
 46:     p = m2.begin();
 47:     while (p != m2.end())
 48:     {
 49:         cout << p->first << " " << p->second << endl;
 50:         ++p;
 51:     }
 52:     cout << "Press Enter to continue ... ";  cin.ignore(80, '\n');

 54:     cout << "\nNow we swap the two maps using the swap() function "
 55:         "from the map interface.";
 56:     cout << "\nPress Enter to continue ... ";  cin.ignore(80, '\n');

 58:     m1.swap(m2);

 60:     cout << "\nAfter the swap the first map has size " << m1.size()
 61:         << " and contains the following pairs:\n";
 62:     p = m1.begin();
 63:     while (p != m1.end())
 64:     {
 65:         cout << p->first << " " << p->second << endl;
 66:         ++p;
 67:     }
 68:     cout << "Press Enter to continue ... ";  cin.ignore(80, '\n');

 70:     cout << "\nAnd the second map has size " << m2.size() << " and contains the "
 71:         "following pairs:\n";
 72:     p = m2.begin();
 73:     while (p != m2.end())
 74:     {
 75:         cout << p->first << " " << p->second << endl;
 76:         ++p;
 77:     }
 78:     cout << "Press Enter to continue ... ";  cin.ignore(80, '\n');
 79: }