allocator();
allocator(const allocator<T>);
The constructor does nothing. In general, however, an allocator object constructed from another allocator object should compare equal to it (and hence permit intermixing of object allocation and freeing between the two allocator objects).
In this implementation, if a translator does not support member template functions, the template constructor:
template<class U>
allocator(const allocator<U>);
is replaced by:
allocator(const allocator<T>);
which is the copy constructor.