INFO: max_size Function
ID: Q158577
|
The information in this article applies to:
-
Microsoft Visual C++, 32-bit Editions, versions 4.2, 5.0, 6.0
SUMMARY
The following sample code illustrates how to use the set::max_size STL function in Visual C++.
MORE INFORMATION
Required Header
<set>
Prototype
template<class _K, class _Pr, class _A>
class set {
public:
// Function 1:
size_type max_size() const;
}
NOTE: The class/parameter names in the prototype may not match the version in the header file. Some have been modified to improve readability.
Description
The max_size function is used to determine the maximum number of elements
the controlled sequence can contain.
Sample Code
//////////////////////////////////////////////////////////////////////
//
// Compile options needed: -GX
//
// SetMax_size.cpp:
// 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.
//
// Written by Derek Jamison
// of Microsoft Technical Support,
// Copyright (c) 1996 Microsoft Corporation. All rights reserved.
//////////////////////////////////////////////////////////////////////
#pragma warning(disable:4786)
#include <set>
#include <iostream>
#include <assert.h>
#if _MSC_VER > 1020 // if VC++ version is > 4.2
using namespace std; // std c++ libs implemented in std
#endif
typedef set<int,less<int>,allocator<int> > SET_INT;
void main() {
SET_INT s1;
cout << "s1.max_size() returned ";
cout << s1.max_size() << endl; // 1073741823 [value may vary]
for (int x=0;(x<1000 && x<s1.max_size());x++)
assert(s1.insert(x).second);
cout << "s1.size() returned ";
cout << s1.size() << endl; // 1000
}
Program Output
s1.max_size() returned 1073741823
s1.size() returned 1000
REFERENCES
Visual C++ Books Online: Visual C++ Books; C/C++; Standard C++ Library
Reference
Additional query words:
STL STLSample max_size string
Keywords : kbcode kbVC420 kbVC500 kbVC600 kbDSupport STLIss
Version : winnt:4.2,5.0,6.0
Platform : winnt
Issue type : kbinfo