[locale.ctype.members]

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

## 28.3 Localization library [[localization]](localization#locale.ctype.members)

### 28.3.4 Standard locale categories [[locale.categories]](locale.categories#locale.ctype.members)

#### 28.3.4.2 The ctype category [[category.ctype]](category.ctype#locale.ctype.members)

#### 28.3.4.2.2 Class template ctype [[locale.ctype]](locale.ctype#members)

#### 28.3.4.2.2.2 ctype members [locale.ctype.members]

[ð](#lib:ctype,is)

`bool         is(mask m, charT c) const;
const charT* is(const charT* low, const charT* high, mask* vec) const;
`

[1](#1)

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

*Returns*: do_is(m, c) or do_is(low, high, vec)[.](#1.sentence-1)

[ð](#lib:ctype,scan_is)

`const charT* scan_is(mask m, const charT* low, const charT* high) const;
`

[2](#2)

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

*Returns*: do_scan_is(m, low, high)[.](#2.sentence-1)

[ð](#lib:ctype,scan_not)

`const charT* scan_not(mask m, const charT* low, const charT* high) const;
`

[3](#3)

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

*Returns*: do_scan_not(m, low, high)[.](#3.sentence-1)

[ð](#lib:ctype,toupper)

`charT        toupper(charT c) const;
const charT* toupper(charT* low, const charT* high) const;
`

[4](#4)

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

*Returns*: do_toupper(c) or do_toupper(low, high)[.](#4.sentence-1)

[ð](#lib:ctype,tolower)

`charT        tolower(charT c) const;
const charT* tolower(charT* low, const charT* high) const;
`

[5](#5)

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

*Returns*: do_tolower(c) or do_tolower(low, high)[.](#5.sentence-1)

[ð](#lib:ctype,widen)

`charT       widen(char c) const;
const char* widen(const char* low, const char* high, charT* to) const;
`

[6](#6)

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

*Returns*: do_widen(c) or do_widen(low, high, to)[.](#6.sentence-1)

[ð](#lib:ctype,narrow)

`char         narrow(charT c, char dfault) const;
const charT* narrow(const charT* low, const charT* high, char dfault, char* to) const;
`

[7](#7)

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

*Returns*: do_narrow(c, dfault) or do_narrow(low, high, dfault, to)[.](#7.sentence-1)
