MySQL 8.3.0
Source Code Documentation
t_ctype.h File Reference
#include <cstdint>

Go to the source code of this file.

Macros

#define TOT_LEVELS   5
 
#define LAST_LEVEL   4 /* TOT_LEVELS - 1 */
 
#define IGNORE   0
 
#define _is(c)   (t_ctype[(c)][LAST_LEVEL])
 
#define _level   8
 
#define _consnt   16
 
#define _ldvowel   32
 
#define _fllwvowel   64
 
#define _uprvowel   128
 
#define _lwrvowel   256
 
#define _tone   512
 
#define _diacrt1   1024
 
#define _diacrt2   2048
 
#define _combine   4096
 
#define _stone   8192
 
#define _tdig   16384
 
#define _rearvowel   (_fllwvowel | _uprvowel | _lwrvowel)
 
#define _diacrt   (_diacrt1 | _diacrt2)
 
#define levelof(c)   (_is(c) & _level)
 
#define isthai(c)   ((c) >= 128)
 
#define istalpha(c)    (_is(c) & (_consnt | _ldvowel | _rearvowel | _tone | _diacrt1 | _diacrt2))
 
#define isconsnt(c)   (_is(c) & _consnt)
 
#define isldvowel(c)   (_is(c) & _ldvowel)
 
#define isfllwvowel(c)   (_is(c) & _fllwvowel)
 
#define ismidvowel(c)   (_is(c) & (_ldvowel | _fllwvowel))
 
#define isuprvowel(c)   (_is(c) & _uprvowel)
 
#define islwrvowel(c)   (_is(c) & _lwrvowel)
 
#define isuprlwrvowel(c)   (_is(c) & (_lwrvowel | _uprvowel))
 
#define isrearvowel(c)   (_is(c) & _rearvowel)
 
#define isvowel(c)   (_is(c) & (_ldvowel | _rearvowel))
 
#define istone(c)   (_is(c) & _tone)
 
#define isunldable(c)   (_is(c) & (_rearvowel | _tone | _diacrt1 | _diacrt2))
 
#define iscombinable(c)   (_is(c) & _combine)
 
#define istdigit(c)   (_is(c) & _tdig)
 
#define isstone(c)   (_is(c) & _stone)
 
#define isdiacrt1(c)   (_is(c) & _diacrt1)
 
#define isdiacrt2(c)   (_is(c) & _diacrt2)
 
#define isdiacrt(c)   (_is(c) & _diacrt)
 

Typedefs

typedef unsigned char tchar
 

Enumerations

enum  l1_symbols {
  L1_08 = TOT_LEVELS , L1_18 , L1_28 , L1_38 ,
  L1_48 , L1_58 , L1_68 , L1_78 ,
  L1_88 , L1_98 , L1_A8 , L1_B8 ,
  L1_C8 , L1_D8 , L1_E8 , L1_F8 ,
  L1_G8 , L1_H8 , L1_I8 , L1_J8 ,
  L1_K8 , L1_L8 , L1_M8 , L1_N8 ,
  L1_O8 , L1_P8 , L1_Q8 , L1_R8 ,
  L1_S8 , L1_T8 , L1_U8 , L1_V8 ,
  L1_W8 , L1_X8 , L1_Y8 , L1_Z8 ,
  L1_KO_KAI , L1_KHO_KHAI , L1_KHO_KHUAT , L1_KHO_KHWAI ,
  L1_KHO_KHON , L1_KHO_RAKHANG , L1_NGO_NGU , L1_CHO_CHAN ,
  L1_CHO_CHING , L1_CHO_CHANG , L1_SO_SO , L1_CHO_CHOE ,
  L1_YO_YING , L1_DO_CHADA , L1_TO_PATAK , L1_THO_THAN ,
  L1_THO_NANGMONTHO , L1_THO_PHUTHAO , L1_NO_NEN , L1_DO_DEK ,
  L1_TO_TAO , L1_THO_THUNG , L1_THO_THAHAN , L1_THO_THONG ,
  L1_NO_NU , L1_BO_BAIMAI , L1_PO_PLA , L1_PHO_PHUNG ,
  L1_FO_FA , L1_PHO_PHAN , L1_FO_FAN , L1_PHO_SAMPHAO ,
  L1_MO_MA , L1_YO_YAK , L1_RO_RUA , L1_RU ,
  L1_LO_LING , L1_LU , L1_WO_WAEN , L1_SO_SALA ,
  L1_SO_RUSI , L1_SO_SUA , L1_HO_HIP , L1_LO_CHULA ,
  L1_O_ANG , L1_HO_NOKHUK , L1_NKHIT , L1_SARA_A ,
  L1_MAI_HAN_AKAT , L1_SARA_AA , L1_SARA_AM , L1_SARA_I ,
  L1_SARA_II , L1_SARA_UE , L1_SARA_UEE , L1_SARA_U ,
  L1_SARA_UU , L1_SARA_E , L1_SARA_AE , L1_SARA_O ,
  L1_SARA_AI_MAIMUAN , L1_SARA_AI_MAIMALAI
}
 
