Учитывая: auto foo = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"s Я могу преобразовать все символы в строчные буквы:
use_facet<ctype<char>>(cout.getloc()).tolower(data(foo), next(data(foo), foo.size()));
Но это зависит от cout.getloc(), содержащего ctype<char> facet.
Предполагая, что я использую unmodified cout, могу предположить, что cout.getloc() будет содержать facet ctype<char> или мне нужно подтвердить это перед использованием с помощью
has_facet<ctype<char>>(cout.getloc())