20 Library introduction [library]

20.5 Library-wide requirements [requirements]

20.5.3 Requirements on types and expressions [utility.requirements]

20.5.3.5 Allocator requirements [allocator.requirements]

20.5.3.5.1 Allocator completeness requirements [allocator.requirements.completeness]

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> ([allocator.traits]) other than value_­type are complete types.