enum  l2_symbols {
  L2_BLANK = TOT_LEVELS , L2_THAII , L2_YAMAK , L2_PINTHU ,
  L2_GARAN , L2_TYKHU , L2_TONE1 , L2_TONE2 ,
  L2_TONE3 , L2_TONE4
}
 
enum  l3_symbols {
  L3_BLANK = TOT_LEVELS , L3_SPACE , L3_NB_SACE , L3_LOW_LINE ,
  L3_HYPHEN , L3_COMMA , L3_SEMICOLON , L3_COLON ,
  L3_EXCLAMATION , L3_QUESTION , L3_SOLIDUS , L3_FULL_STOP ,
  L3_PAIYAN_NOI , L3_MAI_YAMOK , L3_GRAVE , L3_CIRCUMFLEX ,
  L3_TILDE , L3_APOSTROPHE , L3_QUOTATION , L3_L_PARANTHESIS ,
  L3_L_BRACKET , L3_L_BRACE , L3_R_BRACE , L3_R_BRACKET ,
  L3_R_PARENTHESIS , L3_AT , L3_BAHT , L3_DOLLAR ,
  L3_FONGMAN , L3_ANGKHANKHU , L3_KHOMUT , L3_ASTERISK ,
  L3_BK_SOLIDUS , L3_AMPERSAND , L3_NUMBER , L3_PERCENT ,
  L3_PLUS , L3_LESS_THAN , L3_EQUAL , L3_GREATER_THAN ,
  L3_V_LINE
}
 
enum  l4_symbols { L4_BLANK = TOT_LEVELS , L4_MIN , L4_CAP , L4_EXT }
 
enum  level_symbols { L_UPRUPR = TOT_LEVELS , L_UPPER , L_MIDDLE , L_LOWER }
 

Functions

void ThNormalize (uint8_t *ptr, unsigned field_length, const uint8_t *from, unsigned length)
 

Macro Definition Documentation

◆ _combine

#define _combine   4096

◆ _consnt

#define _consnt   16

◆ _diacrt

#define _diacrt   (_diacrt1 | _diacrt2)

◆ _diacrt1

#define _diacrt1   1024

◆ _diacrt2

#define _diacrt2   2048

◆ _fllwvowel

#define _fllwvowel   64

◆ _is

#define _is (   c)    (t_ctype[(c)][LAST_LEVEL])

◆ _ldvowel

#define _ldvowel   32

◆ _level

#define _level   8

◆ _lwrvowel

#define _lwrvowel   256

◆ _rearvowel

#define _rearvowel   (_fllwvowel | _uprvowel | _lwrvowel)

◆ _stone

#define _stone   8192

◆ _tdig

#define _tdig   16384

◆ _tone

#define _tone   512

◆ _uprvowel

#define _uprvowel   128

◆ IGNORE

#define IGNORE   0

◆ iscombinable

#define iscombinable (   c)    (_is(c) & _combine)

◆ isconsnt

#define isconsnt (   c)    (_is(c) & _consnt)

◆ isdiacrt

#define isdiacrt (   c)    (_is(c) & _diacrt)

◆ isdiacrt1

#define isdiacrt1 (   c)    (_is(c) & _diacrt1)

◆ isdiacrt2

#define isdiacrt2 (   c)    (_is(c) & _diacrt2)

◆ isfllwvowel

#define isfllwvowel (   c)    (_is(c) & _fllwvowel)

◆ isldvowel

#define isldvowel (   c)    (_is(c) & _ldvowel)

◆ islwrvowel

#define islwrvowel (   c)    (_is(c) & _lwrvowel)

◆ ismidvowel

#define ismidvowel (   c)    (_is(c) & (_ldvowel | _fllwvowel))

◆ isrearvowel

#define isrearvowel (   c)    (_is(c) & _rearvowel)

◆ isstone

#define isstone (   c)    (_is(c) & _stone)

◆ istalpha

#define istalpha (   c)     (_is(c) & (_consnt | _ldvowel | _rearvowel | _tone | _diacrt1 | _diacrt2))

◆ istdigit

#define istdigit (   c)    (_is(c) & _tdig)

◆ isthai

#define isthai (   c)    ((c) >= 128)

◆ istone

#define istone (   c)    (_is(c) & _tone)

◆ isunldable

#define isunldable (   c)    (_is(c) & (_rearvowel | _tone | _diacrt1 | _diacrt2))

◆ isuprlwrvowel

#define isuprlwrvowel (   c)    (_is(c) & (_lwrvowel | _uprvowel))

◆ isuprvowel

#define isuprvowel (   c)    (_is(c) & _uprvowel)

◆ isvowel

#define isvowel (   c)    (_is(c) & (_ldvowel | _rearvowel))

