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>