REAL
Regular Expression Algorithmic Library — constexpr C++20 regex
Loading...
Searching...
No Matches
unicode_script.hpp File Reference

Unicode Script ranges for \p{sc=...} (UCD contract, parsed from tools/ucd/Scripts.txt). More...

#include "real/version.hpp"
#include <cstddef>
#include <cstdint>
#include <string_view>
Include dependency graph for unicode_script.hpp:

Go to the source code of this file.

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
 
namespace  real::detail
 

Enumerations

enum class  real::detail::script : std::uint8_t {
  real::detail::Unknown , real::detail::Adlam , real::detail::Ahom , real::detail::Anatolian_Hieroglyphs ,
  real::detail::Arabic , real::detail::Armenian , real::detail::Avestan , real::detail::Balinese ,
  real::detail::Bamum , real::detail::Bassa_Vah , real::detail::Batak , real::detail::Bengali ,
  real::detail::Bhaiksuki , real::detail::Bopomofo , real::detail::Brahmi , real::detail::Braille ,
  real::detail::Buginese , real::detail::Buhid , real::detail::Canadian_Aboriginal , real::detail::Carian ,
  real::detail::Caucasian_Albanian , real::detail::Chakma , real::detail::Cham , real::detail::Cherokee ,
  real::detail::Chorasmian , real::detail::Common , real::detail::Coptic , real::detail::Cuneiform ,
  real::detail::Cypriot , real::detail::Cypro_Minoan , real::detail::Cyrillic , real::detail::Deseret ,
  real::detail::Devanagari , real::detail::Dives_Akuru , real::detail::Dogra , real::detail::Duployan ,
  real::detail::Egyptian_Hieroglyphs , real::detail::Elbasan , real::detail::Elymaic , real::detail::Ethiopic ,
  real::detail::Garay , real::detail::Georgian , real::detail::Glagolitic , real::detail::Gothic ,
  real::detail::Grantha , real::detail::Greek , real::detail::Gujarati , real::detail::Gunjala_Gondi ,
  real::detail::Gurmukhi , real::detail::Gurung_Khema , real::detail::Han , real::detail::Hangul ,
  real::detail::Hanifi_Rohingya , real::detail::Hanunoo , real::detail::Hatran , real::detail::Hebrew ,
  real::detail::Hiragana , real::detail::Imperial_Aramaic , real::detail::Inherited , real::detail::Inscriptional_Pahlavi ,
  real::detail::Inscriptional_Parthian , real::detail::Javanese , real::detail::Kaithi , real::detail::Kannada ,
  real::detail::Katakana , real::detail::Kawi , real::detail::Kayah_Li , real::detail::Kharoshthi ,
  real::detail::Khitan_Small_Script , real::detail::Khmer , real::detail::Khojki , real::detail::Khudawadi ,
  real::detail::Kirat_Rai , real::detail::Lao , real::detail::Latin , real::detail::Lepcha ,
  real::detail::Limbu , real::detail::Linear_A , real::detail::Linear_B , real::detail::Lisu ,
  real::detail::Lycian , real::detail::Lydian , real::detail::Mahajani , real::detail::Makasar ,
  real::detail::Malayalam , real::detail::Mandaic , real::detail::Manichaean , real::detail::Marchen ,
  real::detail::Masaram_Gondi , real::detail::Medefaidrin , real::detail::Meetei_Mayek , real::detail::Mende_Kikakui ,
  real::detail::Meroitic_Cursive , real::detail::Meroitic_Hieroglyphs , real::detail::Miao , real::detail::Modi ,
  real::detail::Mongolian , real::detail::Mro , real::detail::Multani , real::detail::Myanmar ,
  real::detail::Nabataean , real::detail::Nag_Mundari , real::detail::Nandinagari , real::detail::New_Tai_Lue ,
  real::detail::Newa , real::detail::Nko , real::detail::Nushu , real::detail::Nyiakeng_Puachue_Hmong ,
  real::detail::Ogham , real::detail::Ol_Chiki , real::detail::Ol_Onal , real::detail::Old_Hungarian ,
  real::detail::Old_Italic , real::detail::Old_North_Arabian , real::detail::Old_Permic , real::detail::Old_Persian ,
  real::detail::Old_Sogdian , real::detail::Old_South_Arabian , real::detail::Old_Turkic , real::detail::Old_Uyghur ,
  real::detail::Oriya , real::detail::Osage , real::detail::Osmanya , real::detail::Pahawh_Hmong ,
  real::detail::Palmyrene , real::detail::Pau_Cin_Hau , real::detail::Phags_Pa , real::detail::Phoenician ,
  real::detail::Psalter_Pahlavi , real::detail::Rejang , real::detail::Runic , real::detail::Samaritan ,
  real::detail::Saurashtra , real::detail::Sharada , real::detail::Shavian , real::detail::Siddham ,
  real::detail::SignWriting , real::detail::Sinhala , real::detail::Sogdian , real::detail::Sora_Sompeng ,
  real::detail::Soyombo , real::detail::Sundanese , real::detail::Sunuwar , real::detail::Syloti_Nagri ,
  real::detail::Syriac , real::detail::Tagalog , real::detail::Tagbanwa , real::detail::Tai_Le ,
  real::detail::Tai_Tham , real::detail::Tai_Viet , real::detail::Takri , real::detail::Tamil ,
  real::detail::Tangsa , real::detail::Tangut , real::detail::Telugu , real::detail::Thaana ,
  real::detail::Thai , real::detail::Tibetan , real::detail::Tifinagh , real::detail::Tirhuta ,
  real::detail::Todhri , real::detail::Toto , real::detail::Tulu_Tigalari , real::detail::Ugaritic ,
  real::detail::Vai , real::detail::Vithkuqi , real::detail::Wancho , real::detail::Warang_Citi ,
  real::detail::Yezidi , real::detail::Yi , real::detail::Zanabazar_Square , real::detail::count
}
 A Unicode Script value; Unknown (0) is every code point no script assigns. More...
 

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 (16.0.0).
 
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=...} parser.
 

Detailed Description

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). INERT: no parser reaches these yet (the P0b data slice).

Definition in file unicode_script.hpp.