MySQL 8.3.0
Source Code Documentation
uca_scanner_any< Mb_wc > Struct Template Reference
Inheritance diagram for uca_scanner_any< Mb_wc >:
[legend]

Public Member Functions

 uca_scanner_any (const Mb_wc mb_wc, const CHARSET_INFO *cs_arg, const uint8_t *str, size_t length)
 
unsigned get_char_index () const
 
int next ()
 
- Public Member Functions inherited from my_uca_scanner
unsigned get_weight_level () const
 Get the level the scanner is currently working on. More...
 

Private Member Functions

int next_implicit (my_wc_t ch)
 Return implicit UCA weight Used for code points that do not have assigned UCA weights. More...
 

Private Attributes

unsigned char_index {0}
 How many code points (possibly multibyte) we have scanned so far. More...
 
const Mb_wc mb_wc
 

Additional Inherited Members

- Protected Member Functions inherited from my_uca_scanner
 my_uca_scanner (const CHARSET_INFO *cs_arg, const uint8_t *str, size_t length)
 
const uint16_t * contraction_find (my_wc_t wc0, size_t *chars_skipped)
 Find a contraction in the input stream and return its weight array. More...
 
const uint16_t * previous_context_find (my_wc_t wc0, my_wc_t wc1)
 Find weight for contraction with previous context and return its weight array. More...
 
- Protected Attributes inherited from my_uca_scanner
unsigned weight_lv {0}
 
const uint16_t * wbeg
 
unsigned wbeg_stride {0}
 
const uint8_t * sbeg
 
const uint8_t * send
 
const MY_UCA_INFOuca {nullptr}
 
uint16_t implicit [10] {}
 
my_wc_t prev_char {0}
 
const CHARSET_INFOcs
 
unsigned num_of_ce_left {0}
 
const uint8_t * sbeg_dup
 

Constructor & Destructor Documentation

◆ uca_scanner_any()

template<class Mb_wc >
uca_scanner_any< Mb_wc >::uca_scanner_any ( const Mb_wc  mb_wc,
const CHARSET_INFO cs_arg,
const uint8_t *  str,
size_t  length 
)
inline

Member Function Documentation

◆ get_char_index()

template<class Mb_wc >
unsigned uca_scanner_any< Mb_wc >::get_char_index ( ) const
inline

◆ next()

template<class Mb_wc >
ALWAYS_INLINE int uca_scanner_any< Mb_wc >::next ( void  )
inline

◆ next_implicit()

template<class Mb_wc >
ALWAYS_INLINE int uca_scanner_any< Mb_wc >::next_implicit ( my_wc_t  ch)
inlineprivate

Return implicit UCA weight Used for code points that do not have assigned UCA weights.

Returns
The leading implicit weight.

Member Data Documentation

◆ char_index

template<class Mb_wc >
unsigned uca_scanner_any< Mb_wc >::char_index {0}
private

How many code points (possibly multibyte) we have scanned so far.

This includes code points with zero weight. Note that this is reset once we get to the end of the string and restart the scanning for the next weight level, but it is not reset when we reach the end of the last level.

◆ mb_wc

template<class Mb_wc >
const Mb_wc uca_scanner_any< Mb_wc >::mb_wc
private

The documentation for this struct was generated from the following file: