template <class T, class Alloc> struct uses_allocator;
Remarks: Автоматически определяет, T есть ли вложенный allocator_type конвертируемый из Alloc. Отвечает BinaryTypeTrait требованиям. Реализация должна обеспечивать определение, производное от true_type того, qualified-id T::allocator_type является ли действительным и обозначает тип ([temp.deduct]), а в is_convertible_v<Alloc, T::allocator_type> != falseпротивном случае оно должно быть производным от false_type. Программа может специализировать этот шаблон, чтобы он производился от true_type определяемого пользователем типа T , который не имеет вложенного, allocator_type но, тем не менее, может быть создан с помощью распределителя, где либо:
первый аргумент конструктора имеет тип, allocator_arg_t а второй аргумент имеет тип Alloc или
последний аргумент конструктора имеет тип Alloc.