28
Text processing library
[text]
28.3
Localization library
[localization]
28.3.4
Standard
locale
categories
[locale.categories]
28.3.4.2
The
ctype
category
[category.ctype]
28.3.4.2.4
ctype<char>
specialization
[facet.ctype.special]
28.3.4.2.4.1
General
[facet.ctype.special.general]
🔗
namespace
std
{
template
<
>
class
ctype
<
char
>
:
public
locale
::
facet,
public
ctype_base
{
public
:
using
char_type
=
char
;
explicit
ctype
(
const
mask
*
tab
=
nullptr
,
bool
del
=
false
, size_t refs
=
0
)
;
bool
is
(
mask m,
char
c
)
const
;
const
char
*
is
(
const
char
*
low,
const
char
*
high, mask
*
vec
)
const
;
const
char
*
scan_is
(
mask m,
const
char
*
low,
const
char
*
high
)
const
;
const
char
*
scan_not
(
mask m,
const
char
*
low,
const
char
*
high
)
const
;
char
toupper
(
char
c
)
const
;
const
char
*
toupper
(
char
*
low,
const
char
*
high
)
const
;
char
tolower
(
char
c
)
const
;
const
char
*
tolower
(
char
*
low,
const
char
*
high
)
const
;
char
widen
(
char
c
)
const
;
const
char
*
widen
(
const
char
*
low,
const
char
*
high,
char
*
to
)
const
;
char
narrow
(
char
c,
char
dfault
)
const
;
const
char
*
narrow
(
const
char
*
low,
const
char
*
high,
char
dfault,
char
*
to
)
const
;
static
locale
::
id id;
static
const
size_t table_size
=
implementation-defined
;
const
mask
*
table
(
)
const
noexcept
;
static
const
mask
*
classic_table
(
)
noexcept
;
protected
:
~
ctype
(
)
;
virtual
char
do_toupper
(
char
c
)
const
;
virtual
const
char
*
do_toupper
(
char
*
low,
const
char
*
high
)
const
;
virtual
char
do_tolower
(
char
c
)
const
;
virtual
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
#
A specialization
ctype
<
char
>
is provided so that the member functions on type
char
can be implemented inline
.
222
The
implementation-defined value of member
table_
size
is at least 256
.
222)
222)
Only the
char
(not
unsigned
char
and
signed
char
) form is provided
.
The specialization is specified in the standard, and not left as an implementation detail, because it affects the derivation interface for
ctype
<
char
>
.