QtBase  v6.3.1
qchar.h
Go to the documentation of this file.
1 /****************************************************************************
2 **
3 ** Copyright (C) 2020 The Qt Company Ltd.
4 ** Contact: https://www.qt.io/licensing/
5 **
6 ** This file is part of the QtCore module of the Qt Toolkit.
7 **
8 ** $QT_BEGIN_LICENSE:LGPL$
9 ** Commercial License Usage
10 ** Licensees holding valid commercial Qt licenses may use this file in
11 ** accordance with the commercial license agreement provided with the
12 ** Software or, alternatively, in accordance with the terms contained in
13 ** a written agreement between you and The Qt Company. For licensing terms
14 ** and conditions see https://www.qt.io/terms-conditions. For further
15 ** information use the contact form at https://www.qt.io/contact-us.
16 **
17 ** GNU Lesser General Public License Usage
18 ** Alternatively, this file may be used under the terms of the GNU Lesser
19 ** General Public License version 3 as published by the Free Software
20 ** Foundation and appearing in the file LICENSE.LGPL3 included in the
21 ** packaging of this file. Please review the following information to
22 ** ensure the GNU Lesser General Public License version 3 requirements
23 ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
24 **
25 ** GNU General Public License Usage
26 ** Alternatively, this file may be used under the terms of the GNU
27 ** General Public License version 2.0 or (at your option) the GNU General
28 ** Public license version 3 or any later version approved by the KDE Free
29 ** Qt Foundation. The licenses are as published by the Free Software
30 ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
31 ** included in the packaging of this file. Please review the following
32 ** information to ensure the GNU General Public License requirements will
33 ** be met: https://www.gnu.org/licenses/gpl-2.0.html and
34 ** https://www.gnu.org/licenses/gpl-3.0.html.
35 **
36 ** $QT_END_LICENSE$
37 **
38 ****************************************************************************/
39 
40 #ifndef QCHAR_H
41 #define QCHAR_H
42 
43 #include <QtCore/qglobal.h>
44 
45 #include <functional> // for std::hash
46 
48 
49 
50 class QString;
51 
53 {
54 public:
55  constexpr inline explicit QLatin1Char(char c) noexcept : ch(c) {}
56  constexpr inline char toLatin1() const noexcept { return ch; }
57  constexpr inline char16_t unicode() const noexcept { return char16_t(uchar(ch)); }
58 
59  friend constexpr inline bool operator==(QLatin1Char lhs, QLatin1Char rhs) noexcept { return lhs.ch == rhs.ch; }
60  friend constexpr inline bool operator!=(QLatin1Char lhs, QLatin1Char rhs) noexcept { return lhs.ch != rhs.ch; }
61  friend constexpr inline bool operator<=(QLatin1Char lhs, QLatin1Char rhs) noexcept { return lhs.ch <= rhs.ch; }
62  friend constexpr inline bool operator>=(QLatin1Char lhs, QLatin1Char rhs) noexcept { return lhs.ch >= rhs.ch; }
63  friend constexpr inline bool operator< (QLatin1Char lhs, QLatin1Char rhs) noexcept { return lhs.ch < rhs.ch; }
64  friend constexpr inline bool operator> (QLatin1Char lhs, QLatin1Char rhs) noexcept { return lhs.ch > rhs.ch; }
65 
66  friend constexpr inline bool operator==(char lhs, QLatin1Char rhs) noexcept { return lhs == rhs.toLatin1(); }
67  friend constexpr inline bool operator!=(char lhs, QLatin1Char rhs) noexcept { return lhs != rhs.toLatin1(); }
68  friend constexpr inline bool operator<=(char lhs, QLatin1Char rhs) noexcept { return lhs <= rhs.toLatin1(); }
69  friend constexpr inline bool operator>=(char lhs, QLatin1Char rhs) noexcept { return lhs >= rhs.toLatin1(); }
70  friend constexpr inline bool operator< (char lhs, QLatin1Char rhs) noexcept { return lhs < rhs.toLatin1(); }
71  friend constexpr inline bool operator> (char lhs, QLatin1Char rhs) noexcept { return lhs > rhs.toLatin1(); }
72 
73  friend constexpr inline bool operator==(QLatin1Char lhs, char rhs) noexcept { return lhs.toLatin1() == rhs; }
74  friend constexpr inline bool operator!=(QLatin1Char lhs, char rhs) noexcept { return lhs.toLatin1() != rhs; }
75  friend constexpr inline bool operator<=(QLatin1Char lhs, char rhs) noexcept { return lhs.toLatin1() <= rhs; }
76  friend constexpr inline bool operator>=(QLatin1Char lhs, char rhs) noexcept { return lhs.toLatin1() >= rhs; }
77  friend constexpr inline bool operator< (QLatin1Char lhs, char rhs) noexcept { return lhs.toLatin1() < rhs; }
78  friend constexpr inline bool operator> (QLatin1Char lhs, char rhs) noexcept { return lhs.toLatin1() > rhs; }
79 
80 private:
81  char ch;
82 };
83 
84 class Q_CORE_EXPORT QChar {
85 public:
87  Null = 0x0000,
88  Tabulation = 0x0009,
89  LineFeed = 0x000a,
90  FormFeed = 0x000c,
91  CarriageReturn = 0x000d,
92  Space = 0x0020,
93  Nbsp = 0x00a0,
94  SoftHyphen = 0x00ad,
95  ReplacementCharacter = 0xfffd,
96  ObjectReplacementCharacter = 0xfffc,
97  ByteOrderMark = 0xfeff,
98  ByteOrderSwapped = 0xfffe,
99  ParagraphSeparator = 0x2029,
100  LineSeparator = 0x2028,
101  VisualTabCharacter = 0x2192,
102  LastValidCodePoint = 0x10ffff
103  };
104 
105 #ifdef QT_IMPLICIT_QCHAR_CONSTRUCTION
106 #define QCHAR_MAYBE_IMPLICIT Q_IMPLICIT
107 #else
108 #define QCHAR_MAYBE_IMPLICIT explicit
109 #endif
110 
111  constexpr Q_IMPLICIT QChar() noexcept : ucs(0) {}
112  constexpr Q_IMPLICIT QChar(ushort rc) noexcept : ucs(rc) {}
113  constexpr QCHAR_MAYBE_IMPLICIT QChar(uchar c, uchar r) noexcept : ucs(char16_t((r << 8) | c)) {}
114  constexpr Q_IMPLICIT QChar(short rc) noexcept : ucs(char16_t(rc)) {}
115  constexpr QCHAR_MAYBE_IMPLICIT QChar(uint rc) noexcept : ucs((Q_ASSERT(rc <= 0xffff), char16_t(rc))) {}
116  constexpr QCHAR_MAYBE_IMPLICIT QChar(int rc) noexcept : QChar(uint(rc)) {}
117  constexpr Q_IMPLICIT QChar(SpecialCharacter s) noexcept : ucs(char16_t(s)) {}
118  constexpr Q_IMPLICIT QChar(QLatin1Char ch) noexcept : ucs(ch.unicode()) {}
119  constexpr Q_IMPLICIT QChar(char16_t ch) noexcept : ucs(ch) {}
120 #if defined(Q_OS_WIN) || defined(Q_CLANG_QDOC)
121  constexpr Q_IMPLICIT QChar(wchar_t ch) noexcept : ucs(char16_t(ch)) {}
122 #endif
123 
124 #ifndef QT_NO_CAST_FROM_ASCII
125  // Always implicit -- allow for 'x' => QChar conversions
126  QT_ASCII_CAST_WARN constexpr Q_IMPLICIT QChar(char c) noexcept : ucs(uchar(c)) { }
127 #ifndef QT_RESTRICTED_CAST_FROM_ASCII
128  QT_ASCII_CAST_WARN constexpr QCHAR_MAYBE_IMPLICIT QChar(uchar c) noexcept : ucs(c) { }
129 #endif
130 #endif
131 
132 #undef QCHAR_MAYBE_IMPLICIT
133 
134  static constexpr QChar fromUcs2(char16_t c) noexcept { return QChar{c}; }
135  static constexpr inline auto fromUcs4(char32_t c) noexcept;
136 
137  // Unicode information
138 
139  enum Category
140  {
144 
148 
152 
158 
164 
172 
173  Symbol_Math, // Sm
176  Symbol_Other // So
177  };
178 
179  enum Script
180  {
184 
229 
230  // Unicode 4.0 additions
239 
240  // Unicode 4.1 additions
248 
249  // Unicode 5.0 additions
255 
256  // Unicode 5.1 additions
268 
269  // Unicode 5.2 additions
285 
286  // Unicode 6.0 additions
290 
291  // Unicode 6.1 additions
299 
300  // Unicode 7.0 additions
324 
325  // Unicode 8.0 additions
332 
333  // Unicode 9.0 additions
340 
341  // Unicode 10.0 additions
346 
347  // Unicode 12.1 additions
359 
360  // Unicode 13.0 additions
365 
366  // Unicode 14.0 additions
372 
373  ScriptCount
374  };
375 
377  {
381  };
382 
384  {
402  Fraction
403  };
404 
405  enum JoiningType {
412  };
413 
415  {
416  Combining_BelowLeftAttached = 200,
417  Combining_BelowAttached = 202,
418  Combining_BelowRightAttached = 204,
419  Combining_LeftAttached = 208,
420  Combining_RightAttached = 210,
421  Combining_AboveLeftAttached = 212,
422  Combining_AboveAttached = 214,
423  Combining_AboveRightAttached = 216,
424 
425  Combining_BelowLeft = 218,
426  Combining_Below = 220,
427  Combining_BelowRight = 222,
428  Combining_Left = 224,
429  Combining_Right = 226,
430  Combining_AboveLeft = 228,
431  Combining_Above = 230,
432  Combining_AboveRight = 232,
433 
434  Combining_DoubleBelow = 233,
435  Combining_DoubleAbove = 234,
436  Combining_IotaSubscript = 240
437  };
438 
464  Unicode_14_0
465  };
466 
467  inline Category category() const noexcept { return QChar::category(ucs); }
468  inline Direction direction() const noexcept { return QChar::direction(ucs); }
469  inline JoiningType joiningType() const noexcept { return QChar::joiningType(ucs); }
470  inline unsigned char combiningClass() const noexcept { return QChar::combiningClass(ucs); }
471 
472  inline QChar mirroredChar() const noexcept { return QChar(QChar::mirroredChar(ucs)); }
473  inline bool hasMirrored() const noexcept { return QChar::hasMirrored(ucs); }
474 
475  QString decomposition() const;
476  inline Decomposition decompositionTag() const noexcept { return QChar::decompositionTag(ucs); }
477 
478  inline int digitValue() const noexcept { return QChar::digitValue(ucs); }
479  inline QChar toLower() const noexcept { return QChar(QChar::toLower(ucs)); }
480  inline QChar toUpper() const noexcept { return QChar(QChar::toUpper(ucs)); }
481  inline QChar toTitleCase() const noexcept { return QChar(QChar::toTitleCase(ucs)); }
482  inline QChar toCaseFolded() const noexcept { return QChar(QChar::toCaseFolded(ucs)); }
483 
484  inline Script script() const noexcept { return QChar::script(ucs); }
485 
486  inline UnicodeVersion unicodeVersion() const noexcept { return QChar::unicodeVersion(ucs); }
487 
488  constexpr inline char toLatin1() const noexcept { return ucs > 0xff ? '\0' : char(ucs); }
489  constexpr inline char16_t unicode() const noexcept { return ucs; }
490  constexpr inline char16_t &unicode() noexcept { return ucs; }
491 
492  static constexpr QChar fromLatin1(char c) noexcept { return QLatin1Char(c); }
493 
494  constexpr inline bool isNull() const noexcept { return ucs == 0; }
495 
496  inline bool isPrint() const noexcept { return QChar::isPrint(ucs); }
497  constexpr inline bool isSpace() const noexcept { return QChar::isSpace(ucs); }
498  inline bool isMark() const noexcept { return QChar::isMark(ucs); }
499  inline bool isPunct() const noexcept { return QChar::isPunct(ucs); }
500  inline bool isSymbol() const noexcept { return QChar::isSymbol(ucs); }
501  constexpr inline bool isLetter() const noexcept { return QChar::isLetter(ucs); }
502  constexpr inline bool isNumber() const noexcept { return QChar::isNumber(ucs); }
503  constexpr inline bool isLetterOrNumber() const noexcept { return QChar::isLetterOrNumber(ucs); }
504  constexpr inline bool isDigit() const noexcept { return QChar::isDigit(ucs); }
505  constexpr inline bool isLower() const noexcept { return QChar::isLower(ucs); }
506  constexpr inline bool isUpper() const noexcept { return QChar::isUpper(ucs); }
507  constexpr inline bool isTitleCase() const noexcept { return QChar::isTitleCase(ucs); }
508 
509  constexpr inline bool isNonCharacter() const noexcept { return QChar::isNonCharacter(ucs); }
510  constexpr inline bool isHighSurrogate() const noexcept { return QChar::isHighSurrogate(ucs); }
511  constexpr inline bool isLowSurrogate() const noexcept { return QChar::isLowSurrogate(ucs); }
512  constexpr inline bool isSurrogate() const noexcept { return QChar::isSurrogate(ucs); }
513 
514  constexpr inline uchar cell() const noexcept { return uchar(ucs & 0xff); }
515  constexpr inline uchar row() const noexcept { return uchar((ucs>>8)&0xff); }
516  constexpr inline void setCell(uchar acell) noexcept { ucs = char16_t((ucs & 0xff00) + acell); }
517  constexpr inline void setRow(uchar arow) noexcept { ucs = char16_t((char16_t(arow)<<8) + (ucs&0xff)); }
518 
519  static constexpr inline bool isNonCharacter(char32_t ucs4) noexcept
520  {
521  return ucs4 >= 0xfdd0 && (ucs4 <= 0xfdef || (ucs4 & 0xfffe) == 0xfffe);
522  }
523  static constexpr inline bool isHighSurrogate(char32_t ucs4) noexcept
524  {
525  return (ucs4 & 0xfffffc00) == 0xd800; // 0xd800 + up to 1023 (0x3ff)
526  }
527  static constexpr inline bool isLowSurrogate(char32_t ucs4) noexcept
528  {
529  return (ucs4 & 0xfffffc00) == 0xdc00; // 0xdc00 + up to 1023 (0x3ff)
530  }
531  static constexpr inline bool isSurrogate(char32_t ucs4) noexcept
532  {
533  return (ucs4 - 0xd800u < 2048u);
534  }
535  static constexpr inline bool requiresSurrogates(char32_t ucs4) noexcept
536  {
537  return (ucs4 >= 0x10000);
538  }
539  static constexpr inline char32_t surrogateToUcs4(char16_t high, char16_t low) noexcept
540  {
541  // 0x010000 through 0x10ffff, provided params are actual high, low surrogates.
542  // 0x010000 + ((high - 0xd800) << 10) + (low - 0xdc00), optimized:
543  return (char32_t(high)<<10) + low - 0x35fdc00;
544  }
545  static constexpr inline char32_t surrogateToUcs4(QChar high, QChar low) noexcept
546  {
547  return surrogateToUcs4(high.ucs, low.ucs);
548  }
549  static constexpr inline char16_t highSurrogate(char32_t ucs4) noexcept
550  {
551  return char16_t((ucs4>>10) + 0xd7c0);
552  }
553  static constexpr inline char16_t lowSurrogate(char32_t ucs4) noexcept
554  {
555  return char16_t(ucs4%0x400 + 0xdc00);
556  }
557 
558  static Category QT_FASTCALL category(char32_t ucs4) noexcept Q_DECL_CONST_FUNCTION;
559  static Direction QT_FASTCALL direction(char32_t ucs4) noexcept Q_DECL_CONST_FUNCTION;
560  static JoiningType QT_FASTCALL joiningType(char32_t ucs4) noexcept Q_DECL_CONST_FUNCTION;
561  static unsigned char QT_FASTCALL combiningClass(char32_t ucs4) noexcept Q_DECL_CONST_FUNCTION;
562 
563  static char32_t QT_FASTCALL mirroredChar(char32_t ucs4) noexcept Q_DECL_CONST_FUNCTION;
564  static bool QT_FASTCALL hasMirrored(char32_t ucs4) noexcept Q_DECL_CONST_FUNCTION;
565 
566  static QString QT_FASTCALL decomposition(char32_t ucs4);
567  static Decomposition QT_FASTCALL decompositionTag(char32_t ucs4) noexcept Q_DECL_CONST_FUNCTION;
568 
569  static int QT_FASTCALL digitValue(char32_t ucs4) noexcept Q_DECL_CONST_FUNCTION;
570  static char32_t QT_FASTCALL toLower(char32_t ucs4) noexcept Q_DECL_CONST_FUNCTION;
571  static char32_t QT_FASTCALL toUpper(char32_t ucs4) noexcept Q_DECL_CONST_FUNCTION;
572  static char32_t QT_FASTCALL toTitleCase(char32_t ucs4) noexcept Q_DECL_CONST_FUNCTION;
573  static char32_t QT_FASTCALL toCaseFolded(char32_t ucs4) noexcept Q_DECL_CONST_FUNCTION;
574 
575  static Script QT_FASTCALL script(char32_t ucs4) noexcept Q_DECL_CONST_FUNCTION;
576 
577  static UnicodeVersion QT_FASTCALL unicodeVersion(char32_t ucs4) noexcept Q_DECL_CONST_FUNCTION;
578 
579  static UnicodeVersion QT_FASTCALL currentUnicodeVersion() noexcept Q_DECL_CONST_FUNCTION;
580 
581  static bool QT_FASTCALL isPrint(char32_t ucs4) noexcept Q_DECL_CONST_FUNCTION;
582  static constexpr inline bool isSpace(char32_t ucs4) noexcept Q_DECL_CONST_FUNCTION
583  {
584  // note that [0x09..0x0d] + 0x85 are exceptional Cc-s and must be handled explicitly
585  return ucs4 == 0x20 || (ucs4 <= 0x0d && ucs4 >= 0x09)
586  || (ucs4 > 127 && (ucs4 == 0x85 || ucs4 == 0xa0 || QChar::isSpace_helper(ucs4)));
587  }
588  static bool QT_FASTCALL isMark(char32_t ucs4) noexcept Q_DECL_CONST_FUNCTION;
589  static bool QT_FASTCALL isPunct(char32_t ucs4) noexcept Q_DECL_CONST_FUNCTION;
590  static bool QT_FASTCALL isSymbol(char32_t ucs4) noexcept Q_DECL_CONST_FUNCTION;
591  static constexpr inline bool isLetter(char32_t ucs4) noexcept Q_DECL_CONST_FUNCTION
592  {
593  return (ucs4 >= 'A' && ucs4 <= 'z' && (ucs4 >= 'a' || ucs4 <= 'Z'))
594  || (ucs4 > 127 && QChar::isLetter_helper(ucs4));
595  }
596  static constexpr inline bool isNumber(char32_t ucs4) noexcept Q_DECL_CONST_FUNCTION
597  { return (ucs4 <= '9' && ucs4 >= '0') || (ucs4 > 127 && QChar::isNumber_helper(ucs4)); }
598  static constexpr inline bool isLetterOrNumber(char32_t ucs4) noexcept Q_DECL_CONST_FUNCTION
599  {
600  return (ucs4 >= 'A' && ucs4 <= 'z' && (ucs4 >= 'a' || ucs4 <= 'Z'))
601  || (ucs4 >= '0' && ucs4 <= '9')
602  || (ucs4 > 127 && QChar::isLetterOrNumber_helper(ucs4));
603  }
604  static constexpr inline bool isDigit(char32_t ucs4) noexcept Q_DECL_CONST_FUNCTION
605  { return (ucs4 <= '9' && ucs4 >= '0') || (ucs4 > 127 && QChar::category(ucs4) == Number_DecimalDigit); }
606  static constexpr inline bool isLower(char32_t ucs4) noexcept Q_DECL_CONST_FUNCTION
607  { return (ucs4 <= 'z' && ucs4 >= 'a') || (ucs4 > 127 && QChar::category(ucs4) == Letter_Lowercase); }
608  static constexpr inline bool isUpper(char32_t ucs4) noexcept Q_DECL_CONST_FUNCTION
609  { return (ucs4 <= 'Z' && ucs4 >= 'A') || (ucs4 > 127 && QChar::category(ucs4) == Letter_Uppercase); }
610  static constexpr inline bool isTitleCase(char32_t ucs4) noexcept Q_DECL_CONST_FUNCTION
611  { return ucs4 > 127 && QChar::category(ucs4) == Letter_Titlecase; }
612 
613  friend constexpr inline bool operator==(QChar c1, QChar c2) noexcept { return c1.ucs == c2.ucs; }
614  friend constexpr inline bool operator< (QChar c1, QChar c2) noexcept { return c1.ucs < c2.ucs; }
615 
616  friend constexpr inline bool operator!=(QChar c1, QChar c2) noexcept { return !operator==(c1, c2); }
617  friend constexpr inline bool operator>=(QChar c1, QChar c2) noexcept { return !operator< (c1, c2); }
618  friend constexpr inline bool operator> (QChar c1, QChar c2) noexcept { return operator< (c2, c1); }
619  friend constexpr inline bool operator<=(QChar c1, QChar c2) noexcept { return !operator< (c2, c1); }
620 
621  friend constexpr inline bool operator==(QChar lhs, std::nullptr_t) noexcept { return lhs.isNull(); }
622  friend constexpr inline bool operator< (QChar, std::nullptr_t) noexcept { return false; }
623  friend constexpr inline bool operator==(std::nullptr_t, QChar rhs) noexcept { return rhs.isNull(); }
624  friend constexpr inline bool operator< (std::nullptr_t, QChar rhs) noexcept { return !rhs.isNull(); }
625 
626  friend constexpr inline bool operator!=(QChar lhs, std::nullptr_t) noexcept { return !operator==(lhs, nullptr); }
627  friend constexpr inline bool operator>=(QChar lhs, std::nullptr_t) noexcept { return !operator< (lhs, nullptr); }
628  friend constexpr inline bool operator> (QChar lhs, std::nullptr_t) noexcept { return operator< (nullptr, lhs); }
629  friend constexpr inline bool operator<=(QChar lhs, std::nullptr_t) noexcept { return !operator< (nullptr, lhs); }
630 
631  friend constexpr inline bool operator!=(std::nullptr_t, QChar rhs) noexcept { return !operator==(nullptr, rhs); }
632  friend constexpr inline bool operator>=(std::nullptr_t, QChar rhs) noexcept { return !operator< (nullptr, rhs); }
633  friend constexpr inline bool operator> (std::nullptr_t, QChar rhs) noexcept { return operator< (rhs, nullptr); }
634  friend constexpr inline bool operator<=(std::nullptr_t, QChar rhs) noexcept { return !operator< (rhs, nullptr); }
635 
636 private:
637  static bool QT_FASTCALL isSpace_helper(char32_t ucs4) noexcept Q_DECL_CONST_FUNCTION;
638  static bool QT_FASTCALL isLetter_helper(char32_t ucs4) noexcept Q_DECL_CONST_FUNCTION;
639  static bool QT_FASTCALL isNumber_helper(char32_t ucs4) noexcept Q_DECL_CONST_FUNCTION;
640  static bool QT_FASTCALL isLetterOrNumber_helper(char32_t ucs4) noexcept Q_DECL_CONST_FUNCTION;
641 
642 #ifdef QT_NO_CAST_FROM_ASCII
643  QChar(char c) = delete;
644  QChar(uchar c) = delete;
645 #endif
646 
647  char16_t ucs;
648 };
649 
651 
652 #ifndef QT_NO_DATASTREAM
655 #endif
656 
658 
659 namespace std {
660 template <>
662 {
663  template <typename = void> // for transparent constexpr tracking
664  constexpr size_t operator()(QT_PREPEND_NAMESPACE(QChar) c) const
665  noexcept(noexcept(std::hash<char16_t>{}(u' ')))
666  {
667  return std::hash<char16_t>{}(c.unicode());
668  }
669 };
670 } // namespace std
671 
672 #endif // QCHAR_H
673 
674 #include <QtCore/qstringview.h> // for QChar::fromUcs4() definition
small capitals from c petite p scientific f u
Definition: afcover.h:88
xD9 x84 xD8 xAD xD9 x80 xF0 x90 xAC x9A xE0 xA7 xA6 xE0 xA7 xAA xF0 x91 x84 xA4 xF0 x91 x84 x89 xF0 x91 x84 x9B xF0 x90 x8A xAB xF0 x90 x8B x89 xE2 xB2 x9E xE2 xB2 x9F xD0 xBE xD0 x9E xF0 x90 x90 x84 xF0 x90 x90 xAC xE1 x83 x98 xE1 x83 x94 xE1 x83 x90 xE1 xB2 xBF xE2 xB0 x95 xE2 xB1 x85 xCE xBF xCE x9F xE0 xA8 xA0 xE0 xA8 xB0 xE0 xA9 xA6 Kayah xEA xA4 x8D xEA xA4 x80 Khmer xE1 xA7 xA1 xE1 xA7 xAA xE0 xBB x90 Latin Subscript xE2 x82 x92 xE2 x82 x80 xEA x93 xB3 xF0 x96 xB9 xA1 xF0 x96 xB9 x9B xF0 x96 xB9 xAF xE1 x80 x9D xE1 x80 x84 xE1 x80 x82 no script
Definition: afscript.h:271
The QChar class provides a 16-bit Unicode character.
Definition: qchar.h:84
static constexpr bool isLowSurrogate(char32_t ucs4) noexcept
Definition: qchar.h:527
constexpr bool isNonCharacter() const noexcept
Definition: qchar.h:509
constexpr bool isLetterOrNumber() const noexcept
Definition: qchar.h:503
constexpr friend bool operator>=(std::nullptr_t, QChar rhs) noexcept
Definition: qchar.h:632
static constexpr QChar fromUcs2(char16_t c) noexcept
Definition: qchar.h:134
static constexpr char32_t surrogateToUcs4(char16_t high, char16_t low) noexcept
Definition: qchar.h:539
SpecialCharacter
Definition: qchar.h:86
constexpr Q_IMPLICIT QChar() noexcept
Definition: qchar.h:111
static constexpr bool requiresSurrogates(char32_t ucs4) noexcept
Definition: qchar.h:535
constexpr bool isDigit() const noexcept
Definition: qchar.h:504
constexpr void setCell(uchar acell) noexcept
Definition: qchar.h:516
Decomposition
Definition: qchar.h:384
@ Narrow
Definition: qchar.h:398
@ NoDecomposition
Definition: qchar.h:385
@ Square
Definition: qchar.h:400
@ Final
Definition: qchar.h:391
@ Medial
Definition: qchar.h:390
@ Sub
Definition: qchar.h:395
@ Super
Definition: qchar.h:394
@ NoBreak
Definition: qchar.h:388
@ Compat
Definition: qchar.h:401
@ Circle
Definition: qchar.h:393
@ Small
Definition: qchar.h:399
@ Isolated
Definition: qchar.h:392
@ Font
Definition: qchar.h:387
@ Vertical
Definition: qchar.h:396
@ Wide
Definition: qchar.h:397
@ Canonical
Definition: qchar.h:386
@ Initial
Definition: qchar.h:389
Script script() const noexcept
Definition: qchar.h:484
constexpr friend bool operator==(QChar c1, QChar c2) noexcept
Definition: qchar.h:613
static constexpr bool isSurrogate(char32_t ucs4) noexcept
Definition: qchar.h:531
QChar toLower() const noexcept
Definition: qchar.h:479
constexpr QCHAR_MAYBE_IMPLICIT QChar(uint rc) noexcept
Definition: qchar.h:115
constexpr Q_IMPLICIT QChar(char16_t ch) noexcept
Definition: qchar.h:119
static constexpr bool isUpper(char32_t ucs4) noexcept Q_DECL_CONST_FUNCTION
Definition: qchar.h:608
int digitValue() const noexcept
Definition: qchar.h:478
constexpr QT_ASCII_CAST_WARN Q_IMPLICIT QChar(char c) noexcept
Definition: qchar.h:126
constexpr Q_IMPLICIT QChar(short rc) noexcept
Definition: qchar.h:114
constexpr friend bool operator<=(QChar c1, QChar c2) noexcept
Definition: qchar.h:619
static constexpr bool isLetterOrNumber(char32_t ucs4) noexcept Q_DECL_CONST_FUNCTION
Definition: qchar.h:598
constexpr char16_t & unicode() noexcept
Definition: qchar.h:490
Direction direction() const noexcept
Definition: qchar.h:468
bool hasMirrored() const noexcept
Definition: qchar.h:473
CombiningClass
Definition: qchar.h:415
constexpr friend bool operator!=(QChar lhs, std::nullptr_t) noexcept
Definition: qchar.h:626
constexpr char toLatin1() const noexcept
Definition: qchar.h:488
Direction
Definition: qchar.h:377
@ DirFSI
Definition: qchar.h:380
@ DirAN
Definition: qchar.h:378
@ DirAL
Definition: qchar.h:379
QChar mirroredChar() const noexcept
Definition: qchar.h:472
static constexpr bool isLetter(char32_t ucs4) noexcept Q_DECL_CONST_FUNCTION
Definition: qchar.h:591
constexpr void setRow(uchar arow) noexcept
Definition: qchar.h:517
UnicodeVersion
Definition: qchar.h:439
@ Unicode_6_3
Definition: qchar.h:455
@ Unicode_3_0
Definition: qchar.h:444
@ Unicode_6_1
Definition: qchar.h:453
@ Unicode_2_1_2
Definition: qchar.h:443
@ Unicode_6_2
Definition: qchar.h:454
@ Unicode_11_0
Definition: qchar.h:460
@ Unicode_Unassigned
Definition: qchar.h:440
@ Unicode_1_1
Definition: qchar.h:441
@ Unicode_4_1
Definition: qchar.h:448
@ Unicode_13_0
Definition: qchar.h:463
@ Unicode_2_0
Definition: qchar.h:442
@ Unicode_8_0
Definition: qchar.h:457
@ Unicode_12_0
Definition: qchar.h:461
@ Unicode_5_2
Definition: qchar.h:451
@ Unicode_12_1
Definition: qchar.h:462
@ Unicode_6_0
Definition: qchar.h:452
@ Unicode_5_1
Definition: qchar.h:450
@ Unicode_4_0
Definition: qchar.h:447
@ Unicode_5_0
Definition: qchar.h:449
@ Unicode_9_0
Definition: qchar.h:458
@ Unicode_3_1
Definition: qchar.h:445
@ Unicode_7_0
Definition: qchar.h:456
@ Unicode_3_2
Definition: qchar.h:446
@ Unicode_10_0
Definition: qchar.h:459
static constexpr char16_t highSurrogate(char32_t ucs4) noexcept
Definition: qchar.h:549
constexpr uchar row() const noexcept
Definition: qchar.h:515
Category
Definition: qchar.h:140
@ Mark_SpacingCombining
Definition: qchar.h:142
@ Separator_Paragraph
Definition: qchar.h:151
@ Punctuation_Connector
Definition: qchar.h:165
@ Other_Control
Definition: qchar.h:153
@ Punctuation_FinalQuote
Definition: qchar.h:170
@ Other_Surrogate
Definition: qchar.h:155
@ Symbol_Math
Definition: qchar.h:173
@ Number_Letter
Definition: qchar.h:146
@ Letter_Lowercase
Definition: qchar.h:160
@ Number_DecimalDigit
Definition: qchar.h:145
@ Letter_Titlecase
Definition: qchar.h:161
@ Letter_Modifier
Definition: qchar.h:162
@ Punctuation_Close
Definition: qchar.h:168
@ Other_PrivateUse
Definition: qchar.h:156
@ Separator_Space
Definition: qchar.h:149
@ Symbol_Currency
Definition: qchar.h:174
@ Other_Format
Definition: qchar.h:154
@ Number_Other
Definition: qchar.h:147
@ Punctuation_InitialQuote
Definition: qchar.h:169
@ Letter_Other
Definition: qchar.h:163
@ Letter_Uppercase
Definition: qchar.h:159
@ Symbol_Modifier
Definition: qchar.h:175
@ Separator_Line
Definition: qchar.h:150
@ Mark_NonSpacing
Definition: qchar.h:141
@ Punctuation_Other
Definition: qchar.h:171
@ Mark_Enclosing
Definition: qchar.h:143
@ Punctuation_Dash
Definition: qchar.h:166
@ Punctuation_Open
Definition: qchar.h:167
@ Other_NotAssigned
Definition: qchar.h:157
static constexpr char32_t surrogateToUcs4(QChar high, QChar low) noexcept
Definition: qchar.h:545
constexpr bool isLowSurrogate() const noexcept
Definition: qchar.h:511
constexpr bool isSurrogate() const noexcept
Definition: qchar.h:512
constexpr char16_t unicode() const noexcept
Definition: qchar.h:489
constexpr uchar cell() const noexcept
Definition: qchar.h:514
constexpr friend bool operator!=(std::nullptr_t, QChar rhs) noexcept
Definition: qchar.h:631
constexpr friend bool operator==(std::nullptr_t, QChar rhs) noexcept
Definition: qchar.h:623
static constexpr bool isNonCharacter(char32_t ucs4) noexcept
Definition: qchar.h:519
constexpr friend bool operator<=(std::nullptr_t, QChar rhs) noexcept
Definition: qchar.h:634
constexpr friend bool operator<=(QChar lhs, std::nullptr_t) noexcept
Definition: qchar.h:629
QChar toCaseFolded() const noexcept
Definition: qchar.h:482
constexpr friend bool operator==(QChar lhs, std::nullptr_t) noexcept
Definition: qchar.h:621
constexpr bool isLower() const noexcept
Definition: qchar.h:505
bool isPrint() const noexcept
Definition: qchar.h:496
constexpr friend bool operator>=(QChar lhs, std::nullptr_t) noexcept
Definition: qchar.h:627
static constexpr char16_t lowSurrogate(char32_t ucs4) noexcept
Definition: qchar.h:553
static constexpr bool isDigit(char32_t ucs4) noexcept Q_DECL_CONST_FUNCTION
Definition: qchar.h:604
constexpr QT_ASCII_CAST_WARN QCHAR_MAYBE_IMPLICIT QChar(uchar c) noexcept
Definition: qchar.h:128
JoiningType
Definition: qchar.h:405
@ Joining_Dual
Definition: qchar.h:408
@ Joining_Left
Definition: qchar.h:410
@ Joining_Causing
Definition: qchar.h:407
@ Joining_Right
Definition: qchar.h:409
@ Joining_None
Definition: qchar.h:406
constexpr Q_IMPLICIT QChar(QLatin1Char ch) noexcept
Definition: qchar.h:118
constexpr QCHAR_MAYBE_IMPLICIT QChar(uchar c, uchar r) noexcept
Definition: qchar.h:113
Category category() const noexcept
Definition: qchar.h:467
Script
Definition: qchar.h:180
@ Script_Kharoshthi
Definition: qchar.h:247
@ Script_OldTurkic
Definition: qchar.h:283
@ Script_Balinese
Definition: qchar.h:250
@ Script_OldItalic
Definition: qchar.h:221
@ Script_OldHungarian
Definition: qchar.h:330
@ Script_Newa
Definition: qchar.h:337
@ Script_Batak
Definition: qchar.h:287
@ Script_Tamil
Definition: qchar.h:198
@ Script_Thai
Definition: qchar.h:203
@ Script_PahawhHmong
Definition: qchar.h:306
@ Script_Armenian
Definition: qchar.h:188
@ Script_Marchen
Definition: qchar.h:336
@ Script_MendeKikakui
Definition: qchar.h:311
@ Script_Tangut
Definition: qchar.h:339
@ Script_Gurmukhi
Definition: qchar.h:195
@ Script_Buginese
Definition: qchar.h:241
@ Script_Ethiopic
Definition: qchar.h:209
@ Script_Vai
Definition: qchar.h:260
@ Script_Mahajani
Definition: qchar.h:309
@ Script_Arabic
Definition: qchar.h:190
@ Script_Ugaritic
Definition: qchar.h:234
@ Script_Siddham
Definition: qchar.h:320
@ Script_Gujarati
Definition: qchar.h:196
@ Script_Nabataean
Definition: qchar.h:315
@ Script_Duployan
Definition: qchar.h:303
@ Script_HanifiRohingya
Definition: qchar.h:350
@ Script_Bopomofo
Definition: qchar.h:218
@ Script_Cyrillic
Definition: qchar.h:187
@ Script_Bhaiksuki
Definition: qchar.h:335
@ Script_CyproMinoan
Definition: qchar.h:367
@ Script_Hebrew
Definition: qchar.h:189
@ Script_Samaritan
Definition: qchar.h:274
@ Script_Adlam
Definition: qchar.h:334
@ Script_Sundanese
Definition: qchar.h:257
@ Script_Takri
Definition: qchar.h:298
@ Script_Ogham
Definition: qchar.h:212
@ Script_Hatran
Definition: qchar.h:328
@ Script_Palmyrene
Definition: qchar.h:316
@ Script_EgyptianHieroglyphs
Definition: qchar.h:273
@ Script_Han
Definition: qchar.h:219
@ Script_PhagsPa
Definition: qchar.h:253
@ Script_Miao
Definition: qchar.h:295
@ Script_Telugu
Definition: qchar.h:199
@ Script_Oriya
Definition: qchar.h:197
@ Script_Kannada
Definition: qchar.h:200
@ Script_PsalterPahlavi
Definition: qchar.h:319
@ Script_Tirhuta
Definition: qchar.h:322
@ Script_Lisu
Definition: qchar.h:275
@ Script_Avestan
Definition: qchar.h:272
@ Script_Yi
Definition: qchar.h:220
@ Script_Carian
Definition: qchar.h:265
@ Script_Deseret
Definition: qchar.h:223
@ Script_Khudawadi
Definition: qchar.h:321
@ Script_Kaithi
Definition: qchar.h:284
@ Script_Cham
Definition: qchar.h:267
@ Script_InscriptionalParthian
Definition: qchar.h:281
@ Script_Lydian
Definition: qchar.h:266
@ Script_Sogdian
Definition: qchar.h:354
@ Script_Phoenician
Definition: qchar.h:252
@ Script_Devanagari
Definition: qchar.h:193
@ Script_Georgian
Definition: qchar.h:207
@ Script_InscriptionalPahlavi
Definition: qchar.h:282
@ Script_WarangCiti
Definition: qchar.h:323
@ Script_Runic
Definition: qchar.h:213
@ Script_Hiragana
Definition: qchar.h:216
@ Script_Mandaic
Definition: qchar.h:289
@ Script_Myanmar
Definition: qchar.h:206
@ Script_MasaramGondi
Definition: qchar.h:342
@ Script_OldSouthArabian
Definition: qchar.h:280
@ Script_AnatolianHieroglyphs
Definition: qchar.h:327
@ Script_Wancho
Definition: qchar.h:358
@ Script_Osage
Definition: qchar.h:338
@ Script_LinearA
Definition: qchar.h:308
@ Script_Common
Definition: qchar.h:183
@ Script_Hangul
Definition: qchar.h:208
@ Script_OlChiki
Definition: qchar.h:259
@ Script_Greek
Definition: qchar.h:186
@ Script_Malayalam
Definition: qchar.h:201
@ Script_Tangsa
Definition: qchar.h:369
@ Script_Mongolian
Definition: qchar.h:215
@ Script_Javanese
Definition: qchar.h:277
@ Script_Grantha
Definition: qchar.h:305
@ Script_Tifinagh
Definition: qchar.h:244
@ Script_PauCinHau
Definition: qchar.h:317
@ Script_Hanunoo
Definition: qchar.h:225
@ Script_Bengali
Definition: qchar.h:194
@ Script_Inherited
Definition: qchar.h:182
@ Script_ImperialAramaic
Definition: qchar.h:279
@ Script_Buhid
Definition: qchar.h:226
@ Script_DivesAkuru
Definition: qchar.h:362
@ Script_Tibetan
Definition: qchar.h:205
@ Script_Toto
Definition: qchar.h:370
@ Script_Manichaean
Definition: qchar.h:310
@ Script_Nushu
Definition: qchar.h:343
@ Script_OldPersian
Definition: qchar.h:246
@ Script_MeroiticCursive
Definition: qchar.h:293
@ Script_TaiViet
Definition: qchar.h:271
@ Script_Cuneiform
Definition: qchar.h:251
@ Script_Lao
Definition: qchar.h:204
@ Script_Khmer
Definition: qchar.h:214
@ Script_Modi
Definition: qchar.h:312
@ Script_Vithkuqi
Definition: qchar.h:371
@ Script_Lycian
Definition: qchar.h:264
@ Script_OldNorthArabian
Definition: qchar.h:314
@ Script_Thaana
Definition: qchar.h:192
@ Script_ZanabazarSquare
Definition: qchar.h:345
@ Script_TaiTham
Definition: qchar.h:270
@ Script_Saurashtra
Definition: qchar.h:261
@ Script_CaucasianAlbanian
Definition: qchar.h:301
@ Script_Lepcha
Definition: qchar.h:258
@ Script_KhitanSmallScript
Definition: qchar.h:363
@ Script_Katakana
Definition: qchar.h:217
@ Script_CanadianAboriginal
Definition: qchar.h:211
@ Script_MeeteiMayek
Definition: qchar.h:278
@ Script_Chorasmian
Definition: qchar.h:361
@ Script_OldPermic
Definition: qchar.h:318
@ Script_OldUyghur
Definition: qchar.h:368
@ Script_SoraSompeng
Definition: qchar.h:297
@ Script_Rejang
Definition: qchar.h:263
@ Script_Tagbanwa
Definition: qchar.h:227
@ Script_Ahom
Definition: qchar.h:326
@ Script_BassaVah
Definition: qchar.h:302
@ Script_SylotiNagri
Definition: qchar.h:245
@ Script_Brahmi
Definition: qchar.h:288
@ Script_Nko
Definition: qchar.h:254
@ Script_Braille
Definition: qchar.h:238
@ Script_MeroiticHieroglyphs
Definition: qchar.h:294
@ Script_Multani
Definition: qchar.h:329
@ Script_KayahLi
Definition: qchar.h:262
@ Script_SignWriting
Definition: qchar.h:331
@ Script_Limbu
Definition: qchar.h:231
@ Script_LinearB
Definition: qchar.h:233
@ Script_TaiLe
Definition: qchar.h:232
@ Script_Coptic
Definition: qchar.h:228
@ Script_Syriac
Definition: qchar.h:191
@ Script_Gothic
Definition: qchar.h:222
@ Script_NewTaiLue
Definition: qchar.h:242
@ Script_Glagolitic
Definition: qchar.h:243
@ Script_Latin
Definition: qchar.h:185
@ Script_Cypriot
Definition: qchar.h:237
@ Script_OldSogdian
Definition: qchar.h:353
@ Script_Tagalog
Definition: qchar.h:224
@ Script_Sinhala
Definition: qchar.h:202
@ Script_GunjalaGondi
Definition: qchar.h:349
@ Script_Sharada
Definition: qchar.h:296
@ Script_Elbasan
Definition: qchar.h:304
@ Script_Makasar
Definition: qchar.h:351
@ Script_Elymaic
Definition: qchar.h:355
@ Script_Osmanya
Definition: qchar.h:236
@ Script_Unknown
Definition: qchar.h:181
@ Script_Dogra
Definition: qchar.h:348
@ Script_Cherokee
Definition: qchar.h:210
@ Script_Medefaidrin
Definition: qchar.h:352
@ Script_Nandinagari
Definition: qchar.h:356
@ Script_Soyombo
Definition: qchar.h:344
@ Script_Khojki
Definition: qchar.h:307
@ Script_Yezidi
Definition: qchar.h:364
@ Script_Shavian
Definition: qchar.h:235
@ Script_Chakma
Definition: qchar.h:292
@ Script_NyiakengPuachueHmong
Definition: qchar.h:357
@ Script_Mro
Definition: qchar.h:313
@ Script_Bamum
Definition: qchar.h:276
constexpr bool isUpper() const noexcept
Definition: qchar.h:506
unsigned char combiningClass() const noexcept
Definition: qchar.h:470
static constexpr bool isNumber(char32_t ucs4) noexcept Q_DECL_CONST_FUNCTION
Definition: qchar.h:596
constexpr Q_IMPLICIT QChar(SpecialCharacter s) noexcept
Definition: qchar.h:117
static constexpr QChar fromLatin1(char c) noexcept
Definition: qchar.h:492
Decomposition decompositionTag() const noexcept
Definition: qchar.h:476
constexpr bool isNull() const noexcept
Definition: qchar.h:494
QChar toTitleCase() const noexcept
Definition: qchar.h:481
QChar toUpper() const noexcept
Definition: qchar.h:480
static constexpr bool isTitleCase(char32_t ucs4) noexcept Q_DECL_CONST_FUNCTION
Definition: qchar.h:610
JoiningType joiningType() const noexcept
Definition: qchar.h:469
constexpr Q_IMPLICIT QChar(ushort rc) noexcept
Definition: qchar.h:112
constexpr bool isLetter() const noexcept
Definition: qchar.h:501
static constexpr bool isLower(char32_t ucs4) noexcept Q_DECL_CONST_FUNCTION
Definition: qchar.h:606
constexpr friend bool operator>=(QChar c1, QChar c2) noexcept
Definition: qchar.h:617
bool isPunct() const noexcept
Definition: qchar.h:499
constexpr bool isSpace() const noexcept
Definition: qchar.h:497
constexpr QCHAR_MAYBE_IMPLICIT QChar(int rc) noexcept
Definition: qchar.h:116
UnicodeVersion unicodeVersion() const noexcept
Definition: qchar.h:486
constexpr bool isHighSurrogate() const noexcept
Definition: qchar.h:510
bool isSymbol() const noexcept
Definition: qchar.h:500
constexpr friend bool operator!=(QChar c1, QChar c2) noexcept
Definition: qchar.h:616
constexpr bool isNumber() const noexcept
Definition: qchar.h:502
bool isMark() const noexcept
Definition: qchar.h:498
constexpr bool isTitleCase() const noexcept
Definition: qchar.h:507
static constexpr bool isHighSurrogate(char32_t ucs4) noexcept
Definition: qchar.h:523
The QDataStream class provides serialization of binary data to a QIODevice.
Definition: qdatastream.h:66
operator>>(QDataStream &ds, qfloat16 &f)
Definition: qfloat16.cpp:344
operator<<(QDataStream &ds, qfloat16 f)
Definition: qfloat16.cpp:327
The QString class provides a Unicode character string.
Definition: qstring.h:388
const QLoggingCategory & category()
[1]
QHash< int, QWidget * > hash
[35multi]
direction
auto it unsigned count const
Definition: hb-iter.hh:848
#define inline
Definition: md4c.c:45
QT_BEGIN_NAMESPACE bool operator<(const QMimeType &t1, const QMimeType &t2)
std::string toLower(std::string const &s)
Definition: qfloat16.h:381
Q_DECLARE_TYPEINFO(QChar, Q_PRIMITIVE_TYPE)
#define QCHAR_MAYBE_IMPLICIT
Definition: qchar.h:108
#define Q_DECL_CONST_FUNCTION
constexpr bool operator>(const QFixed &f, int i)
Definition: qfixed_p.h:182
QT_BEGIN_INCLUDE_NAMESPACE typedef unsigned char uchar
Definition: qglobal.h:332
unsigned int uint
Definition: qglobal.h:334
unsigned short ushort
Definition: qglobal.h:333
@ LineFeed
bool operator==(const QMakeBaseKey &one, const QMakeBaseKey &two)
GLboolean r
[2]
const GLubyte * c
Definition: qopenglext.h:12701
GLdouble s
[6]
Definition: qopenglext.h:235
#define Q_ASSERT(cond)
Definition: qrandom.cpp:84
@ Space
Definition: qsettings.cpp:1482
int QT_PREPEND_NAMESPACE(QSharedMemoryPrivate)
@ Q_PRIMITIVE_TYPE
Definition: qtypeinfo.h:155
MyCustomStruct c2
Definition: hb-null.hh:93
The QLatin1Char class provides an 8-bit ASCII/Latin-1 character.
Definition: qchar.h:53
constexpr friend bool operator>=(QLatin1Char lhs, char rhs) noexcept
Definition: qchar.h:76
constexpr friend bool operator<=(char lhs, QLatin1Char rhs) noexcept
Definition: qchar.h:68
constexpr friend bool operator==(QLatin1Char lhs, QLatin1Char rhs) noexcept
Definition: qchar.h:59
constexpr QLatin1Char(char c) noexcept
Definition: qchar.h:55
constexpr friend bool operator>(QLatin1Char lhs, QLatin1Char rhs) noexcept
Definition: qchar.h:64
constexpr friend bool operator>=(QLatin1Char lhs, QLatin1Char rhs) noexcept
Definition: qchar.h:62
constexpr friend bool operator==(QLatin1Char lhs, char rhs) noexcept
Definition: qchar.h:73
constexpr friend bool operator<(QLatin1Char lhs, QLatin1Char rhs) noexcept
Definition: qchar.h:63
constexpr char toLatin1() const noexcept
Definition: qchar.h:56
constexpr friend bool operator>=(char lhs, QLatin1Char rhs) noexcept
Definition: qchar.h:69
constexpr friend bool operator!=(QLatin1Char lhs, char rhs) noexcept
Definition: qchar.h:74
constexpr friend bool operator!=(char lhs, QLatin1Char rhs) noexcept
Definition: qchar.h:67
constexpr friend bool operator==(char lhs, QLatin1Char rhs) noexcept
Definition: qchar.h:66
constexpr friend bool operator<=(QLatin1Char lhs, char rhs) noexcept
Definition: qchar.h:75
constexpr friend bool operator<=(QLatin1Char lhs, QLatin1Char rhs) noexcept
Definition: qchar.h:61
constexpr char16_t unicode() const noexcept
Definition: qchar.h:57
constexpr friend bool operator!=(QLatin1Char lhs, QLatin1Char rhs) noexcept
Definition: qchar.h:60
constexpr size_t operator()(QT_PREPEND_NAMESPACE(QChar) c) const noexcept(noexcept(std::hash< char16_t >{}(u' ')))
Definition: qchar.h:664
#define rhs
Direction
Definition: main.cpp:217
@ DirB
Definition: main.cpp:225
@ DirBN
Definition: main.cpp:236
@ DirLRO
Definition: main.cpp:230
@ DirLRE
Definition: main.cpp:229
@ DirON
Definition: main.cpp:228
@ DirR
Definition: main.cpp:219
@ DirRLE
Definition: main.cpp:232
@ DirET
Definition: main.cpp:222
@ DirWS
Definition: main.cpp:227
@ DirL
Definition: main.cpp:218
@ DirRLI
Definition: main.cpp:238
@ DirES
Definition: main.cpp:221
@ DirLRI
Definition: main.cpp:237
@ DirS
Definition: main.cpp:226
@ DirNSM
Definition: main.cpp:235
@ DirCS
Definition: main.cpp:224
@ DirPDF
Definition: main.cpp:234
@ DirPDI
Definition: main.cpp:240
@ DirRLO
Definition: main.cpp:233
@ DirEN
Definition: main.cpp:220
JoiningType
Definition: main.cpp:286
@ Joining_Transparent
Definition: main.cpp:292