Std::string - оптимизация небольших строк и своп

Из N3290, [container.requirements.general]:

Выражение a.swap(b) для контейнеров a и b стандартного типа контейнера, отличного от array, должно обменивать значения a и b, не вызывая никаких операций перемещения, копирования или свопинга для отдельных элементов контейнера.

Как это взаимодействует с оптимизацией небольших строк? Забыли ли они добавить std::string?

Ответ 1

(Отмена от комментария)

std::string не является контейнером – тот факт, что basic_string не описан в главе Containers library (§23) FDIS, является хорошим ключом.; -]