25 Localization library [localization]

25.3 Locales [locales]

25.3.3 Convenience interfaces [locale.convenience]

25.3.3.1 Character classification [classification]

template <class charT> bool isspace (charT c, const locale& loc); template <class charT> bool isprint (charT c, const locale& loc); template <class charT> bool iscntrl (charT c, const locale& loc); template <class charT> bool isupper (charT c, const locale& loc); template <class charT> bool islower (charT c, const locale& loc); template <class charT> bool isalpha (charT c, const locale& loc); template <class charT> bool isdigit (charT c, const locale& loc); template <class charT> bool ispunct (charT c, const locale& loc); template <class charT> bool isxdigit(charT c, const locale& loc); template <class charT> bool isalnum (charT c, const locale& loc); template <class charT> bool isgraph (charT c, const locale& loc); template <class charT> bool isblank (charT c, const locale& loc);

Каждая из этих функций isF возвращает результат выражения:

use_facet<ctype<charT>>(loc).is(ctype_base::F, c)

где F - ctype_­base​::​mask значение, соответствующее этой функции ([category.ctype]).232

При использовании в цикле быстрее кэшировать ctype<> фасет и использовать его напрямую или использовать векторную форму ctype<>​::​is.