Mark said:
Hmm, maybe I don't mean default STL allocator. My system appears to use
the SGI STL implementation and according to the SGI docs, their default
allocator is std::alloc. It hadn't occurred to me that this might be
distinct from the default STL allocator.
Well... My fault. We should agree on using the same terminology, then.
If you mean "the default *Standard* allocator", it's 'std::allocator'. If
you don't meant the *Standard* allocator, but instead mean some old, and
proprietary implementation of "Standard Template Library" (which, when was
incorporated into the Standard Library, lost the 'STL' designator), then I
can't help you, try talking to the proprietors of that implementation.
The standard header <memory> contains several things, and 'std::allocator'
template is one of them. Its implementation is not really governed by the
Standard, but its interface and some basic stuff is. The description of
them is in subclause 20.4 of the 1998 Standard (most likely the same in
the newest edition as well).
[...]
I looked into stl_alloc.h and there are comments such as, "We allocate
memory in large chunks in order to avoid fragmenting the malloc heap too
much." At the same time, I find these headers difficult to comprehend
so I'm not sure if this does what I think it does.
I wish I could help you with that...
V