43 #include <QtCore/qglobal.h>
91 CarriageReturn = 0x000d,
95 ReplacementCharacter = 0xfffd,
96 ObjectReplacementCharacter = 0xfffc,
97 ByteOrderMark = 0xfeff,
98 ByteOrderSwapped = 0xfffe,
99 ParagraphSeparator = 0x2029,
100 LineSeparator = 0x2028,
101 VisualTabCharacter = 0x2192,
102 LastValidCodePoint = 0x10ffff
105 #ifdef QT_IMPLICIT_QCHAR_CONSTRUCTION
106 #define QCHAR_MAYBE_IMPLICIT Q_IMPLICIT
108 #define QCHAR_MAYBE_IMPLICIT explicit
111 constexpr Q_IMPLICIT
QChar() noexcept : ucs(0) {}
114 constexpr Q_IMPLICIT
QChar(
short rc) noexcept : ucs(char16_t(rc)) {}
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)) {}
124 #ifndef QT_NO_CAST_FROM_ASCII
126 QT_ASCII_CAST_WARN constexpr Q_IMPLICIT
QChar(
char c) noexcept : ucs(
uchar(
c)) { }
127 #ifndef QT_RESTRICTED_CAST_FROM_ASCII
132 #undef QCHAR_MAYBE_IMPLICIT
135 static constexpr
inline auto fromUcs4(char32_t
c) noexcept;
378 DirL,
DirR,
DirEN,
DirES,
DirET,
DirAN,
DirCS,
DirB,
DirS,
DirWS,
DirON,
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,
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,
434 Combining_DoubleBelow = 233,
435 Combining_DoubleAbove = 234,
436 Combining_IotaSubscript = 240
488 constexpr
inline char toLatin1()
const noexcept {
return ucs > 0xff ?
'\0' : char(ucs); }
490 constexpr
inline char16_t &
unicode() noexcept {
return ucs; }
494 constexpr
inline bool isNull()
const noexcept {
return ucs == 0; }
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)); }
521 return ucs4 >= 0xfdd0 && (ucs4 <= 0xfdef || (ucs4 & 0xfffe) == 0xfffe);
525 return (ucs4 & 0xfffffc00) == 0xd800;
529 return (ucs4 & 0xfffffc00) == 0xdc00;
533 return (ucs4 - 0xd800u < 2048u);
537 return (ucs4 >= 0x10000);
539 static constexpr
inline char32_t
surrogateToUcs4(char16_t high, char16_t low) noexcept
543 return (char32_t(high)<<10) + low - 0x35fdc00;
547 return surrogateToUcs4(high.ucs, low.ucs);
551 return char16_t((ucs4>>10) + 0xd7c0);
555 return char16_t(ucs4%0x400 + 0xdc00);
566 static QString QT_FASTCALL decomposition(char32_t ucs4);
585 return ucs4 == 0x20 || (ucs4 <= 0x0d && ucs4 >= 0x09)
586 || (ucs4 > 127 && (ucs4 == 0x85 || ucs4 == 0xa0 || QChar::isSpace_helper(ucs4)));
593 return (ucs4 >=
'A' && ucs4 <=
'z' && (ucs4 >=
'a' || ucs4 <=
'Z'))
594 || (ucs4 > 127 && QChar::isLetter_helper(ucs4));
597 {
return (ucs4 <= '9' && ucs4 >=
'0') || (ucs4 > 127 && QChar::isNumber_helper(ucs4)); }
600 return (ucs4 >=
'A' && ucs4 <=
'z' && (ucs4 >=
'a' || ucs4 <=
'Z'))
601 || (ucs4 >=
'0' && ucs4 <=
'9')
602 || (ucs4 > 127 && QChar::isLetterOrNumber_helper(ucs4));
605 {
return (ucs4 <= '9' && ucs4 >=
'0') || (ucs4 > 127 &&
QChar::category(ucs4) == Number_DecimalDigit); }
607 {
return (ucs4 <= 'z' && ucs4 >=
'a') || (ucs4 > 127 &&
QChar::category(ucs4) == Letter_Lowercase); }
609 {
return (ucs4 <= 'Z' && ucs4 >=
'A') || (ucs4 > 127 &&
QChar::category(ucs4) == Letter_Uppercase); }
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; }
642 #ifdef QT_NO_CAST_FROM_ASCII
652 #ifndef QT_NO_DATASTREAM
663 template <
typename =
void>
665 noexcept(noexcept(std::hash<char16_t>{}(
u' ')))
667 return std::hash<char16_t>{}(
c.unicode());
674 #include <QtCore/qstringview.h>
small capitals from c petite p scientific f u
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
The QChar class provides a 16-bit Unicode character.
static constexpr bool isLowSurrogate(char32_t ucs4) noexcept
constexpr bool isNonCharacter() const noexcept
constexpr bool isLetterOrNumber() const noexcept
constexpr friend bool operator>=(std::nullptr_t, QChar rhs) noexcept
static constexpr QChar fromUcs2(char16_t c) noexcept
static constexpr char32_t surrogateToUcs4(char16_t high, char16_t low) noexcept
constexpr Q_IMPLICIT QChar() noexcept
static constexpr bool requiresSurrogates(char32_t ucs4) noexcept
constexpr bool isDigit() const noexcept
constexpr void setCell(uchar acell) noexcept
Script script() const noexcept
constexpr friend bool operator==(QChar c1, QChar c2) noexcept
static constexpr bool isSurrogate(char32_t ucs4) noexcept
QChar toLower() const noexcept
constexpr QCHAR_MAYBE_IMPLICIT QChar(uint rc) noexcept
constexpr Q_IMPLICIT QChar(char16_t ch) noexcept
static constexpr bool isUpper(char32_t ucs4) noexcept Q_DECL_CONST_FUNCTION
int digitValue() const noexcept
constexpr QT_ASCII_CAST_WARN Q_IMPLICIT QChar(char c) noexcept
constexpr Q_IMPLICIT QChar(short rc) noexcept
constexpr friend bool operator<=(QChar c1, QChar c2) noexcept
static constexpr bool isLetterOrNumber(char32_t ucs4) noexcept Q_DECL_CONST_FUNCTION
constexpr char16_t & unicode() noexcept
Direction direction() const noexcept
bool hasMirrored() const noexcept
constexpr friend bool operator!=(QChar lhs, std::nullptr_t) noexcept
constexpr char toLatin1() const noexcept
QChar mirroredChar() const noexcept
static constexpr bool isLetter(char32_t ucs4) noexcept Q_DECL_CONST_FUNCTION
constexpr void setRow(uchar arow) noexcept
static constexpr char16_t highSurrogate(char32_t ucs4) noexcept
constexpr uchar row() const noexcept
@ Punctuation_InitialQuote
static constexpr char32_t surrogateToUcs4(QChar high, QChar low) noexcept
constexpr bool isLowSurrogate() const noexcept
constexpr bool isSurrogate() const noexcept
constexpr char16_t unicode() const noexcept
constexpr uchar cell() const noexcept
constexpr friend bool operator!=(std::nullptr_t, QChar rhs) noexcept
constexpr friend bool operator==(std::nullptr_t, QChar rhs) noexcept
static constexpr bool isNonCharacter(char32_t ucs4) noexcept
constexpr friend bool operator<=(std::nullptr_t, QChar rhs) noexcept
constexpr friend bool operator<=(QChar lhs, std::nullptr_t) noexcept
QChar toCaseFolded() const noexcept
constexpr friend bool operator==(QChar lhs, std::nullptr_t) noexcept
constexpr bool isLower() const noexcept
bool isPrint() const noexcept
constexpr friend bool operator>=(QChar lhs, std::nullptr_t) noexcept
static constexpr char16_t lowSurrogate(char32_t ucs4) noexcept
static constexpr bool isDigit(char32_t ucs4) noexcept Q_DECL_CONST_FUNCTION
constexpr QT_ASCII_CAST_WARN QCHAR_MAYBE_IMPLICIT QChar(uchar c) noexcept
constexpr Q_IMPLICIT QChar(QLatin1Char ch) noexcept
constexpr QCHAR_MAYBE_IMPLICIT QChar(uchar c, uchar r) noexcept
Category category() const noexcept
@ Script_EgyptianHieroglyphs
@ Script_InscriptionalParthian
@ Script_InscriptionalPahlavi
@ Script_AnatolianHieroglyphs
@ Script_CaucasianAlbanian
@ Script_KhitanSmallScript
@ Script_CanadianAboriginal
@ Script_MeroiticHieroglyphs
@ Script_NyiakengPuachueHmong
constexpr bool isUpper() const noexcept
unsigned char combiningClass() const noexcept
static constexpr bool isNumber(char32_t ucs4) noexcept Q_DECL_CONST_FUNCTION
constexpr Q_IMPLICIT QChar(SpecialCharacter s) noexcept
static constexpr QChar fromLatin1(char c) noexcept
Decomposition decompositionTag() const noexcept
constexpr bool isNull() const noexcept
QChar toTitleCase() const noexcept
QChar toUpper() const noexcept
static constexpr bool isTitleCase(char32_t ucs4) noexcept Q_DECL_CONST_FUNCTION
JoiningType joiningType() const noexcept
constexpr Q_IMPLICIT QChar(ushort rc) noexcept
constexpr bool isLetter() const noexcept
static constexpr bool isLower(char32_t ucs4) noexcept Q_DECL_CONST_FUNCTION
constexpr friend bool operator>=(QChar c1, QChar c2) noexcept
bool isPunct() const noexcept
constexpr bool isSpace() const noexcept
constexpr QCHAR_MAYBE_IMPLICIT QChar(int rc) noexcept
UnicodeVersion unicodeVersion() const noexcept
constexpr bool isHighSurrogate() const noexcept
bool isSymbol() const noexcept
constexpr friend bool operator!=(QChar c1, QChar c2) noexcept
constexpr bool isNumber() const noexcept
bool isMark() const noexcept
constexpr bool isTitleCase() const noexcept
static constexpr bool isHighSurrogate(char32_t ucs4) noexcept
The QDataStream class provides serialization of binary data to a QIODevice.
operator>>(QDataStream &ds, qfloat16 &f)
operator<<(QDataStream &ds, qfloat16 f)
The QString class provides a Unicode character string.
const QLoggingCategory & category()
[1]
QHash< int, QWidget * > hash
[35multi]
auto it unsigned count const
QT_BEGIN_NAMESPACE bool operator<(const QMimeType &t1, const QMimeType &t2)
std::string toLower(std::string const &s)
Q_DECLARE_TYPEINFO(QChar, Q_PRIMITIVE_TYPE)
#define QCHAR_MAYBE_IMPLICIT
#define Q_DECL_CONST_FUNCTION
constexpr bool operator>(const QFixed &f, int i)
QT_BEGIN_INCLUDE_NAMESPACE typedef unsigned char uchar
bool operator==(const QMakeBaseKey &one, const QMakeBaseKey &two)
int QT_PREPEND_NAMESPACE(QSharedMemoryPrivate)
The QLatin1Char class provides an 8-bit ASCII/Latin-1 character.
constexpr friend bool operator>=(QLatin1Char lhs, char rhs) noexcept
constexpr friend bool operator<=(char lhs, QLatin1Char rhs) noexcept
constexpr friend bool operator==(QLatin1Char lhs, QLatin1Char rhs) noexcept
constexpr QLatin1Char(char c) noexcept
constexpr friend bool operator>(QLatin1Char lhs, QLatin1Char rhs) noexcept
constexpr friend bool operator>=(QLatin1Char lhs, QLatin1Char rhs) noexcept
constexpr friend bool operator==(QLatin1Char lhs, char rhs) noexcept
constexpr friend bool operator<(QLatin1Char lhs, QLatin1Char rhs) noexcept
constexpr char toLatin1() const noexcept
constexpr friend bool operator>=(char lhs, QLatin1Char rhs) noexcept
constexpr friend bool operator!=(QLatin1Char lhs, char rhs) noexcept
constexpr friend bool operator!=(char lhs, QLatin1Char rhs) noexcept
constexpr friend bool operator==(char lhs, QLatin1Char rhs) noexcept
constexpr friend bool operator<=(QLatin1Char lhs, char rhs) noexcept
constexpr friend bool operator<=(QLatin1Char lhs, QLatin1Char rhs) noexcept
constexpr char16_t unicode() const noexcept
constexpr friend bool operator!=(QLatin1Char lhs, QLatin1Char rhs) noexcept
constexpr size_t operator()(QT_PREPEND_NAMESPACE(QChar) c) const noexcept(noexcept(std::hash< char16_t >{}(u' ')))