xref: /dragonfly/lib/libc/locale/wctype.3 (revision cfd1aba3)
1.\" Copyright (c) 2002 Tim J. Robbins
2.\" All rights reserved.
3.\"
4.\" Redistribution and use in source and binary forms, with or without
5.\" modification, are permitted provided that the following conditions
6.\" are met:
7.\" 1. Redistributions of source code must retain the above copyright
8.\"    notice, this list of conditions and the following disclaimer.
9.\" 2. Redistributions in binary form must reproduce the above copyright
10.\"    notice, this list of conditions and the following disclaimer in the
11.\"    documentation and/or other materials provided with the distribution.
12.\"
13.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
14.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
17.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23.\" SUCH DAMAGE.
24.\"
25.\" $FreeBSD: head/lib/libc/locale/wctype.3 163314 2006-10-13 16:11:12Z ru $
26.\"
27.Dd March 27, 2004
28.Dt WCTYPE 3
29.Os
30.Sh NAME
31.Nm iswctype , wctype
32.Nd "wide character class functions"
33.Sh LIBRARY
34.Lb libc
35.Sh SYNOPSIS
36.In wctype.h
37.Ft int
38.Fn iswctype "wint_t wc" "wctype_t charclass"
39.Ft wctype_t
40.Fn wctype "const char *property"
41.Sh DESCRIPTION
42The
43.Fn wctype
44function returns a value of type
45.Vt wctype_t
46which represents the requested wide character class and
47may be used as the second argument for calls to
48.Fn iswctype .
49.Pp
50The following character class names are recognised:
51.Bl -column -offset indent ".Li alnum" ".Li cntrl" ".Li ideogram" ".Li print" ".Li space"
52.It Li "alnum	cntrl	ideogram	print	space	xdigit"
53.It Li "alpha	digit	lower	punct	special"
54.It Li "blank	graph	phonogram	rune	upper"
55.El
56.Pp
57The
58.Fn iswctype
59function checks whether the wide character
60.Fa wc
61is in the character class
62.Fa charclass .
63.Sh RETURN VALUES
64The
65.Fn iswctype
66function returns non-zero if and only if
67.Fa wc
68has the property described by
69.Fa charclass ,
70or
71.Fa charclass
72is zero.
73.Pp
74The
75.Fn wctype
76function returns 0 if
77.Fa property
78is invalid, otherwise it returns a value of type
79.Vt wctype_t
80that can be used in subsequent calls to
81.Fn iswctype .
82.Sh EXAMPLES
83Reimplement
84.Xr iswalpha 3
85in terms of
86.Fn iswctype
87and
88.Fn wctype :
89.Bd -literal -offset indent
90int
91myiswalpha(wint_t wc)
92{
93	return (iswctype(wc, wctype("alpha")));
94}
95.Ed
96.Sh SEE ALSO
97.Xr ctype 3 ,
98.Xr nextwctype 3
99.Sh STANDARDS
100The
101.Fn iswctype
102and
103.Fn wctype
104functions conform to
105.St -p1003.1-2001 .
106The
107.Dq Li ideogram ,
108.Dq Li phonogram ,
109.Dq Li special ,
110and
111.Dq Li rune
112character classes are extensions.
113.Sh HISTORY
114The
115.Fn iswctype
116and
117.Fn wctype
118functions first appeared in
119.Fx 5.0 .
120