◆ LAST_LEVEL

#define LAST_LEVEL   4 /* TOT_LEVELS - 1 */

◆ levelof

#define levelof (   c)    (_is(c) & _level)

◆ TOT_LEVELS

#define TOT_LEVELS   5

Typedef Documentation

◆ tchar

typedef unsigned char tchar

Enumeration Type Documentation

◆ l1_symbols

enum l1_symbols
Enumerator
L1_08 
L1_18 
L1_28 
L1_38 
L1_48 
L1_58 
L1_68 
L1_78 
L1_88 
L1_98 
L1_A8 
L1_B8 
L1_C8 
L1_D8 
L1_E8 
L1_F8 
L1_G8 
L1_H8 
L1_I8 
L1_J8 
L1_K8 
L1_L8 
L1_M8 
L1_N8 
L1_O8 
L1_P8 
L1_Q8 
L1_R8 
L1_S8 
L1_T8 
L1_U8 
L1_V8 
L1_W8 
L1_X8 
L1_Y8 
L1_Z8 
L1_KO_KAI 
L1_KHO_KHAI 
L1_KHO_KHUAT 
L1_KHO_KHWAI 
L1_KHO_KHON 
L1_KHO_RAKHANG 
L1_NGO_NGU 
L1_CHO_CHAN 
L1_CHO_CHING 
L1_CHO_CHANG 
L1_SO_SO 
L1_CHO_CHOE 
L1_YO_YING 
L1_DO_CHADA 
L1_TO_PATAK 
L1_THO_THAN 
L1_THO_NANGMONTHO 
L1_THO_PHUTHAO 
L1_NO_NEN 
L1_DO_DEK 
L1_TO_TAO 
L1_THO_THUNG 
L1_THO_THAHAN 
L1_THO_THONG 
L1_NO_NU 
L1_BO_BAIMAI 
L1_PO_PLA 
L1_PHO_PHUNG 
L1_FO_FA 
L1_PHO_PHAN 
L1_FO_FAN 
L1_PHO_SAMPHAO 
L1_MO_MA 
L1_YO_YAK 
L1_RO_RUA 
L1_RU 
L1_LO_LING 
L1_LU 
L1_WO_WAEN 
L1_SO_SALA 
L1_SO_RUSI 
L1_SO_SUA 
L1_HO_HIP 
L1_LO_CHULA 
L1_O_ANG 
L1_HO_NOKHUK 
L1_NKHIT 
L1_SARA_A 
L1_MAI_HAN_AKAT 
L1_SARA_AA 
L1_SARA_AM 
L1_SARA_I 
L1_SARA_II 
L1_SARA_UE 
L1_SARA_UEE 
L1_SARA_U 
L1_SARA_UU 
L1_SARA_E 
L1_SARA_AE 
L1_SARA_O 
L1_SARA_AI_MAIMUAN 
L1_SARA_AI_MAIMALAI 

◆ l2_symbols

enum l2_symbols
Enumerator
L2_BLANK 
L2_THAII 
L2_YAMAK 
L2_PINTHU 
L2_GARAN 
L2_TYKHU 
L2_TONE1 
L2_TONE2 
L2_TONE3 
L2_TONE4 

◆ l3_symbols

enum l3_symbols
Enumerator
L3_BLANK 
L3_SPACE 
L3_NB_SACE 
L3_LOW_LINE 
L3_HYPHEN 
L3_COMMA 
L3_SEMICOLON 
L3_COLON 
L3_EXCLAMATION 
L3_QUESTION 
L3_SOLIDUS 
L3_FULL_STOP 
L3_PAIYAN_NOI 
L3_MAI_YAMOK 
L3_GRAVE 
L3_CIRCUMFLEX 
L3_TILDE 
L3_APOSTROPHE 
L3_QUOTATION 
L3_L_PARANTHESIS 
L3_L_BRACKET 
L3_L_BRACE 
L3_R_BRACE 
L3_R_BRACKET 
L3_R_PARENTHESIS 
L3_AT 
L3_BAHT 
L3_DOLLAR 
L3_FONGMAN 
L3_ANGKHANKHU 
L3_KHOMUT 
L3_ASTERISK 
L3_BK_SOLIDUS 
L3_AMPERSAND 
L3_NUMBER 
L3_PERCENT 
L3_PLUS 
L3_LESS_THAN 
L3_EQUAL 
L3_GREATER_THAN 
L3_V_LINE 

◆ l4_symbols

enum l4_symbols
Enumerator
L4_BLANK 
L4_MIN 
L4_CAP 
L4_EXT 

◆ level_symbols

Enumerator
L_UPRUPR 
L_UPPER 
L_MIDDLE 
L_LOWER 

Function Documentation

◆ ThNormalize()

void ThNormalize ( uint8_t *  ptr,
unsigned  field_length,
const uint8_t *  from,
unsigned  length 
)