Ada 2.9.2
Fast spec-compliant URL parser
|
Classes | |
struct | directions |
Enumerations | |
enum | direction : uint8_t { NONE , BN , CS , ES , ON , EN , L , R , NSM , AL , AN , ET , WS , RLO , LRO , PDF , RLE , RLI , FSI , PDI , LRI , B , S , LRE , NONE , BN , CS , ES , ON , EN , L , R , NSM , AL , AN , ET , WS , RLO , LRO , PDF , RLE , RLI , FSI , PDI , LRI , B , S , LRE } |
enum | direction : uint8_t { NONE , BN , CS , ES , ON , EN , L , R , NSM , AL , AN , ET , WS , RLO , LRO , PDF , RLE , RLI , FSI , PDI , LRI , B , S , LRE , NONE , BN , CS , ES , ON , EN , L , R , NSM , AL , AN , ET , WS , RLO , LRO , PDF , RLE , RLI , FSI , PDI , LRI , B , S , LRE } |
Unicode Standard Annex #15
UNICODE NORMALIZATION FORMS https://www.unicode.org/reports/tr15/
See https://github.com/uni-algo/uni-algo/blob/c612968c5ed3ace39bde4c894c24286c5f2c7fe2/include/uni_algo/impl/data/data_norm.h for reference.
Enumerator | |
---|---|
NONE | |
BN | |
CS | |
ES | |
ON | |
EN | |
L | |
R | |
NSM | |
AL | |
AN | |
ET | |
WS | |
RLO | |
LRO | |
RLE | |
RLI | |
FSI | |
PDI | |
LRI | |
B | |
S | |
LRE | |
NONE | |
BN | |
CS | |
ES | |
ON | |
EN | |
L | |
R | |
NSM | |
AL | |
AN | |
ET | |
WS | |
RLO | |
LRO | |
RLE | |
RLI | |
FSI | |
PDI | |
LRI | |
B | |
S | |
LRE |
Definition at line 8056 of file ada_idna.cpp.
Definition at line 7988 of file ada.cpp.
References base, damp, ada::parse(), skew, tmax, and tmin.
Referenced by punycode_to_utf32(), utf32_to_punycode(), and verify_punycode().
Definition at line 7853 of file ada_idna.cpp.
Definition at line 2755 of file ada.cpp.
References ada::parse().
Referenced by LLVMFuzzerTestOneInput().
Definition at line 2779 of file ada.cpp.
References ada::parse().
Referenced by from_ascii_to_ascii().
bool ada::idna::begins_with | ( | std::string_view | view, |
std::string_view | prefix ) |
Definition at line 9533 of file ada.cpp.
References ada::parse().
bool ada::idna::begins_with | ( | std::u32string_view | view, |
std::u32string_view | prefix ) |
Definition at line 9525 of file ada.cpp.
References ada::parse().
Referenced by from_ascii_to_ascii(), to_ascii(), and to_unicode().
Definition at line 7978 of file ada.cpp.
Referenced by punycode_to_utf32(), and verify_punycode().
Definition at line 7843 of file ada_idna.cpp.
void ada::idna::compose | ( | std::u32string & | input | ) |
Compose the domain_name string to Unicode Normalization Form C.
Compose the domain_name string to Unicode Normalization Form C.
Compose the domain_name string to Unicode Normalization Form C.
Definition at line 7872 of file ada.cpp.
References composition_block, composition_data, composition_index, get_ccc(), hangul_lbase, hangul_lcount, hangul_sbase, hangul_scount, hangul_tbase, hangul_tcount, hangul_vbase, hangul_vcount, and ada::parse().
Referenced by normalize().
|
noexcept |
Definition at line 7765 of file ada.cpp.
References decomposition_block, decomposition_index, hangul_sbase, hangul_scount, hangul_tcount, and ada::parse().
Referenced by decompose_nfc().
bool ada::idna::contains_forbidden_domain_code_point | ( | std::string_view | ascii_string | ) |
Definition at line 9578 of file ada.cpp.
References is_forbidden_domain_code_point(), and ada::parse().
Definition at line 7795 of file ada.cpp.
References decomposition_block, decomposition_data, decomposition_index, hangul_lbase, hangul_ncount, hangul_sbase, hangul_scount, hangul_tbase, hangul_tcount, hangul_vbase, and ada::parse().
Referenced by decompose_nfc().
void ada::idna::decompose_nfc | ( | std::u32string & | input | ) |
Decompose the domain_name string to Unicode Normalization Form C.
Decompose the domain_name string to Unicode Normalization Form C.
Decompose the domain_name string to Unicode Normalization Form C.
Definition at line 7859 of file ada.cpp.
References compute_decomposition_length(), decompose(), ada::parse(), and sort_marks().
Referenced by normalize().
Definition at line 7984 of file ada.cpp.
References ada::parse().
Referenced by utf32_to_punycode().
Definition at line 7849 of file ada_idna.cpp.
References ada::parse().
Definition at line 8953 of file ada.cpp.
References dir_table, ada::idna::directions::direct, and ada::parse().
Referenced by find_last_not_of_nsm(), is_label_valid(), and is_rtl_label().
Definition at line 8818 of file ada_idna.cpp.
References dir_table, ada::idna::directions::direct, and ada::parse().
|
inlinestaticnoexcept |
Definition at line 8969 of file ada.cpp.
References find_direction(), and ada::parse().
Referenced by is_label_valid().
|
inlinestaticnoexcept |
Definition at line 8834 of file ada_idna.cpp.
References find_direction(), and ada::parse().
|
static |
Definition at line 9584 of file ada.cpp.
References ascii_map(), begins_with(), is_label_valid(), map(), normalize(), ada::parse(), and punycode_to_utf32().
Referenced by to_ascii().
|
static |
Definition at line 9449 of file ada_idna.cpp.
References ascii_map(), begins_with(), is_label_valid(), map(), normalize(), ada::parse(), and punycode_to_utf32().
Definition at line 7837 of file ada.cpp.
References canonical_combining_class_block, canonical_combining_class_index, and ada::parse().
Referenced by compose(), and sort_marks().
Definition at line 9550 of file ada.cpp.
References ada::parse().
Definition at line 9541 of file ada.cpp.
References ada::parse().
Referenced by to_ascii(), and to_unicode().
Definition at line 9574 of file ada.cpp.
References is_forbidden_domain_code_point_table, and ada::parse().
Referenced by contains_forbidden_domain_code_point().
bool ada::idna::is_label_valid | ( | std::u32string_view | label | ) |
Definition at line 8990 of file ada.cpp.
References find_direction(), find_last_not_of_nsm(), is_rtl_label(), L, ada::parse(), and R.
Referenced by from_ascii_to_ascii(), and to_ascii().
Definition at line 8979 of file ada.cpp.
References find_direction(), and ada::parse().
Referenced by is_label_valid().
Definition at line 8844 of file ada_idna.cpp.
References find_direction(), and ada::parse().
std::u32string ada::idna::map | ( | std::u32string_view | input | ) |
Definition at line 2805 of file ada.cpp.
References find_range_index(), mappings, ada::parse(), and table.
Referenced by from_ascii_to_ascii(), and to_ascii().
void ada::idna::normalize | ( | std::u32string & | input | ) |
Normalize the domain_name string to Unicode Normalization Form C.
Normalize the domain_name string to Unicode Normalization Form C.
Normalize the domain_name string to Unicode Normalization Form C.
Normalize the domain_name string to Unicode Normalization Form C.
Definition at line 7953 of file ada.cpp.
References compose(), decompose_nfc(), and ada::parse().
Referenced by from_ascii_to_ascii(), and to_ascii().
bool ada::idna::punycode_to_utf32 | ( | std::string_view | input, |
std::u32string & | out ) |
Definition at line 8003 of file ada.cpp.
References adapt(), base, char_to_digit_value(), initial_bias, initial_n, ada::parse(), and tmax.
Referenced by from_ascii_to_ascii(), to_ascii(), and to_unicode().
void ada::idna::sort_marks | ( | std::u32string & | input | ) |
Definition at line 7843 of file ada.cpp.
References get_ccc(), and ada::parse().
Referenced by decompose_nfc().
std::string ada::idna::to_ascii | ( | std::string_view | ut8_string | ) |
Definition at line 9640 of file ada.cpp.
References begins_with(), from_ascii_to_ascii(), is_ascii(), is_label_valid(), map(), normalize(), ada::parse(), punycode_to_utf32(), utf32_length_from_utf8(), utf32_to_punycode(), and utf8_to_utf32().
Referenced by ada_idna_to_ascii(), and LLVMFuzzerTestOneInput().
std::string ada::idna::to_unicode | ( | std::string_view | input | ) |
Definition at line 9737 of file ada.cpp.
References begins_with(), is_ascii(), ada::parse(), punycode_to_utf32(), utf32_to_utf8(), utf8_length_from_utf32(), and verify_punycode().
Referenced by ada_idna_to_unicode(), and LLVMFuzzerTestOneInput().
bool ada::idna::utf32_to_punycode | ( | std::u32string_view | input, |
std::string & | out ) |
Definition at line 8122 of file ada.cpp.
References adapt(), base, digit_to_char(), initial_bias, initial_n, ada::parse(), and tmax.
Referenced by to_ascii().
bool ada::idna::verify_punycode | ( | std::string_view | input | ) |
Definition at line 8064 of file ada.cpp.
References adapt(), base, char_to_digit_value(), initial_bias, initial_n, ada::parse(), and tmax.
Referenced by to_unicode().
Definition at line 7970 of file ada.cpp.
Referenced by adapt(), punycode_to_utf32(), utf32_to_punycode(), and verify_punycode().
Definition at line 3102 of file ada.cpp.
Referenced by compute_decomposition_length(), and decompose().
Definition at line 4746 of file ada.cpp.
Referenced by decompose().
Definition at line 2870 of file ada.cpp.
Referenced by compute_decomposition_length(), and decompose().
|
static |
Definition at line 8224 of file ada.cpp.
Referenced by find_direction().
|
static |
Definition at line 8089 of file ada_idna.cpp.
Definition at line 7757 of file ada.cpp.
Referenced by compose(), and decompose().
|
constexpr |
Definition at line 7761 of file ada.cpp.
Referenced by decompose().
Definition at line 7754 of file ada.cpp.
Referenced by compose(), compute_decomposition_length(), and decompose().
Definition at line 7762 of file ada.cpp.
Referenced by compose(), compute_decomposition_length(), and decompose().
Definition at line 7755 of file ada.cpp.
Referenced by compose(), and decompose().
Definition at line 7760 of file ada.cpp.
Referenced by compose(), compute_decomposition_length(), and decompose().
Definition at line 7756 of file ada.cpp.
Referenced by compose(), and decompose().
Definition at line 7975 of file ada.cpp.
Referenced by punycode_to_utf32(), utf32_to_punycode(), and verify_punycode().
Definition at line 7976 of file ada.cpp.
Referenced by punycode_to_utf32(), utf32_to_punycode(), and verify_punycode().
Definition at line 9559 of file ada.cpp.
Referenced by is_forbidden_domain_code_point().
Definition at line 9424 of file ada_idna.cpp.
Definition at line 719 of file ada.cpp.
Referenced by find_range_index(), and map().
Definition at line 7972 of file ada.cpp.
Referenced by adapt(), punycode_to_utf32(), utf32_to_punycode(), and verify_punycode().