If X is an allocator class for type T, X additionally satisfies the allocator completeness requirements if, whether or not T is a complete type:
X is a complete type, and
all the member types of allocator_traits<X> other than value_type are complete types.