using char_class_type = bitmask_type;
static size_t length(const char_type* p);
charT translate(charT c) const;
charT translate_nocase(charT c) const;
template<class ForwardIterator>
  string_type transform(ForwardIterator first, ForwardIterator last) const;
template<class ForwardIterator>
  string_type transform_primary(ForwardIterator first, ForwardIterator last) const;
template<class ForwardIterator>
  string_type lookup_collatename(ForwardIterator first, ForwardIterator last) const;
template<class ForwardIterator>
  char_class_type lookup_classname(
    ForwardIterator first, ForwardIterator last, bool icase = false) const;
bool isctype(charT c, char_class_type f) const;
int value(charT ch, int radix) const;
locale_type imbue(locale_type loc);
locale_type getloc() const;
| Narrow character name | Wide character name | Corresponding ctype_base::mask value | 
| "alnum" | L"alnum" | ctype_base::alnum | 
| "alpha" | L"alpha" | ctype_base::alpha | 
| "blank" | L"blank" | ctype_base::blank | 
| "cntrl" | L"cntrl" | ctype_base::cntrl | 
| "digit" | L"digit" | ctype_base::digit | 
| "d" | L"d" | ctype_base::digit | 
| "graph" | L"graph" | ctype_base::graph | 
| "lower" | L"lower" | ctype_base::lower | 
| "print" | L"print" | ctype_base::print | 
| "punct" | L"punct" | ctype_base::punct | 
| "space" | L"space" | ctype_base::space | 
| "s" | L"s" | ctype_base::space | 
| "upper" | L"upper" | ctype_base::upper | 
| "w" | L"w" | ctype_base::alnum | 
| "xdigit" | L"xdigit" | ctype_base::xdigit |