Possibly stupid question... malloc_allocator is defined in namespace __gnu_cxx, but it makes use of the names size_t, ptrdiff_t, malloc, and free, without qualification. How can this be right? Shouldn't they be std-qualified? --Matt