std::iswupper(3)

πŸ“¦ version 2024.07.05, in nixpkgs unstable, opensuse-leap 16.0

🌸 std::iswupper(3) β€” C++ Standard Library 🌸

okay bestie, gather round 🫢 this is the manual page for std::iswupper(3) from the C++ Standard Library. It's lowkey a tiny function with main character energy: it checks whether a wide character is an uppercase letter. Let's get into it ✨


✨ NAME ✨

std::iswupper β€” std::iswupper. That's the whole name, iconic and to the point πŸ‘‘.


✨ Synopsis ✨

Defined in header <cwctype>
int iswupper( std::wint_t ch );

Checks if the given wide character is an uppercase letter, i.e. one of ABCDEFGHIJKLMNOPQRSTUVWXYZ or any uppercase letter specific to the current locale. No cap. πŸ¦‹

If the value of ch is neither representable as a wchar_t nor equal to the value of the macro WEOF, the behavior is undefined. That's the danger zone, bestie β€” do not pass weird values and expect cute results πŸ’€.

🌸 Parameters 🌸

  • ch β€” wide character πŸ“

πŸ’– Return value πŸ’–

Non-zero value if the wide character is an uppercase letter, zero otherwise. That's it. Binary queen. πŸ‘‘


🧚 Notes 🧚

ISO 30112 specifies which Unicode characters are included in the POSIX upper category. iykyk 🌈


✨ Example ✨

okay so run this code, it's giving locale reveal:

// Run this code

#include <clocale>
#include <cwctype>
#include <iostream>

int main()
{
    const wchar_t c = L'\u053d'; // Armenian capital letter xeh ('Τ½')

    std::cout << std::hex << std::showbase << std::boolalpha;
    std::cout << "in the default locale, iswupper("
              << static_cast<std::wint_t>(c) << ") = "
              << static_cast<bool>(std::iswupper(c)) << '\n';

    std::setlocale(LC_ALL, "en_US.utf8");
    std::cout << "in Unicode locale, iswupper("
              << static_cast<std::wint_t>(c) << ") = "
              << static_cast<bool>(std::iswupper(c)) << '\n';
}

πŸ“ Output πŸ“

in the default locale, iswupper(0x53d) = false
in Unicode locale, iswupper(0x53d) = true

πŸ”₯ See also πŸ”₯

  • isupper(std::locale) β€” checks if a character is classified as uppercase by a locale (function template) 🌸
  • isupper β€” checks if a character is an uppercase character (function) πŸŽ€
  • C documentation for iswupper β€” yes, the C version has its own lore πŸ¦‹

and here's the full ASCII values chart, because we don't skip details in this house πŸ’…:

               ASCII values            characters    iscntrl  isprint  isspace
       isblank  isgraph  ispunct  isalnum  isalpha  isupper  islower  isdigit
       isxdigit decimal hexadecimal   octal                   iswcntrl iswprint
       iswspace iswblank iswgraph iswpunct iswalnum iswalpha iswupper iswlower
       iswdigit iswxdigit 0–8     \x0–\x8     \0–\10    control codes   β‰ 0
       0        0        0        0        0        0        0        0
       0        0        0
                                     (NUL, etc.)  9       \x9         \11
       tab (\t)        β‰ 0       0        β‰ 0       β‰ 0       0        0        0
       0        0        0        0        0
                                     whitespaces 10–13   \xA–\xD     \12–\15
       (\n, \v, \f,    β‰ 0       0        β‰ 0       0        0        0        0
       0        0        0        0        0
                                     \r) 14–31   \xE–\x1F    \16–\37   control
       codes   β‰ 0       0        0        0        0        0        0        0
       0        0        0        0 32      \x20        \40       space
       0        β‰ 0       β‰ 0       β‰ 0       0        0        0        0
       0        0        0        0 33–47   \x21–\x2F   \41–\57
       !"#$%&'()*+,-./ 0        β‰ 0       0        0        β‰ 0       β‰ 0       0
       0        0        0        0        0 48–57   \x30–\x39   \60–\71
       0123456789      0        β‰ 0       0        0        β‰ 0       0        β‰ 0
       0        0        0        β‰ 0       β‰ 0 58–64   \x3A–\x40   \72–\100
       :;<=>?@         0        β‰ 0       0        0        β‰ 0       β‰ 0       0
       0        0        0        0        0 65–70   \x41–\x46   \101–\106
       ABCDEF          0        β‰ 0       0        0        β‰ 0       0        β‰ 0
       β‰ 0       β‰ 0       0        0        β‰ 0 71–90   \x47–\x5A   \107–\132
       GHIJKLMNOP      0        β‰ 0       0        0        β‰ 0       0        β‰ 0
       β‰ 0       β‰ 0       0        0        0
                                     QRSTUVWXYZ 91–96   \x5B–\x60   \133–\140
       [\]^_`          0        β‰ 0       0        0        β‰ 0       β‰ 0       0
       0        0        0        0        0 97–102  \x61–\x66   \141–\146
       abcdef          0        β‰ 0       0        0        β‰ 0       0        β‰ 0
       β‰ 0       0        β‰ 0       0        β‰ 0 103–122 \x67–\x7A   \147–\172
       ghijklmnop      0        β‰ 0       0        0        β‰ 0       0        β‰ 0
       β‰ 0       0        β‰ 0       0        0
                                     qrstuvwxyz 123–126 \x7B–\x7E   \172–\176
       {|}~            0        β‰ 0       0        0        β‰ 0       β‰ 0       0
       0        0        0        0        0 127     \x7F        \177
       backspace       β‰ 0       0        0        0        0        0        0
       0        0        0        0        0
                                     character (DEL)

source/version: http://cppreference.com Β· date: 2024.06.10 Β· page: std::iswupper(3) β€” stay iconic, bestie πŸ’–πŸŽ€

πŸ“¦ where this page comes from