function template
<locale>

std::isupper

template <class charT> bool isupper (charT c, const locale& loc);
Check if character is an uppercase letter using locale
Checks whether c is a uppercase letter using the ctype facet of locale loc, returning the same as if ctype::is is called as:

1
use_facet < ctype<charT> > (loc).is (ctype_base::upper, c)

This function template overloads the C function isupper (defined in <cctype>).

Parameters

c
Character to be checked.
loc
Locale to be used. It shall have a ctype facet.

The template argument charT is the character type.

Return Value

true if indeed c is a uppercase letter.
false otherwise.

Example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// isupper example (C++) #include <iostream> // std::cout #include <string> // std::string #include <locale> // std::locale, std::isupper, std::tolower int main () { std::locale loc; std::string str="Test String.\n"; char c; for (std::string::size_type i=0; i<str.length(); ++i) { c=str[i]; if (std::isupper(c,loc)) c=std::tolower(c,loc); std::cout << c; } return 0; }

Output:
test string. 


Data races

Both loc and its ctype facet are accessed.

Exception safety

Strong guarantee: if an exception is thrown, there are no effects.

See also