Source of set03.cpp


  1: //set03.cpp

  3: #include <iostream>
  4: #include <iomanip>
  5: #include <set>
  6: using namespace std;

  8: int main()
  9: {
 10:     cout << "\nHere are the maximum sizes of several sets "
 11:         "of different component types:\n\n";

 13:     set<int> s1;
 14:     set<double> s2;
 15:     set<char> s3;
 16:     set<string> s4;

 18:     //Just something that takes up a lot of space
 19:     struct BigThing
 20:     {
 21:         double first[10000];
 22:         double second[1000000];
 23:     };
 24:     set<BigThing> s5;
 25:     //Interstingly, we can declare a set of BigThing and ask for its
 26:     //maximum size, even though operator< is not defined for BigThing.

 28:     cout << "Maximum size of a set<int> .........."
 29:         << setw(11) << s1.max_size() << "\n"

 31:         << "Maximum size of a set<double> ......."
 32:         << setw(11) << s2.max_size() << "\n"

 34:         << "Maximum size of a set<char> ........."
 35:         << setw(11) << s3.max_size() << "\n"

 37:         << "Maximum size of a set<string> ......."
 38:         << setw(11) << s4.max_size() << "\n"

 40:         << "Maximum size of a set<BigThing> ....."
 41:         << setw(11) << s5.max_size() << "\n\n";

 43:     cout << "Press Enter to continue ... ";  cin.ignore(80, '\n');
 44: }