1/*
2Copyright (c) 1989 The Regents of the University of California.
3All rights reserved.
4
5Redistribution and use in source and binary forms, with or without
6modification, are permitted provided that the following conditions
7are met:
81. Redistributions of source code must retain the above copyright
9notice, this list of conditions and the following disclaimer.
102. Redistributions in binary form must reproduce the above copyright
11notice, this list of conditions and the following disclaimer in the
12documentation and/or other materials provided with the distribution.
133. Neither the name of the University nor the names of its contributors
14may be used to endorse or promote products derived from this software
15without specific prior written permission.
16
17THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
18ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
21FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
23OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
24HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
25LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
26OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
27SUCH DAMAGE.
28 */
29@node Ctype
30@chapter Character Type Macros and Functions (@file{ctype.h})
31This chapter groups macros (which are also available as subroutines)
32to classify characters into several categories (alphabetic,
33numeric, control characters, whitespace, and so on), or to perform
34simple character mappings.
35
36The header file @file{ctype.h} defines the macros.
37@menu
38* isalnum::   Alphanumeric character predicate (isalnum, isalnum_l)
39* isalpha::   Alphabetic character predicate (isalpha, isalpha_l)
40* isascii::   ASCII character predicate (isascii, isascii_l)
41* isblank::   Blank character predicate (isblank, isblank_l)
42* iscntrl::   Control character predicate (iscntrl, iscntrl_l)
43* isdigit::   Decimal digit predicate (isdigit, isdigit_l)
44* islower::   Lowercase character predicate (islower, islower_l)
45* isprint::   Printable character predicates (isprint, isprint_l. isgraph, isgraph_l)
46* ispunct::   Punctuation character predicate (ispunct, ispunct_l)
47* isspace::   Whitespace character predicate (isspace, isspace_l)
48* isupper::   Uppercase character predicate (isupper, isupper_l)
49* isxdigit::  Hexadecimal digit predicate (isxdigit, isxdigit_l)
50* toascii::   Force integers to ASCII range (toascii, toascii_l)
51* tolower::   Translate characters to lowercase (tolower, tolower_l)
52* toupper::   Translate characters to uppercase (toupper, toupper_l)
53* iswalnum::  Alphanumeric wide character predicate (iswalnum, iswalnum_l)
54* iswalpha::  Alphabetic wide character predicate (iswalpha, iswalpha_l)
55* iswblank::  Blank wide character predicate (iswblank, iswblank_l)
56* iswcntrl::  Control wide character predicate (iswcntrl, iswcntrl_l)
57* iswdigit::  Decimal digit wide character predicate (iswdigit, iswdigit_l)
58* iswgraph::  Graphic wide character predicate (iswgraph, iswgraph_l)
59* iswlower::  Lowercase wide character predicate (iswlower, iswlower_l)
60* iswprint::  Printable wide character predicate (iswprint, iswprint_l)
61* iswpunct::  Punctuation wide character predicate (iswpunct, iswpunct_l)
62* iswspace::  Whitespace wide character predicate (iswspace, iswspace_l)
63* iswupper::  Uppercase wide character predicate (iswupper, iswupper_l)
64* iswxdigit:: Hexadecimal digit wide character predicate (iswxdigit, iswxdigit_l)
65* iswctype::  Extensible wide-character test (iswctype, iswctype_l)
66* wctype::    Compute wide-character test type (wctype, wctype_l)
67* towlower::  Translate wide characters to lowercase (towlower, towlower_l)
68* towupper::  Translate wide characters to uppercase (towupper, towupper_l)
69* towctrans:: Extensible wide-character translation (towctrans, towctrans_l)
70* wctrans::   Compute wide-character translation type (wctrans, wctrans_l)
71@end menu
72
73@page
74@include ctype/isalnum.def
75
76@page
77@include ctype/isalpha.def
78
79@page
80@include ctype/isascii.def
81
82@page
83@include ctype/isblank.def
84
85@page
86@include ctype/iscntrl.def
87
88@page
89@include ctype/isdigit.def
90
91@page
92@include ctype/islower.def
93
94@page
95@include ctype/isprint.def
96
97@page
98@include ctype/ispunct.def
99
100@page
101@include ctype/isspace.def
102
103@page
104@include ctype/isupper.def
105
106@page
107@include ctype/isxdigit.def
108
109@page
110@include ctype/toascii.def
111
112@page
113@include ctype/tolower.def
114
115@page
116@include ctype/toupper.def
117
118@page
119@include ctype/iswalnum.def
120
121@page
122@include ctype/iswalpha.def
123
124@page
125@include ctype/iswcntrl.def
126
127@page
128@include ctype/iswblank.def
129
130@page
131@include ctype/iswdigit.def
132
133@page
134@include ctype/iswgraph.def
135
136@page
137@include ctype/iswlower.def
138
139@page
140@include ctype/iswprint.def
141
142@page
143@include ctype/iswpunct.def
144
145@page
146@include ctype/iswspace.def
147
148@page
149@include ctype/iswupper.def
150
151@page
152@include ctype/iswxdigit.def
153
154@page
155@include ctype/iswctype.def
156
157@page
158@include ctype/wctype.def
159
160@page
161@include ctype/towlower.def
162
163@page
164@include ctype/towupper.def
165
166@page
167@include ctype/towctrans.def
168
169@page
170@include ctype/wctrans.def
171
172