|
REAL
Regular Expression Algorithmic Library — constexpr C++20 regex
|
Unicode Script ranges for \p{sc=...} (UCD contract, parsed from tools/ucd/Scripts.txt).
More...
Classes | |
| struct | real::detail::script_range |
| One code-point range and the Script it belongs to (the table partitions the code space). More... | |
| struct | real::detail::script_alias_entry |
| A loose-normalized (lowercase, no _/-/space) Script name and its value. More... | |
Namespaces | |
| namespace | real |
| REAL's public API: real::regex, real::static_regex, real::flags and the match/iterator types built on them. | |
| namespace | real::detail |
| DFA construction internals: subset construction over a flattened NFA. Not a stable API. | |
Enumerations | |
| enum class | real::detail::script : std::uint8_t { Unknown , Adlam , Ahom , Anatolian_Hieroglyphs , Arabic , Armenian , Avestan , Balinese , Bamum , Bassa_Vah , Batak , Bengali , Bhaiksuki , Bopomofo , Brahmi , Braille , Buginese , Buhid , Canadian_Aboriginal , Carian , Caucasian_Albanian , Chakma , Cham , Cherokee , Chorasmian , Common , Coptic , Cuneiform , Cypriot , Cypro_Minoan , Cyrillic , Deseret , Devanagari , Dives_Akuru , Dogra , Duployan , Egyptian_Hieroglyphs , Elbasan , Elymaic , Ethiopic , Garay , Georgian , Glagolitic , Gothic , Grantha , Greek , Gujarati , Gunjala_Gondi , Gurmukhi , Gurung_Khema , Han , Hangul , Hanifi_Rohingya , Hanunoo , Hatran , Hebrew , Hiragana , Imperial_Aramaic , Inherited , Inscriptional_Pahlavi , Inscriptional_Parthian , Javanese , Kaithi , Kannada , Katakana , Kawi , Kayah_Li , Kharoshthi , Khitan_Small_Script , Khmer , Khojki , Khudawadi , Kirat_Rai , Lao , Latin , Lepcha , Limbu , Linear_A , Linear_B , Lisu , Lycian , Lydian , Mahajani , Makasar , Malayalam , Mandaic , Manichaean , Marchen , Masaram_Gondi , Medefaidrin , Meetei_Mayek , Mende_Kikakui , Meroitic_Cursive , Meroitic_Hieroglyphs , Miao , Modi , Mongolian , Mro , Multani , Myanmar , Nabataean , Nag_Mundari , Nandinagari , New_Tai_Lue , Newa , Nko , Nushu , Nyiakeng_Puachue_Hmong , Ogham , Ol_Chiki , Ol_Onal , Old_Hungarian , Old_Italic , Old_North_Arabian , Old_Permic , Old_Persian , Old_Sogdian , Old_South_Arabian , Old_Turkic , Old_Uyghur , Oriya , Osage , Osmanya , Pahawh_Hmong , Palmyrene , Pau_Cin_Hau , Phags_Pa , Phoenician , Psalter_Pahlavi , Rejang , Runic , Samaritan , Saurashtra , Sharada , Shavian , Siddham , SignWriting , Sinhala , Sogdian , Sora_Sompeng , Soyombo , Sundanese , Sunuwar , Syloti_Nagri , Syriac , Tagalog , Tagbanwa , Tai_Le , Tai_Tham , Tai_Viet , Takri , Tamil , Tangsa , Tangut , Telugu , Thaana , Thai , Tibetan , Tifinagh , Tirhuta , Todhri , Toto , Tulu_Tigalari , Ugaritic , Vai , Vithkuqi , Wancho , Warang_Citi , Yezidi , Yi , Zanabazar_Square , count } |
A Unicode Script value; Unknown (0) is every code point no script assigns. | |
Functions | |
| constexpr script | real::detail::script_of (char32_t cp) |
The Script of cp (binary search; Unknown when no range covers it). | |
| constexpr bool | real::detail::is_script_cp (script sc, char32_t cp) |
Whether cp belongs to Script sc (== the UCD). | |
| constexpr script | real::detail::resolve_script (std::string_view loose) |
Resolve a loose-normalized Script name to its value, or count if unknown. | |
Variables | |
| constexpr const char * | real::detail::unicode_script_unidata_version {"16.0.0"} |
| The Unicode data version these tables were generated from. | |
| constexpr script_range | real::detail::script_ranges [] |
| Script partition — 979 ranges, sorted and disjoint. | |
| constexpr script_alias_entry | real::detail::script_aliases [] |
Script names, loose-keyed; for the \p{sc=...} / \p{scx=...} parsers. Both the long name (Latin) and the short UAX24/ISO 15924 code (Latn) resolve to the same value – \p{scx=...} states its overrides in short codes only, and since this table is shared, \p{sc=...} gains the short form too. | |
Unicode Script ranges for \p{sc=...} (UCD contract, parsed from tools/ucd/Scripts.txt).
GENERATED by tools/gen_unicode_script_tables.py – DO NOT EDIT BY HAND.
Every assigned code point has exactly one Script, so this is one sorted {lo, hi, script} table partitioning the code space (gaps are Unknown). Parsed from the committed Scripts.txt and, at generation, cross-checked against the regex module. Scripts data version: 16.0.0 (asserted). Wired at ast.hpp::resolve_property (\p{sc=...} / a bare name / \p{scx=...}), via the generated, loose-keyed resolve_script, which resolves both the long name (Latin) and the short UAX24/ISO 15924 code (Latn) – see tools/ucd/PropertyValueAliases.txt.