Other allocators may be defined. Any class having the same members as this default allocator and following its minimum requirements can be used as an allocator with the standard containers.
Other allocators may be defined. Any class Alloc
for which allocator_traits<Alloc>
produces a valid instantiation with the appropriate members defined can be used as an allocator on standard containers (Alloc
may or may not implement the functionality through member functions).
Except for its destructor, no member of the standard default allocator
class template shall introduce data races. Calls to member functions that allocate or deallocate storage shall occur in a single total order, and each such deallocation shall happen before the next allocation (if any) in this order.