Подпункты Требования могут описывать имена, которые используются для определения ограничений для аргументов шаблона.160 Эти имена используются в разделах библиотеки для описания типов, которые могут быть предоставлены в качестве аргументов программой C ++ при создании экземпляров компонентов шаблона из библиотеки.
Некоторые типы, определенные в разделе [input.output] , используются для описания типов, определяемых реализацией. Они основаны на других типах, но с дополнительными ограничениями.
Примеры из [utility.requirements] включают в себя: EqualityComparable, LessThanComparable, CopyConstructible. Примеры [iterator.requirements] включают: InputIterator, ForwardIterator.