Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qchar.cpp File Reference

(64521e36c453e2ad945a60cb9e70fe9b9970c43c)

#include "qchar.h"
#include "qunicodetables_p.h"
#include "qunicodetables.cpp"
#include <algorithm>
Include dependency graph for qchar.cpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  UCS2Pair
struct  UCS2SurrogatePair

Macros

#define FLAG(x)

Functions

static const QChar *QT_FASTCALL decompositionHelper (char32_t ucs4, qsizetype *length, QChar::Decomposition *tag, QChar *buffer)
static auto fullConvertCase (char32_t uc, QUnicodeTables::Case which) noexcept
template<typename T>
static Q_DECL_CONST_FUNCTIONconvertCase_helper (T uc, QUnicodeTables::Case which) noexcept
static char32_t foldCase (const char16_t *ch, const char16_t *start)
static char32_t foldCase (char32_t ch, char32_t &last) noexcept
static char16_t foldCase (char16_t ch) noexcept
static QChar foldCase (QChar ch) noexcept
static void decomposeHelper (QString *str, bool canonical, QChar::UnicodeVersion version, qsizetype from)
bool operator< (const UCS2Pair &ligature1, const UCS2Pair &ligature2)
bool operator< (ushort u1, const UCS2Pair &ligature)
bool operator< (const UCS2Pair &ligature, ushort u1)
bool operator< (const UCS2SurrogatePair &ligature1, const UCS2SurrogatePair &ligature2)
bool operator< (char32_t u1, const UCS2SurrogatePair &ligature)
bool operator< (const UCS2SurrogatePair &ligature, char32_t u1)
static char32_t ligatureHelper (char32_t u1, char32_t u2)
static void composeHelper (QString *str, QChar::UnicodeVersion version, qsizetype from)
static void canonicalOrderHelper (QString *str, QChar::UnicodeVersion version, qsizetype from)
static bool normalizationQuickCheckHelper (QString *str, QString::NormalizationForm mode, qsizetype from, qsizetype *lastStable)

Variables

static constexpr char32_t Hangul_SBase = 0xac00
static constexpr char32_t Hangul_LBase = 0x1100
static constexpr char32_t Hangul_VBase = 0x1161
static constexpr char32_t Hangul_TBase = 0x11a7
static constexpr quint32 Hangul_LCount = 19
static constexpr quint32 Hangul_VCount = 21
static constexpr quint32 Hangul_TCount = 28
static constexpr quint32 Hangul_NCount = Hangul_VCount * Hangul_TCount
static constexpr quint32 Hangul_SCount = Hangul_LCount * Hangul_NCount

Macro Definition Documentation

◆ FLAG

#define FLAG ( x)
Value:
(1 << (x))
GLint GLint GLint GLint GLint x

Definition at line 14 of file qchar.cpp.

Function Documentation

◆ canonicalOrderHelper()

void canonicalOrderHelper ( QString * str,
QChar::UnicodeVersion version,
qsizetype from )
static

Definition at line 1991 of file qchar.cpp.

References QUnicodeTables::qGetProp().

Here is the call graph for this function:

◆ composeHelper()

void composeHelper ( QString * str,
QChar::UnicodeVersion version,
qsizetype from )
static

Definition at line 1931 of file qchar.cpp.

References ligatureHelper(), and QUnicodeTables::qGetProp().

Here is the call graph for this function:

◆ convertCase_helper()

template<typename T>
Q_DECL_CONST_FUNCTION T convertCase_helper ( T uc,
QUnicodeTables::Case which )
inlinestaticnoexcept

Definition at line 1592 of file qchar.cpp.

◆ decomposeHelper()

void decomposeHelper ( QString * str,
bool canonical,
QChar::UnicodeVersion version,
qsizetype from )
static

Definition at line 1831 of file qchar.cpp.

◆ decompositionHelper()

const QChar *QT_FASTCALL decompositionHelper ( char32_t ucs4,
qsizetype * length,
QChar::Decomposition * tag,
QChar * buffer )
static

Definition at line 1405 of file qchar.cpp.

◆ foldCase() [1/4]

char16_t foldCase ( char16_t ch)
inlinestaticnoexcept

Definition at line 1698 of file qchar.cpp.

References QUnicodeTables::CaseFold.

Referenced by QtPrivate::qustrcasechr().

Here is the caller graph for this function:

◆ foldCase() [2/4]

char32_t foldCase ( char32_t ch,
char32_t & last )
inlinestaticnoexcept

