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

(0770171dcda24a567d6f57b87fdd284011e56e16)

#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
[0]

Definition at line 13 of file qchar.cpp.

Function Documentation

◆ canonicalOrderHelper()

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

Definition at line 1989 of file qchar.cpp.

◆ composeHelper()

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

Definition at line 1929 of file qchar.cpp.

References ligatureHelper().

+ Here is the call graph for this function:

◆ convertCase_helper()

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

Definition at line 1590 of file qchar.cpp.

◆ decomposeHelper()

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

Definition at line 1829 of file qchar.cpp.

◆ decompositionHelper()

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

Definition at line 1403 of file qchar.cpp.

◆ foldCase() [1/4]

static char16_t foldCase ( char16_t ch)
inlinestaticnoexcept

Definition at line 1696 of file qchar.cpp.

References QUnicodeTables::CaseFold.

Referenced by QtPrivate::qustrcasechr().

+ Here is the caller graph for this function:

◆ foldCase() [2/4]

static char32_t foldCase ( char32_t ch,
char32_t & last )
inlinestaticnoexcept

Definition at line 1687 of file qchar.cpp.

References QUnicodeTables::CaseFold.

◆ foldCase() [3/4]

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

Definition at line 1679 of file qchar.cpp.

References QUnicodeTables::CaseFold.

Referenced by bm_init_skiptable().

+ Here is the caller graph for this function:

◆ foldCase() [4/4]

static QChar foldCase ( QChar ch)
inlinestaticnoexcept

Definition at line 1701 of file qchar.cpp.

◆ fullConvertCase()

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

◆ ligatureHelper()

static char32_t ligatureHelper ( char32_t u1,
char32_t u2 )
inlinestatic

Definition at line 1889 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()

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

Definition at line 2071 of file qchar.cpp.

◆ operator<() [1/6]

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

Definition at line 1884 of file qchar.cpp.

◆ operator<() [2/6]

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

Definition at line 1874 of file qchar.cpp.

References UCS2Pair::u1.

◆ operator<() [3/6]

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

Definition at line 1870 of file qchar.cpp.

References UCS2Pair::u1.

◆ operator<() [4/6]

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

Definition at line 1886 of file qchar.cpp.

◆ operator<() [5/6]

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

Definition at line 1882 of file qchar.cpp.

◆ operator<() [6/6]

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

Definition at line 1872 of file qchar.cpp.

References UCS2Pair::u1.

Variable Documentation

◆ Hangul_LBase

static constexpr char32_t Hangul_LBase = 0x1100
staticconstexpr

Definition at line 1393 of file qchar.cpp.

Referenced by ligatureHelper().

◆ Hangul_LCount

static constexpr quint32 Hangul_LCount = 19
staticconstexpr

Definition at line 1396 of file qchar.cpp.

Referenced by ligatureHelper().

◆ Hangul_NCount

static constexpr quint32 Hangul_NCount = Hangul_VCount * Hangul_TCount
staticconstexpr

Definition at line 1399 of file qchar.cpp.

◆ Hangul_SBase

static constexpr char32_t Hangul_SBase = 0xac00
staticconstexpr

Definition at line 1392 of file qchar.cpp.

Referenced by ligatureHelper().

◆ Hangul_SCount

static constexpr quint32 Hangul_SCount = Hangul_LCount * Hangul_NCount
staticconstexpr

Definition at line 1400 of file qchar.cpp.

Referenced by ligatureHelper().

◆ Hangul_TBase

static constexpr char32_t Hangul_TBase = 0x11a7
staticconstexpr

Definition at line 1395 of file qchar.cpp.

Referenced by ligatureHelper().

◆ Hangul_TCount

static constexpr quint32 Hangul_TCount = 28
staticconstexpr

Definition at line 1398 of file qchar.cpp.

Referenced by ligatureHelper().

◆ Hangul_VBase

static constexpr char32_t Hangul_VBase = 0x1161
staticconstexpr

Definition at line 1394 of file qchar.cpp.

Referenced by ligatureHelper().

◆ Hangul_VCount

static constexpr quint32 Hangul_VCount = 21
staticconstexpr

Definition at line 1397 of file qchar.cpp.

Referenced by ligatureHelper().