An unsigned integral type that can represent the length of any sequence that an object of template class allocator can allocate.
typedef size_t size_type;
Example
// allocator_size_type.cpp
// compile with: /EHsc
#include <memory>
#include <iostream>
#include <vector>
using namespace std;
int main( )
{
   vector <double> v;
   vector <double> ::iterator vIter;
   vector <double> :: allocator_type vAlloc;
   int j;
   for ( j = 1 ; j <= 7 ; j++ )
   {
      v.push_back( 100.0 * j );
   }
   cout << "The original vector v is:\n ( " ;
   for ( vIter = v.begin( ) ; vIter != v.end( ) ; vIter++ )
      cout << *vIter << " ";
   cout << ")." << endl;
   allocator<double>::size_type vsize;
   vsize = vAlloc.max_size( );
   cout << "The number of doubles that can be allocated before\n"
        << " the free memory in the vector v is used up is: "
        << vsize << "." << endl;
}
Sample Output
The following output is for x86.
The original vector v is:
 ( 100 200 300 400 500 600 700 ).
The number of doubles that can be allocated before
 the free memory in the vector v is used up is: 536870911.
Requirements
Header: <memory>
Namespace: std