Ada 2.7.8
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 } |
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 |
Definition at line 8056 of file ada_idna.cpp.
Definition at line 7853 of file ada_idna.cpp.
References base, damp, ada::parse(), skew, tmax, and tmin.
Referenced by punycode_to_utf32(), utf32_to_punycode(), and verify_punycode().
Definition at line 2620 of file ada_idna.cpp.
References ada::parse().
Definition at line 2644 of file ada_idna.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 9398 of file ada_idna.cpp.
References ada::parse().
bool ada::idna::begins_with | ( | std::u32string_view | view, |
std::u32string_view | prefix ) |
Definition at line 9390 of file ada_idna.cpp.
References ada::parse().
Referenced by from_ascii_to_ascii(), to_ascii(), and to_unicode().
Definition at line 7843 of file ada_idna.cpp.
Referenced by punycode_to_utf32(), and verify_punycode().
void ada::idna::compose | ( | std::u32string & | input | ) |
Compose the domain_name string to Unicode Normalization Form C.
Definition at line 7737 of file ada_idna.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 7630 of file ada_idna.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 9443 of file ada_idna.cpp.
References is_forbidden_domain_code_point(), and ada::parse().
Definition at line 7660 of file ada_idna.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.
Definition at line 7724 of file ada_idna.cpp.
References compute_decomposition_length(), decompose(), ada::parse(), and sort_marks().
Referenced by normalize().
Definition at line 7849 of file ada_idna.cpp.
References ada::parse().
Referenced by utf32_to_punycode().
Definition at line 8818 of file ada_idna.cpp.
References dir_table, ada::idna::directions::direct, NONE, and ada::parse().
Referenced by find_last_not_of_nsm(), is_label_valid(), and is_rtl_label().
|
inlinestaticnoexcept |
Definition at line 8834 of file ada_idna.cpp.
References find_direction(), NSM, and ada::parse().
Referenced by is_label_valid().
Definition at line 2598 of file ada_idna.cpp.
References ada::parse(), and table.
Referenced by map().
|
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().
Referenced by to_ascii().
Definition at line 7702 of file ada_idna.cpp.
References canonical_combining_class_block, canonical_combining_class_index, and ada::parse().
Referenced by compose(), and sort_marks().
Definition at line 9415 of file ada_idna.cpp.
References ada::parse().
Definition at line 9406 of file ada_idna.cpp.
References ada::parse().
Referenced by to_ascii(), and to_unicode().
Definition at line 9439 of file ada_idna.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 8855 of file ada_idna.cpp.
References AL, AN, BN, CS, EN, ES, ET, find_direction(), find_last_not_of_nsm(), is_rtl_label(), L, NSM, ON, ada::parse(), and R.
Referenced by from_ascii_to_ascii(), and to_ascii().
Definition at line 8844 of file ada_idna.cpp.
References AL, AN, find_direction(), ada::parse(), and R.
Referenced by is_label_valid().
std::u32string ada::idna::map | ( | std::u32string_view | input | ) |
Definition at line 2670 of file ada_idna.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.
Definition at line 7818 of file ada_idna.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 7868 of file ada_idna.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 7708 of file ada_idna.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 9505 of file ada_idna.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 9602 of file ada_idna.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 7987 of file ada_idna.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 7929 of file ada_idna.cpp.
References adapt(), base, char_to_digit_value(), initial_bias, initial_n, ada::parse(), and tmax.
Referenced by to_unicode().
Definition at line 7835 of file ada_idna.cpp.
Referenced by adapt(), punycode_to_utf32(), utf32_to_punycode(), and verify_punycode().
Definition at line 5856 of file ada_idna.cpp.
Referenced by get_ccc().
Definition at line 5625 of file ada_idna.cpp.
Referenced by get_ccc().
Definition at line 6931 of file ada_idna.cpp.
Referenced by compose().
Definition at line 7437 of file ada_idna.cpp.
Referenced by compose().
Definition at line 6732 of file ada_idna.cpp.
Referenced by compose().
Definition at line 7839 of file ada_idna.cpp.
Referenced by adapt().
Definition at line 2967 of file ada_idna.cpp.
Referenced by compute_decomposition_length(), and decompose().
Definition at line 4611 of file ada_idna.cpp.
Referenced by decompose().
Definition at line 2735 of file ada_idna.cpp.
Referenced by compute_decomposition_length(), and decompose().
|
static |
Definition at line 8089 of file ada_idna.cpp.
Referenced by find_direction().
Definition at line 7622 of file ada_idna.cpp.
Referenced by compose(), and decompose().
Definition at line 7623 of file ada_idna.cpp.
Referenced by compose().
|
constexpr |
Definition at line 7626 of file ada_idna.cpp.
Referenced by decompose().
Definition at line 7619 of file ada_idna.cpp.
Referenced by compose(), compute_decomposition_length(), and decompose().
Definition at line 7627 of file ada_idna.cpp.
Referenced by compose(), compute_decomposition_length(), and decompose().
Definition at line 7620 of file ada_idna.cpp.
Referenced by compose(), and decompose().
Definition at line 7625 of file ada_idna.cpp.
Referenced by compose(), compute_decomposition_length(), and decompose().
Definition at line 7621 of file ada_idna.cpp.
Referenced by compose(), and decompose().
Definition at line 7624 of file ada_idna.cpp.
Referenced by compose().
Definition at line 7840 of file ada_idna.cpp.
Referenced by punycode_to_utf32(), utf32_to_punycode(), and verify_punycode().
Definition at line 7841 of file ada_idna.cpp.
Referenced by punycode_to_utf32(), utf32_to_punycode(), and verify_punycode().
Definition at line 9424 of file ada_idna.cpp.
Referenced by is_forbidden_domain_code_point().
Definition at line 202 of file ada_idna.cpp.
Referenced by map().
Definition at line 7838 of file ada_idna.cpp.
Referenced by adapt().
Definition at line 584 of file ada_idna.cpp.
Referenced by find_range_index(), and map().
Definition at line 7837 of file ada_idna.cpp.
Referenced by adapt(), punycode_to_utf32(), utf32_to_punycode(), and verify_punycode().
Definition at line 7836 of file ada_idna.cpp.
Referenced by adapt().