localedef.1, access.2, ioctl_console.2, ioctl_fslabel.2, openat2.2, write.2, dlsym...
[man-pages.git] / man3 / iswupper.3
blobbc043043e0b904909eaebd317ebfad928cb82f7e
1 .\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
2 .\"
3 .\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA)
4 .\" This is free documentation; you can redistribute it and/or
5 .\" modify it under the terms of the GNU General Public License as
6 .\" published by the Free Software Foundation; either version 2 of
7 .\" the License, or (at your option) any later version.
8 .\" %%%LICENSE_END
9 .\"
10 .\" References consulted:
11 .\"   GNU glibc-2 source code and manual
12 .\"   Dinkumware C library reference http://www.dinkumware.com/
13 .\"   OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
14 .\"   ISO/IEC 9899:1999
15 .\"
16 .TH ISWUPPER 3  2021-03-22 "GNU" "Linux Programmer's Manual"
17 .SH NAME
18 iswupper \- test for uppercase wide character
19 .SH SYNOPSIS
20 .nf
21 .B #include <wctype.h>
22 .PP
23 .BI "int iswupper(wint_t " wc );
24 .fi
25 .SH DESCRIPTION
26 The
27 .BR iswupper ()
28 function is the wide-character equivalent of the
29 .BR isupper (3)
30 function.
31 It tests whether
32 .I wc
33 is a wide character
34 belonging to the wide-character class "upper".
35 .PP
36 The wide-character class "upper" is a subclass of the wide-character class
37 "alpha", and therefore also a subclass of the wide-character class "alnum", of
38 the wide-character class "graph" and of the wide-character class "print".
39 .PP
40 Being a subclass of the wide-character class "print", the wide-character class
41 "upper" is disjoint from the wide-character class "cntrl".
42 .PP
43 Being a subclass of the wide-character class "graph", the wide-character class
44 "upper" is disjoint from the wide-character class "space" and its subclass
45 "blank".
46 .PP
47 Being a subclass of the wide-character class "alnum", the wide-character class
48 "upper" is disjoint from the wide-character class "punct".
49 .PP
50 Being a subclass of the wide-character class "alpha", the wide-character class
51 "upper" is disjoint from the wide-character class "digit".
52 .PP
53 The wide-character class "upper" contains at least those characters
54 .I wc
55 which are equal to
56 .I towupper(wc)
57 and different from
58 .IR towlower(wc) .
59 .PP
60 The wide-character class "upper" always contains at least the
61 letters \(aqA\(aq to \(aqZ\(aq.
62 .SH RETURN VALUE
63 The
64 .BR iswupper ()
65 function returns nonzero if
66 .I wc
67 is a wide character
68 belonging to the wide-character class "upper".
69 Otherwise, it returns zero.
70 .SH ATTRIBUTES
71 For an explanation of the terms used in this section, see
72 .BR attributes (7).
73 .ad l
74 .nh
75 .TS
76 allbox;
77 lbx lb lb
78 l l l.
79 Interface       Attribute       Value
81 .BR iswupper ()
82 T}      Thread safety   MT-Safe locale
83 .TE
84 .hy
85 .ad
86 .sp 1
87 .SH CONFORMING TO
88 POSIX.1-2001, POSIX.1-2008, C99.
89 .SH NOTES
90 The behavior of
91 .BR iswupper ()
92 depends on the
93 .B LC_CTYPE
94 category of the
95 current locale.
96 .PP
97 This function is not very appropriate for dealing with Unicode characters,
98 because Unicode knows about three cases: upper, lower, and title case.
99 .SH SEE ALSO
100 .BR isupper (3),
101 .BR iswctype (3),
102 .BR towupper (3)