.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA)
.\" This is free documentation; you can redistribute it and/or
.\" modify it under the terms of the GNU General Public License as
.\" published by the Free Software Foundation; either version 2 of
.\" the License, or (at your option) any later version.
.\" %%%LICENSE_END
.\"
.\" References consulted:
.\"   GNU glibc-2 source code and manual
.\"   Dinkumware C library reference http://www.dinkumware.com/
.\"   OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
.\"   ISO/IEC 9899:1999
.\"
.TH ISWLOWER 3  2021-03-22 "GNU" "Linux Programmer's Manual"
.SH NAME
iswlower \- test for lowercase wide character
.SH SYNOPSIS
.nf
.B #include <wctype.h>
.PP
.BI "int iswlower(wint_t " wc );
.fi
.SH DESCRIPTION
The
.BR iswlower ()
function is the wide-character equivalent of the
.BR islower (3)
function.
It tests whether
.I wc
is a wide character
belonging to the wide-character class "lower".
.PP
The wide-character class "lower" is a subclass of the wide-character class
"alpha", and therefore also a subclass
of the wide-character class "alnum", of
the wide-character class "graph" and of the wide-character class "print".
.PP
Being a subclass of the wide-character class "print",
the wide-character class
"lower" is disjoint from the wide-character class "cntrl".
.PP
Being a subclass of the wide-character class "graph",
the wide-character class "lower" is disjoint from the
wide-character class "space" and its subclass "blank".
.PP
Being a subclass of the wide-character class "alnum",
the wide-character class
"lower" is disjoint from the wide-character class "punct".
.PP
Being a subclass of the wide-character class "alpha",
the wide-character class
"lower" is disjoint from the wide-character class "digit".
.PP
The wide-character class "lower" contains at least
those characters
.I wc
which are equal to
.I towlower(wc)
and different from
.IR towupper(wc) .
.PP
The wide-character class "lower" always contains
at least the letters \(aqa\(aq to \(aqz\(aq.
.SH RETURN VALUE
The
.BR iswlower ()
function returns nonzero
if
.I wc
is a wide character
belonging to the wide-character class "lower".
Otherwise, it returns zero.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.ad l
.nh
.TS
allbox;
lbx lb lb
l l l.
Interface	Attribute	Value
T{
.BR iswlower ()
T}	Thread safety	MT-Safe locale
.TE
.hy
.ad
.sp 1
.SH CONFORMING TO
POSIX.1-2001, POSIX.1-2008, C99.
.SH NOTES
The behavior of
.BR iswlower ()
depends on the
.B LC_CTYPE
category of the
current locale.
.PP
This function is not very appropriate for dealing with Unicode characters,
because Unicode knows about three cases: upper, lower, and title case.
.SH SEE ALSO
.BR islower (3),
.BR iswctype (3),
.BR towlower (3)
