set::max_size (STL Samples)

Illustrates how to use the set::max_size Standard Template Library (STL) function in Visual C++.

template<class _K, class _Pr, class _A> 
   class set 
   { 
      public: 
      // Function 1: 
      size_type max_size() const; 
   }

Remarks

Note

The class/parameter names in the prototype do not match the version in the header file. Some have been modified to improve readability.

The max_size function is used to determine the maximum number of elements the controlled sequence can contain.

Example

// SetMax_size.cpp
// compile with: /EHsc
//
//      Illustrates how to use the max_size function to determine how
//      many elements the controlled sequence can contain.
//
// Functions:
//
//    max_size     Returns the maximum number of elements the controlled
//                 sequence can contain.
//
//////////////////////////////////////////////////////////////////////
#pragma warning(disable:4786)
#include <set>
#include <iostream>
#include <assert.h>

using namespace std;
typedef set<int> SET_INT; 

int main()
{
   SET_INT s1;
   cout << "s1.max_size() returned ";
   cout << s1.max_size() << endl;   // 1073741823 [value may vary]

   for (unsigned int x = 0 ; (x < 1000 && x < s1.max_size()) ; x++)

   assert(s1.insert(x).second);
   cout << "s1.size() returned ";
   cout << s1.size() << endl;   // 1000
}

Sample Output

The following output is for x86.

s1.max_size() returned 1073741823
s1.size() returned 1000

Requirements

Header: <set>

See Also

Concepts

Standard Template Library Samples