[facet.ctype.char.virtuals]

# 28 Text processing library [[text]](./#text)

## 28.3 Localization library [[localization]](localization#facet.ctype.char.virtuals)

### 28.3.4 Standard locale categories [[locale.categories]](locale.categories#facet.ctype.char.virtuals)

#### 28.3.4.2 The ctype category [[category.ctype]](category.ctype#facet.ctype.char.virtuals)

#### 28.3.4.2.4 ctype<char> specialization [[facet.ctype.special]](facet.ctype.special#facet.ctype.char.virtuals)

#### 28.3.4.2.4.5 Virtual functions [facet.ctype.char.virtuals]

[ð](#lib:ctype%3cchar%3e,do_toupper)

char do_toupper(char) const;const char* do_toupper(char* low, const char* high) const;char do_tolower(char) const;const char* do_tolower(char* low, const char* high) const;

virtual char do_widen(char c) const;virtual const char* do_widen(const char* low, const char* high, char* to) const;virtual char do_narrow(char c, char dfault) const;virtual const char* do_narrow(const char* low, const char* high, char dfault, char* to) const;

[1](#1)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/text.tex#L1949)

These functions are described identically as those members of the same name
in the ctype class template ([[locale.ctype.members]](locale.ctype.members "28.3.4.2.2.2 ctype members"))[.](#1.sentence-1)