Definition at line 1689 of file qchar.cpp.

References QUnicodeTables::CaseFold.

◆ foldCase() [3/4]

char32_t foldCase ( const char16_t * ch,
const char16_t * start )
inlinestatic

Definition at line 1681 of file qchar.cpp.

References QUnicodeTables::CaseFold.

Referenced by bm_init_skiptable().

Here is the caller graph for this function:

◆ foldCase() [4/4]

QChar foldCase ( QChar ch)
inlinestaticnoexcept

Definition at line 1703 of file qchar.cpp.

◆ fullConvertCase()

auto fullConvertCase ( char32_t uc,
QUnicodeTables::Case which )
staticnoexcept

◆ ligatureHelper()

char32_t ligatureHelper ( char32_t u1,
char32_t u2 )
inlinestatic

Definition at line 1891 of file qchar.cpp.

References Hangul_LBase, Hangul_LCount, Hangul_SBase, Hangul_SCount, Hangul_TBase, Hangul_TCount, Hangul_VBase, Hangul_VCount, UCS2Pair::u1, UCS2Pair::u2, and QUnicodeTables::uc_ligature_map.

Referenced by composeHelper().

Here is the caller graph for this function:

◆ normalizationQuickCheckHelper()

bool normalizationQuickCheckHelper ( QString * str,
QString::NormalizationForm mode,
qsizetype from,
qsizetype * lastStable )
static

Definition at line 2073 of file qchar.cpp.

References QUnicodeTables::qGetProp().

Here is the call graph for this function:

◆ operator<() [1/6]

bool operator< ( char32_t u1,
const UCS2SurrogatePair & ligature )
inline

Definition at line 1886 of file qchar.cpp.

◆ operator<() [2/6]

bool operator< ( const UCS2Pair & ligature,
ushort u1 )
inline

Definition at line 1876 of file qchar.cpp.

References UCS2Pair::u1.

◆ operator<() [3/6]

bool operator< ( const UCS2Pair & ligature1,
const UCS2Pair & ligature2 )
inline

Definition at line 1872 of file qchar.cpp.

References UCS2Pair::u1.

◆ operator<() [4/6]

bool operator< ( const UCS2SurrogatePair & ligature,
char32_t u1 )
inline

Definition at line 1888 of file qchar.cpp.

◆ operator<() [5/6]

bool operator< ( const UCS2SurrogatePair & ligature1,
const UCS2SurrogatePair & ligature2 )
inline

Definition at line 1884 of file qchar.cpp.

◆ operator<() [6/6]

bool operator< ( ushort u1,
const UCS2Pair & ligature )
inline

Definition at line 1874 of file qchar.cpp.

References UCS2Pair::u1.

Variable Documentation

◆ Hangul_LBase

constexpr char32_t Hangul_LBase = 0x1100
staticconstexpr

Definition at line 1395 of file qchar.cpp.

Referenced by ligatureHelper().

◆ Hangul_LCount

constexpr quint32 Hangul_LCount = 19
staticconstexpr

Definition at line 1398 of file qchar.cpp.

Referenced by ligatureHelper().

◆ Hangul_NCount

constexpr quint32 Hangul_NCount = Hangul_VCount * Hangul_TCount
staticconstexpr

Definition at line 1401 of file qchar.cpp.

◆ Hangul_SBase

constexpr char32_t Hangul_SBase = 0xac00
staticconstexpr

Definition at line 1394 of file qchar.cpp.

Referenced by ligatureHelper().

◆ Hangul_SCount

constexpr quint32 Hangul_SCount = Hangul_LCount * Hangul_NCount
staticconstexpr

Definition at line 1402 of file qchar.cpp.

Referenced by ligatureHelper().

◆ Hangul_TBase

constexpr char32_t Hangul_TBase = 0x11a7
staticconstexpr

Definition at line 1397 of file qchar.cpp.

Referenced by ligatureHelper().

◆ Hangul_TCount

constexpr quint32 Hangul_TCount = 28
staticconstexpr

Definition at line 1400 of file qchar.cpp.

Referenced by ligatureHelper().

◆ Hangul_VBase

constexpr char32_t Hangul_VBase = 0x1161
staticconstexpr

Definition at line 1396 of file qchar.cpp.

Referenced by ligatureHelper().

◆ Hangul_VCount

constexpr quint32 Hangul_VCount = 21
staticconstexpr

Definition at line 1399 of file qchar.cpp.

Referenced by ligatureHelper().