File indexing completed on 2025-01-31 10:02:35
0001
0002
0003
0004
0005
0006
0007 #if !defined(BOOST_SPIRIT_X3_UNICODE_JAN_20_2012_1218AM)
0008 #define BOOST_SPIRIT_X3_UNICODE_JAN_20_2012_1218AM
0009
0010 #include <boost/spirit/home/x3/char/char_parser.hpp>
0011 #include <boost/spirit/home/x3/char/char.hpp>
0012 #include <boost/spirit/home/x3/char/detail/cast_char.hpp>
0013 #include <boost/spirit/home/support/char_encoding/unicode.hpp>
0014
0015 namespace boost { namespace spirit { namespace x3
0016 {
0017
0018
0019
0020 struct char_tag;
0021 struct alnum_tag;
0022 struct alpha_tag;
0023 struct blank_tag;
0024 struct cntrl_tag;
0025 struct digit_tag;
0026 struct graph_tag;
0027 struct print_tag;
0028 struct punct_tag;
0029 struct space_tag;
0030 struct xdigit_tag;
0031 struct lower_tag;
0032 struct upper_tag;
0033
0034
0035
0036
0037 struct letter_tag {};
0038 struct mark_tag {};
0039 struct number_tag {};
0040 struct separator_tag {};
0041 struct other_tag {};
0042 struct punctuation_tag {};
0043 struct symbol_tag {};
0044
0045
0046
0047
0048 struct uppercase_letter_tag {};
0049 struct lowercase_letter_tag {};
0050 struct titlecase_letter_tag {};
0051 struct modifier_letter_tag {};
0052 struct other_letter_tag {};
0053
0054 struct nonspacing_mark_tag {};
0055 struct enclosing_mark_tag {};
0056 struct spacing_mark_tag {};
0057
0058 struct decimal_number_tag {};
0059 struct letter_number_tag {};
0060 struct other_number_tag {};
0061
0062 struct space_separator_tag {};
0063 struct line_separator_tag {};
0064 struct paragraph_separator_tag {};
0065
0066 struct control_tag {};
0067 struct format_tag {};
0068 struct private_use_tag {};
0069 struct surrogate_tag {};
0070 struct unassigned_tag {};
0071
0072 struct dash_punctuation_tag {};
0073 struct open_punctuation_tag {};
0074 struct close_punctuation_tag {};
0075 struct connector_punctuation_tag {};
0076 struct other_punctuation_tag {};
0077 struct initial_punctuation_tag {};
0078 struct final_punctuation_tag {};
0079
0080 struct math_symbol_tag {};
0081 struct currency_symbol_tag {};
0082 struct modifier_symbol_tag {};
0083 struct other_symbol_tag {};
0084
0085
0086
0087
0088 struct alphabetic_tag {};
0089 struct uppercase_tag {};
0090 struct lowercase_tag {};
0091 struct white_space_tag {};
0092 struct hex_digit_tag {};
0093 struct noncharacter_code_point_tag {};
0094 struct default_ignorable_code_point_tag {};
0095
0096
0097
0098
0099 struct adlam_tag {};
0100 struct caucasian_albanian_tag {};
0101 struct ahom_tag {};
0102 struct arabic_tag {};
0103 struct imperial_aramaic_tag {};
0104 struct armenian_tag {};
0105 struct avestan_tag {};
0106 struct balinese_tag {};
0107 struct bamum_tag {};
0108 struct bassa_vah_tag {};
0109 struct batak_tag {};
0110 struct bengali_tag {};
0111 struct bhaiksuki_tag {};
0112 struct bopomofo_tag {};
0113 struct brahmi_tag {};
0114 struct braille_tag {};
0115 struct buginese_tag {};
0116 struct buhid_tag {};
0117 struct chakma_tag {};
0118 struct canadian_aboriginal_tag {};
0119 struct carian_tag {};
0120 struct cham_tag {};
0121 struct cherokee_tag {};
0122 struct chorasmian_tag {};
0123 struct coptic_tag {};
0124 struct cypro_minoan_tag {};
0125 struct cypriot_tag {};
0126 struct cyrillic_tag {};
0127 struct devanagari_tag {};
0128 struct dives_akuru_tag {};
0129 struct dogra_tag {};
0130 struct deseret_tag {};
0131 struct duployan_tag {};
0132 struct egyptian_hieroglyphs_tag {};
0133 struct elbasan_tag {};
0134 struct elymaic_tag {};
0135 struct ethiopic_tag {};
0136 struct georgian_tag {};
0137 struct glagolitic_tag {};
0138 struct gunjala_gondi_tag {};
0139 struct masaram_gondi_tag {};
0140 struct gothic_tag {};
0141 struct grantha_tag {};
0142 struct greek_tag {};
0143 struct gujarati_tag {};
0144 struct gurmukhi_tag {};
0145 struct hangul_tag {};
0146 struct han_tag {};
0147 struct hanunoo_tag {};
0148 struct hatran_tag {};
0149 struct hebrew_tag {};
0150 struct hiragana_tag {};
0151 struct anatolian_hieroglyphs_tag {};
0152 struct pahawh_hmong_tag {};
0153 struct nyiakeng_puachue_hmong_tag {};
0154 struct katakana_or_hiragana_tag {};
0155 struct old_hungarian_tag {};
0156 struct old_italic_tag {};
0157 struct javanese_tag {};
0158 struct kayah_li_tag {};
0159 struct katakana_tag {};
0160 struct kawi_tag {};
0161 struct kharoshthi_tag {};
0162 struct khmer_tag {};
0163 struct khojki_tag {};
0164 struct khitan_small_script_tag {};
0165 struct kannada_tag {};
0166 struct kaithi_tag {};
0167 struct tai_tham_tag {};
0168 struct lao_tag {};
0169 struct latin_tag {};
0170 struct lepcha_tag {};
0171 struct limbu_tag {};
0172 struct linear_a_tag {};
0173 struct linear_b_tag {};
0174 struct lisu_tag {};
0175 struct lycian_tag {};
0176 struct lydian_tag {};
0177 struct mahajani_tag {};
0178 struct makasar_tag {};
0179 struct mandaic_tag {};
0180 struct manichaean_tag {};
0181 struct marchen_tag {};
0182 struct medefaidrin_tag {};
0183 struct mende_kikakui_tag {};
0184 struct meroitic_cursive_tag {};
0185 struct meroitic_hieroglyphs_tag {};
0186 struct malayalam_tag {};
0187 struct modi_tag {};
0188 struct mongolian_tag {};
0189 struct mro_tag {};
0190 struct meetei_mayek_tag {};
0191 struct multani_tag {};
0192 struct myanmar_tag {};
0193 struct nag_mundari_tag {};
0194 struct nandinagari_tag {};
0195 struct old_north_arabian_tag {};
0196 struct nabataean_tag {};
0197 struct newa_tag {};
0198 struct nko_tag {};
0199 struct nushu_tag {};
0200 struct ogham_tag {};
0201 struct ol_chiki_tag {};
0202 struct old_turkic_tag {};
0203 struct oriya_tag {};
0204 struct osage_tag {};
0205 struct osmanya_tag {};
0206 struct old_uyghur_tag {};
0207 struct palmyrene_tag {};
0208 struct pau_cin_hau_tag {};
0209 struct old_permic_tag {};
0210 struct phags_pa_tag {};
0211 struct inscriptional_pahlavi_tag {};
0212 struct psalter_pahlavi_tag {};
0213 struct phoenician_tag {};
0214 struct miao_tag {};
0215 struct inscriptional_parthian_tag {};
0216 struct rejang_tag {};
0217 struct hanifi_rohingya_tag {};
0218 struct runic_tag {};
0219 struct samaritan_tag {};
0220 struct old_south_arabian_tag {};
0221 struct saurashtra_tag {};
0222 struct signwriting_tag {};
0223 struct shavian_tag {};
0224 struct sharada_tag {};
0225 struct siddham_tag {};
0226 struct khudawadi_tag {};
0227 struct sinhala_tag {};
0228 struct sogdian_tag {};
0229 struct old_sogdian_tag {};
0230 struct sora_sompeng_tag {};
0231 struct soyombo_tag {};
0232 struct sundanese_tag {};
0233 struct syloti_nagri_tag {};
0234 struct syriac_tag {};
0235 struct tagbanwa_tag {};
0236 struct takri_tag {};
0237 struct tai_le_tag {};
0238 struct new_tai_lue_tag {};
0239 struct tamil_tag {};
0240 struct tangut_tag {};
0241 struct tai_viet_tag {};
0242 struct telugu_tag {};
0243 struct tifinagh_tag {};
0244 struct tagalog_tag {};
0245 struct thaana_tag {};
0246 struct thai_tag {};
0247 struct tibetan_tag {};
0248 struct tirhuta_tag {};
0249 struct tangsa_tag {};
0250 struct toto_tag {};
0251 struct ugaritic_tag {};
0252 struct vai_tag {};
0253 struct vithkuqi_tag {};
0254 struct warang_citi_tag {};
0255 struct wancho_tag {};
0256 struct old_persian_tag {};
0257 struct cuneiform_tag {};
0258 struct yezidi_tag {};
0259 struct yi_tag {};
0260 struct zanabazar_square_tag {};
0261 struct inherited_tag {};
0262 struct common_tag {};
0263 struct unknown_tag {};
0264
0265
0266 struct unicode_char_class_base
0267 {
0268 typedef char_encoding::unicode encoding;
0269 typedef char_encoding::unicode::char_type char_type;
0270
0271 #define BOOST_SPIRIT_X3_BASIC_CLASSIFY(name) \
0272 template <typename Char> \
0273 static bool \
0274 is(name##_tag, Char ch) \
0275 { \
0276 return encoding::is ##name \
0277 BOOST_PREVENT_MACRO_SUBSTITUTION \
0278 (detail::cast_char<char_type>(ch)); \
0279 } \
0280
0281
0282 #define BOOST_SPIRIT_X3_CLASSIFY(name) \
0283 template <typename Char> \
0284 static bool \
0285 is(name##_tag, Char ch) \
0286 { \
0287 return encoding::is_##name \
0288 BOOST_PREVENT_MACRO_SUBSTITUTION \
0289 (detail::cast_char<char_type>(ch)); \
0290 } \
0291
0292
0293
0294
0295
0296
0297 BOOST_SPIRIT_X3_BASIC_CLASSIFY(char)
0298 BOOST_SPIRIT_X3_BASIC_CLASSIFY(alnum)
0299 BOOST_SPIRIT_X3_BASIC_CLASSIFY(alpha)
0300 BOOST_SPIRIT_X3_BASIC_CLASSIFY(digit)
0301 BOOST_SPIRIT_X3_BASIC_CLASSIFY(xdigit)
0302 BOOST_SPIRIT_X3_BASIC_CLASSIFY(cntrl)
0303 BOOST_SPIRIT_X3_BASIC_CLASSIFY(graph)
0304 BOOST_SPIRIT_X3_BASIC_CLASSIFY(lower)
0305 BOOST_SPIRIT_X3_BASIC_CLASSIFY(print)
0306 BOOST_SPIRIT_X3_BASIC_CLASSIFY(punct)
0307 BOOST_SPIRIT_X3_BASIC_CLASSIFY(space)
0308 BOOST_SPIRIT_X3_BASIC_CLASSIFY(blank)
0309 BOOST_SPIRIT_X3_BASIC_CLASSIFY(upper)
0310
0311
0312
0313
0314 BOOST_SPIRIT_X3_CLASSIFY(letter)
0315 BOOST_SPIRIT_X3_CLASSIFY(mark)
0316 BOOST_SPIRIT_X3_CLASSIFY(number)
0317 BOOST_SPIRIT_X3_CLASSIFY(separator)
0318 BOOST_SPIRIT_X3_CLASSIFY(other)
0319 BOOST_SPIRIT_X3_CLASSIFY(punctuation)
0320 BOOST_SPIRIT_X3_CLASSIFY(symbol)
0321
0322
0323
0324
0325 BOOST_SPIRIT_X3_CLASSIFY(uppercase_letter)
0326 BOOST_SPIRIT_X3_CLASSIFY(lowercase_letter)
0327 BOOST_SPIRIT_X3_CLASSIFY(titlecase_letter)
0328 BOOST_SPIRIT_X3_CLASSIFY(modifier_letter)
0329 BOOST_SPIRIT_X3_CLASSIFY(other_letter)
0330
0331 BOOST_SPIRIT_X3_CLASSIFY(nonspacing_mark)
0332 BOOST_SPIRIT_X3_CLASSIFY(enclosing_mark)
0333 BOOST_SPIRIT_X3_CLASSIFY(spacing_mark)
0334
0335 BOOST_SPIRIT_X3_CLASSIFY(decimal_number)
0336 BOOST_SPIRIT_X3_CLASSIFY(letter_number)
0337 BOOST_SPIRIT_X3_CLASSIFY(other_number)
0338
0339 BOOST_SPIRIT_X3_CLASSIFY(space_separator)
0340 BOOST_SPIRIT_X3_CLASSIFY(line_separator)
0341 BOOST_SPIRIT_X3_CLASSIFY(paragraph_separator)
0342
0343 BOOST_SPIRIT_X3_CLASSIFY(control)
0344 BOOST_SPIRIT_X3_CLASSIFY(format)
0345 BOOST_SPIRIT_X3_CLASSIFY(private_use)
0346 BOOST_SPIRIT_X3_CLASSIFY(surrogate)
0347 BOOST_SPIRIT_X3_CLASSIFY(unassigned)
0348
0349 BOOST_SPIRIT_X3_CLASSIFY(dash_punctuation)
0350 BOOST_SPIRIT_X3_CLASSIFY(open_punctuation)
0351 BOOST_SPIRIT_X3_CLASSIFY(close_punctuation)
0352 BOOST_SPIRIT_X3_CLASSIFY(connector_punctuation)
0353 BOOST_SPIRIT_X3_CLASSIFY(other_punctuation)
0354 BOOST_SPIRIT_X3_CLASSIFY(initial_punctuation)
0355 BOOST_SPIRIT_X3_CLASSIFY(final_punctuation)
0356
0357 BOOST_SPIRIT_X3_CLASSIFY(math_symbol)
0358 BOOST_SPIRIT_X3_CLASSIFY(currency_symbol)
0359 BOOST_SPIRIT_X3_CLASSIFY(modifier_symbol)
0360 BOOST_SPIRIT_X3_CLASSIFY(other_symbol)
0361
0362
0363
0364
0365 BOOST_SPIRIT_X3_CLASSIFY(alphabetic)
0366 BOOST_SPIRIT_X3_CLASSIFY(uppercase)
0367 BOOST_SPIRIT_X3_CLASSIFY(lowercase)
0368 BOOST_SPIRIT_X3_CLASSIFY(white_space)
0369 BOOST_SPIRIT_X3_CLASSIFY(hex_digit)
0370 BOOST_SPIRIT_X3_CLASSIFY(noncharacter_code_point)
0371 BOOST_SPIRIT_X3_CLASSIFY(default_ignorable_code_point)
0372
0373
0374
0375
0376 BOOST_SPIRIT_X3_CLASSIFY(adlam)
0377 BOOST_SPIRIT_X3_CLASSIFY(caucasian_albanian)
0378 BOOST_SPIRIT_X3_CLASSIFY(ahom)
0379 BOOST_SPIRIT_X3_CLASSIFY(arabic)
0380 BOOST_SPIRIT_X3_CLASSIFY(imperial_aramaic)
0381 BOOST_SPIRIT_X3_CLASSIFY(armenian)
0382 BOOST_SPIRIT_X3_CLASSIFY(avestan)
0383 BOOST_SPIRIT_X3_CLASSIFY(balinese)
0384 BOOST_SPIRIT_X3_CLASSIFY(bamum)
0385 BOOST_SPIRIT_X3_CLASSIFY(bassa_vah)
0386 BOOST_SPIRIT_X3_CLASSIFY(batak)
0387 BOOST_SPIRIT_X3_CLASSIFY(bengali)
0388 BOOST_SPIRIT_X3_CLASSIFY(bhaiksuki)
0389 BOOST_SPIRIT_X3_CLASSIFY(bopomofo)
0390 BOOST_SPIRIT_X3_CLASSIFY(brahmi)
0391 BOOST_SPIRIT_X3_CLASSIFY(braille)
0392 BOOST_SPIRIT_X3_CLASSIFY(buginese)
0393 BOOST_SPIRIT_X3_CLASSIFY(buhid)
0394 BOOST_SPIRIT_X3_CLASSIFY(chakma)
0395 BOOST_SPIRIT_X3_CLASSIFY(canadian_aboriginal)
0396 BOOST_SPIRIT_X3_CLASSIFY(carian)
0397 BOOST_SPIRIT_X3_CLASSIFY(cham)
0398 BOOST_SPIRIT_X3_CLASSIFY(cherokee)
0399 BOOST_SPIRIT_X3_CLASSIFY(chorasmian)
0400 BOOST_SPIRIT_X3_CLASSIFY(coptic)
0401 BOOST_SPIRIT_X3_CLASSIFY(cypro_minoan)
0402 BOOST_SPIRIT_X3_CLASSIFY(cypriot)
0403 BOOST_SPIRIT_X3_CLASSIFY(cyrillic)
0404 BOOST_SPIRIT_X3_CLASSIFY(devanagari)
0405 BOOST_SPIRIT_X3_CLASSIFY(dives_akuru)
0406 BOOST_SPIRIT_X3_CLASSIFY(dogra)
0407 BOOST_SPIRIT_X3_CLASSIFY(deseret)
0408 BOOST_SPIRIT_X3_CLASSIFY(duployan)
0409 BOOST_SPIRIT_X3_CLASSIFY(egyptian_hieroglyphs)
0410 BOOST_SPIRIT_X3_CLASSIFY(elbasan)
0411 BOOST_SPIRIT_X3_CLASSIFY(elymaic)
0412 BOOST_SPIRIT_X3_CLASSIFY(ethiopic)
0413 BOOST_SPIRIT_X3_CLASSIFY(georgian)
0414 BOOST_SPIRIT_X3_CLASSIFY(glagolitic)
0415 BOOST_SPIRIT_X3_CLASSIFY(gunjala_gondi)
0416 BOOST_SPIRIT_X3_CLASSIFY(masaram_gondi)
0417 BOOST_SPIRIT_X3_CLASSIFY(gothic)
0418 BOOST_SPIRIT_X3_CLASSIFY(grantha)
0419 BOOST_SPIRIT_X3_CLASSIFY(greek)
0420 BOOST_SPIRIT_X3_CLASSIFY(gujarati)
0421 BOOST_SPIRIT_X3_CLASSIFY(gurmukhi)
0422 BOOST_SPIRIT_X3_CLASSIFY(hangul)
0423 BOOST_SPIRIT_X3_CLASSIFY(han)
0424 BOOST_SPIRIT_X3_CLASSIFY(hanunoo)
0425 BOOST_SPIRIT_X3_CLASSIFY(hatran)
0426 BOOST_SPIRIT_X3_CLASSIFY(hebrew)
0427 BOOST_SPIRIT_X3_CLASSIFY(hiragana)
0428 BOOST_SPIRIT_X3_CLASSIFY(anatolian_hieroglyphs)
0429 BOOST_SPIRIT_X3_CLASSIFY(pahawh_hmong)
0430 BOOST_SPIRIT_X3_CLASSIFY(nyiakeng_puachue_hmong)
0431 BOOST_SPIRIT_X3_CLASSIFY(katakana_or_hiragana)
0432 BOOST_SPIRIT_X3_CLASSIFY(old_hungarian)
0433 BOOST_SPIRIT_X3_CLASSIFY(old_italic)
0434 BOOST_SPIRIT_X3_CLASSIFY(javanese)
0435 BOOST_SPIRIT_X3_CLASSIFY(kayah_li)
0436 BOOST_SPIRIT_X3_CLASSIFY(katakana)
0437 BOOST_SPIRIT_X3_CLASSIFY(kawi)
0438 BOOST_SPIRIT_X3_CLASSIFY(kharoshthi)
0439 BOOST_SPIRIT_X3_CLASSIFY(khmer)
0440 BOOST_SPIRIT_X3_CLASSIFY(khojki)
0441 BOOST_SPIRIT_X3_CLASSIFY(khitan_small_script)
0442 BOOST_SPIRIT_X3_CLASSIFY(kannada)
0443 BOOST_SPIRIT_X3_CLASSIFY(kaithi)
0444 BOOST_SPIRIT_X3_CLASSIFY(tai_tham)
0445 BOOST_SPIRIT_X3_CLASSIFY(lao)
0446 BOOST_SPIRIT_X3_CLASSIFY(latin)
0447 BOOST_SPIRIT_X3_CLASSIFY(lepcha)
0448 BOOST_SPIRIT_X3_CLASSIFY(limbu)
0449 BOOST_SPIRIT_X3_CLASSIFY(linear_a)
0450 BOOST_SPIRIT_X3_CLASSIFY(linear_b)
0451 BOOST_SPIRIT_X3_CLASSIFY(lisu)
0452 BOOST_SPIRIT_X3_CLASSIFY(lycian)
0453 BOOST_SPIRIT_X3_CLASSIFY(lydian)
0454 BOOST_SPIRIT_X3_CLASSIFY(mahajani)
0455 BOOST_SPIRIT_X3_CLASSIFY(makasar)
0456 BOOST_SPIRIT_X3_CLASSIFY(mandaic)
0457 BOOST_SPIRIT_X3_CLASSIFY(manichaean)
0458 BOOST_SPIRIT_X3_CLASSIFY(marchen)
0459 BOOST_SPIRIT_X3_CLASSIFY(medefaidrin)
0460 BOOST_SPIRIT_X3_CLASSIFY(mende_kikakui)
0461 BOOST_SPIRIT_X3_CLASSIFY(meroitic_cursive)
0462 BOOST_SPIRIT_X3_CLASSIFY(meroitic_hieroglyphs)
0463 BOOST_SPIRIT_X3_CLASSIFY(malayalam)
0464 BOOST_SPIRIT_X3_CLASSIFY(modi)
0465 BOOST_SPIRIT_X3_CLASSIFY(mongolian)
0466 BOOST_SPIRIT_X3_CLASSIFY(mro)
0467 BOOST_SPIRIT_X3_CLASSIFY(meetei_mayek)
0468 BOOST_SPIRIT_X3_CLASSIFY(multani)
0469 BOOST_SPIRIT_X3_CLASSIFY(myanmar)
0470 BOOST_SPIRIT_X3_CLASSIFY(nag_mundari)
0471 BOOST_SPIRIT_X3_CLASSIFY(nandinagari)
0472 BOOST_SPIRIT_X3_CLASSIFY(old_north_arabian)
0473 BOOST_SPIRIT_X3_CLASSIFY(nabataean)
0474 BOOST_SPIRIT_X3_CLASSIFY(newa)
0475 BOOST_SPIRIT_X3_CLASSIFY(nko)
0476 BOOST_SPIRIT_X3_CLASSIFY(nushu)
0477 BOOST_SPIRIT_X3_CLASSIFY(ogham)
0478 BOOST_SPIRIT_X3_CLASSIFY(ol_chiki)
0479 BOOST_SPIRIT_X3_CLASSIFY(old_turkic)
0480 BOOST_SPIRIT_X3_CLASSIFY(oriya)
0481 BOOST_SPIRIT_X3_CLASSIFY(osage)
0482 BOOST_SPIRIT_X3_CLASSIFY(osmanya)
0483 BOOST_SPIRIT_X3_CLASSIFY(old_uyghur)
0484 BOOST_SPIRIT_X3_CLASSIFY(palmyrene)
0485 BOOST_SPIRIT_X3_CLASSIFY(pau_cin_hau)
0486 BOOST_SPIRIT_X3_CLASSIFY(old_permic)
0487 BOOST_SPIRIT_X3_CLASSIFY(phags_pa)
0488 BOOST_SPIRIT_X3_CLASSIFY(inscriptional_pahlavi)
0489 BOOST_SPIRIT_X3_CLASSIFY(psalter_pahlavi)
0490 BOOST_SPIRIT_X3_CLASSIFY(phoenician)
0491 BOOST_SPIRIT_X3_CLASSIFY(miao)
0492 BOOST_SPIRIT_X3_CLASSIFY(inscriptional_parthian)
0493 BOOST_SPIRIT_X3_CLASSIFY(rejang)
0494 BOOST_SPIRIT_X3_CLASSIFY(hanifi_rohingya)
0495 BOOST_SPIRIT_X3_CLASSIFY(runic)
0496 BOOST_SPIRIT_X3_CLASSIFY(samaritan)
0497 BOOST_SPIRIT_X3_CLASSIFY(old_south_arabian)
0498 BOOST_SPIRIT_X3_CLASSIFY(saurashtra)
0499 BOOST_SPIRIT_X3_CLASSIFY(signwriting)
0500 BOOST_SPIRIT_X3_CLASSIFY(shavian)
0501 BOOST_SPIRIT_X3_CLASSIFY(sharada)
0502 BOOST_SPIRIT_X3_CLASSIFY(siddham)
0503 BOOST_SPIRIT_X3_CLASSIFY(khudawadi)
0504 BOOST_SPIRIT_X3_CLASSIFY(sinhala)
0505 BOOST_SPIRIT_X3_CLASSIFY(sogdian)
0506 BOOST_SPIRIT_X3_CLASSIFY(old_sogdian)
0507 BOOST_SPIRIT_X3_CLASSIFY(sora_sompeng)
0508 BOOST_SPIRIT_X3_CLASSIFY(soyombo)
0509 BOOST_SPIRIT_X3_CLASSIFY(sundanese)
0510 BOOST_SPIRIT_X3_CLASSIFY(syloti_nagri)
0511 BOOST_SPIRIT_X3_CLASSIFY(syriac)
0512 BOOST_SPIRIT_X3_CLASSIFY(tagbanwa)
0513 BOOST_SPIRIT_X3_CLASSIFY(takri)
0514 BOOST_SPIRIT_X3_CLASSIFY(tai_le)
0515 BOOST_SPIRIT_X3_CLASSIFY(new_tai_lue)
0516 BOOST_SPIRIT_X3_CLASSIFY(tamil)
0517 BOOST_SPIRIT_X3_CLASSIFY(tangut)
0518 BOOST_SPIRIT_X3_CLASSIFY(tai_viet)
0519 BOOST_SPIRIT_X3_CLASSIFY(telugu)
0520 BOOST_SPIRIT_X3_CLASSIFY(tifinagh)
0521 BOOST_SPIRIT_X3_CLASSIFY(tagalog)
0522 BOOST_SPIRIT_X3_CLASSIFY(thaana)
0523 BOOST_SPIRIT_X3_CLASSIFY(thai)
0524 BOOST_SPIRIT_X3_CLASSIFY(tibetan)
0525 BOOST_SPIRIT_X3_CLASSIFY(tirhuta)
0526 BOOST_SPIRIT_X3_CLASSIFY(tangsa)
0527 BOOST_SPIRIT_X3_CLASSIFY(toto)
0528 BOOST_SPIRIT_X3_CLASSIFY(ugaritic)
0529 BOOST_SPIRIT_X3_CLASSIFY(vai)
0530 BOOST_SPIRIT_X3_CLASSIFY(vithkuqi)
0531 BOOST_SPIRIT_X3_CLASSIFY(warang_citi)
0532 BOOST_SPIRIT_X3_CLASSIFY(wancho)
0533 BOOST_SPIRIT_X3_CLASSIFY(old_persian)
0534 BOOST_SPIRIT_X3_CLASSIFY(cuneiform)
0535 BOOST_SPIRIT_X3_CLASSIFY(yezidi)
0536 BOOST_SPIRIT_X3_CLASSIFY(yi)
0537 BOOST_SPIRIT_X3_CLASSIFY(zanabazar_square)
0538 BOOST_SPIRIT_X3_CLASSIFY(inherited)
0539 BOOST_SPIRIT_X3_CLASSIFY(common)
0540 BOOST_SPIRIT_X3_CLASSIFY(unknown)
0541
0542 #undef BOOST_SPIRIT_X3_BASIC_CLASSIFY
0543 #undef BOOST_SPIRIT_X3_CLASSIFY
0544 };
0545
0546 template <typename Tag>
0547 struct unicode_char_class
0548 : char_parser<unicode_char_class<Tag>>
0549 {
0550 typedef char_encoding::unicode encoding;
0551 typedef Tag tag;
0552 typedef typename encoding::char_type char_type;
0553 typedef char_type attribute_type;
0554 static bool const has_attribute = true;
0555
0556 template <typename Char, typename Context>
0557 bool test(Char ch, Context const&) const
0558 {
0559 return encoding::ischar(ch) && unicode_char_class_base::is(tag(), ch);
0560 }
0561 };
0562
0563 #define BOOST_SPIRIT_X3_CHAR_CLASS(name) \
0564 typedef unicode_char_class<name##_tag> name##_type; \
0565 constexpr name##_type name = name##_type(); \
0566
0567
0568 namespace unicode
0569 {
0570 typedef any_char<char_encoding::unicode> char_type;
0571 constexpr auto char_ = char_type{};
0572
0573
0574
0575
0576 BOOST_SPIRIT_X3_CHAR_CLASS(alnum)
0577 BOOST_SPIRIT_X3_CHAR_CLASS(alpha)
0578 BOOST_SPIRIT_X3_CHAR_CLASS(digit)
0579 BOOST_SPIRIT_X3_CHAR_CLASS(xdigit)
0580 BOOST_SPIRIT_X3_CHAR_CLASS(cntrl)
0581 BOOST_SPIRIT_X3_CHAR_CLASS(graph)
0582 BOOST_SPIRIT_X3_CHAR_CLASS(lower)
0583 BOOST_SPIRIT_X3_CHAR_CLASS(print)
0584 BOOST_SPIRIT_X3_CHAR_CLASS(punct)
0585 BOOST_SPIRIT_X3_CHAR_CLASS(space)
0586 BOOST_SPIRIT_X3_CHAR_CLASS(blank)
0587 BOOST_SPIRIT_X3_CHAR_CLASS(upper)
0588
0589
0590
0591
0592 BOOST_SPIRIT_X3_CHAR_CLASS(letter)
0593 BOOST_SPIRIT_X3_CHAR_CLASS(mark)
0594 BOOST_SPIRIT_X3_CHAR_CLASS(number)
0595 BOOST_SPIRIT_X3_CHAR_CLASS(separator)
0596 BOOST_SPIRIT_X3_CHAR_CLASS(other)
0597 BOOST_SPIRIT_X3_CHAR_CLASS(punctuation)
0598 BOOST_SPIRIT_X3_CHAR_CLASS(symbol)
0599
0600
0601
0602
0603 BOOST_SPIRIT_X3_CHAR_CLASS(uppercase_letter)
0604 BOOST_SPIRIT_X3_CHAR_CLASS(lowercase_letter)
0605 BOOST_SPIRIT_X3_CHAR_CLASS(titlecase_letter)
0606 BOOST_SPIRIT_X3_CHAR_CLASS(modifier_letter)
0607 BOOST_SPIRIT_X3_CHAR_CLASS(other_letter)
0608
0609 BOOST_SPIRIT_X3_CHAR_CLASS(nonspacing_mark)
0610 BOOST_SPIRIT_X3_CHAR_CLASS(enclosing_mark)
0611 BOOST_SPIRIT_X3_CHAR_CLASS(spacing_mark)
0612
0613 BOOST_SPIRIT_X3_CHAR_CLASS(decimal_number)
0614 BOOST_SPIRIT_X3_CHAR_CLASS(letter_number)
0615 BOOST_SPIRIT_X3_CHAR_CLASS(other_number)
0616
0617 BOOST_SPIRIT_X3_CHAR_CLASS(space_separator)
0618 BOOST_SPIRIT_X3_CHAR_CLASS(line_separator)
0619 BOOST_SPIRIT_X3_CHAR_CLASS(paragraph_separator)
0620
0621 BOOST_SPIRIT_X3_CHAR_CLASS(control)
0622 BOOST_SPIRIT_X3_CHAR_CLASS(format)
0623 BOOST_SPIRIT_X3_CHAR_CLASS(private_use)
0624 BOOST_SPIRIT_X3_CHAR_CLASS(surrogate)
0625 BOOST_SPIRIT_X3_CHAR_CLASS(unassigned)
0626
0627 BOOST_SPIRIT_X3_CHAR_CLASS(dash_punctuation)
0628 BOOST_SPIRIT_X3_CHAR_CLASS(open_punctuation)
0629 BOOST_SPIRIT_X3_CHAR_CLASS(close_punctuation)
0630 BOOST_SPIRIT_X3_CHAR_CLASS(connector_punctuation)
0631 BOOST_SPIRIT_X3_CHAR_CLASS(other_punctuation)
0632 BOOST_SPIRIT_X3_CHAR_CLASS(initial_punctuation)
0633 BOOST_SPIRIT_X3_CHAR_CLASS(final_punctuation)
0634
0635 BOOST_SPIRIT_X3_CHAR_CLASS(math_symbol)
0636 BOOST_SPIRIT_X3_CHAR_CLASS(currency_symbol)
0637 BOOST_SPIRIT_X3_CHAR_CLASS(modifier_symbol)
0638 BOOST_SPIRIT_X3_CHAR_CLASS(other_symbol)
0639
0640
0641
0642
0643 BOOST_SPIRIT_X3_CHAR_CLASS(alphabetic)
0644 BOOST_SPIRIT_X3_CHAR_CLASS(uppercase)
0645 BOOST_SPIRIT_X3_CHAR_CLASS(lowercase)
0646 BOOST_SPIRIT_X3_CHAR_CLASS(white_space)
0647 BOOST_SPIRIT_X3_CHAR_CLASS(hex_digit)
0648 BOOST_SPIRIT_X3_CHAR_CLASS(noncharacter_code_point)
0649 BOOST_SPIRIT_X3_CHAR_CLASS(default_ignorable_code_point)
0650
0651
0652
0653
0654 BOOST_SPIRIT_X3_CHAR_CLASS(adlam)
0655 BOOST_SPIRIT_X3_CHAR_CLASS(caucasian_albanian)
0656 BOOST_SPIRIT_X3_CHAR_CLASS(ahom)
0657 BOOST_SPIRIT_X3_CHAR_CLASS(arabic)
0658 BOOST_SPIRIT_X3_CHAR_CLASS(imperial_aramaic)
0659 BOOST_SPIRIT_X3_CHAR_CLASS(armenian)
0660 BOOST_SPIRIT_X3_CHAR_CLASS(avestan)
0661 BOOST_SPIRIT_X3_CHAR_CLASS(balinese)
0662 BOOST_SPIRIT_X3_CHAR_CLASS(bamum)
0663 BOOST_SPIRIT_X3_CHAR_CLASS(bassa_vah)
0664 BOOST_SPIRIT_X3_CHAR_CLASS(batak)
0665 BOOST_SPIRIT_X3_CHAR_CLASS(bengali)
0666 BOOST_SPIRIT_X3_CHAR_CLASS(bhaiksuki)
0667 BOOST_SPIRIT_X3_CHAR_CLASS(bopomofo)
0668 BOOST_SPIRIT_X3_CHAR_CLASS(brahmi)
0669 BOOST_SPIRIT_X3_CHAR_CLASS(braille)
0670 BOOST_SPIRIT_X3_CHAR_CLASS(buginese)
0671 BOOST_SPIRIT_X3_CHAR_CLASS(buhid)
0672 BOOST_SPIRIT_X3_CHAR_CLASS(chakma)
0673 BOOST_SPIRIT_X3_CHAR_CLASS(canadian_aboriginal)
0674 BOOST_SPIRIT_X3_CHAR_CLASS(carian)
0675 BOOST_SPIRIT_X3_CHAR_CLASS(cham)
0676 BOOST_SPIRIT_X3_CHAR_CLASS(cherokee)
0677 BOOST_SPIRIT_X3_CHAR_CLASS(chorasmian)
0678 BOOST_SPIRIT_X3_CHAR_CLASS(coptic)
0679 BOOST_SPIRIT_X3_CHAR_CLASS(cypro_minoan)
0680 BOOST_SPIRIT_X3_CHAR_CLASS(cypriot)
0681 BOOST_SPIRIT_X3_CHAR_CLASS(cyrillic)
0682 BOOST_SPIRIT_X3_CHAR_CLASS(devanagari)
0683 BOOST_SPIRIT_X3_CHAR_CLASS(dives_akuru)
0684 BOOST_SPIRIT_X3_CHAR_CLASS(dogra)
0685 BOOST_SPIRIT_X3_CHAR_CLASS(deseret)
0686 BOOST_SPIRIT_X3_CHAR_CLASS(duployan)
0687 BOOST_SPIRIT_X3_CHAR_CLASS(egyptian_hieroglyphs)
0688 BOOST_SPIRIT_X3_CHAR_CLASS(elbasan)
0689 BOOST_SPIRIT_X3_CHAR_CLASS(elymaic)
0690 BOOST_SPIRIT_X3_CHAR_CLASS(ethiopic)
0691 BOOST_SPIRIT_X3_CHAR_CLASS(georgian)
0692 BOOST_SPIRIT_X3_CHAR_CLASS(glagolitic)
0693 BOOST_SPIRIT_X3_CHAR_CLASS(gunjala_gondi)
0694 BOOST_SPIRIT_X3_CHAR_CLASS(masaram_gondi)
0695 BOOST_SPIRIT_X3_CHAR_CLASS(gothic)
0696 BOOST_SPIRIT_X3_CHAR_CLASS(grantha)
0697 BOOST_SPIRIT_X3_CHAR_CLASS(greek)
0698 BOOST_SPIRIT_X3_CHAR_CLASS(gujarati)
0699 BOOST_SPIRIT_X3_CHAR_CLASS(gurmukhi)
0700 BOOST_SPIRIT_X3_CHAR_CLASS(hangul)
0701 BOOST_SPIRIT_X3_CHAR_CLASS(han)
0702 BOOST_SPIRIT_X3_CHAR_CLASS(hanunoo)
0703 BOOST_SPIRIT_X3_CHAR_CLASS(hatran)
0704 BOOST_SPIRIT_X3_CHAR_CLASS(hebrew)
0705 BOOST_SPIRIT_X3_CHAR_CLASS(hiragana)
0706 BOOST_SPIRIT_X3_CHAR_CLASS(anatolian_hieroglyphs)
0707 BOOST_SPIRIT_X3_CHAR_CLASS(pahawh_hmong)
0708 BOOST_SPIRIT_X3_CHAR_CLASS(nyiakeng_puachue_hmong)
0709 BOOST_SPIRIT_X3_CHAR_CLASS(katakana_or_hiragana)
0710 BOOST_SPIRIT_X3_CHAR_CLASS(old_hungarian)
0711 BOOST_SPIRIT_X3_CHAR_CLASS(old_italic)
0712 BOOST_SPIRIT_X3_CHAR_CLASS(javanese)
0713 BOOST_SPIRIT_X3_CHAR_CLASS(kayah_li)
0714 BOOST_SPIRIT_X3_CHAR_CLASS(katakana)
0715 BOOST_SPIRIT_X3_CHAR_CLASS(kawi)
0716 BOOST_SPIRIT_X3_CHAR_CLASS(kharoshthi)
0717 BOOST_SPIRIT_X3_CHAR_CLASS(khmer)
0718 BOOST_SPIRIT_X3_CHAR_CLASS(khojki)
0719 BOOST_SPIRIT_X3_CHAR_CLASS(khitan_small_script)
0720 BOOST_SPIRIT_X3_CHAR_CLASS(kannada)
0721 BOOST_SPIRIT_X3_CHAR_CLASS(kaithi)
0722 BOOST_SPIRIT_X3_CHAR_CLASS(tai_tham)
0723 BOOST_SPIRIT_X3_CHAR_CLASS(lao)
0724 BOOST_SPIRIT_X3_CHAR_CLASS(latin)
0725 BOOST_SPIRIT_X3_CHAR_CLASS(lepcha)
0726 BOOST_SPIRIT_X3_CHAR_CLASS(limbu)
0727 BOOST_SPIRIT_X3_CHAR_CLASS(linear_a)
0728 BOOST_SPIRIT_X3_CHAR_CLASS(linear_b)
0729 BOOST_SPIRIT_X3_CHAR_CLASS(lisu)
0730 BOOST_SPIRIT_X3_CHAR_CLASS(lycian)
0731 BOOST_SPIRIT_X3_CHAR_CLASS(lydian)
0732 BOOST_SPIRIT_X3_CHAR_CLASS(mahajani)
0733 BOOST_SPIRIT_X3_CHAR_CLASS(makasar)
0734 BOOST_SPIRIT_X3_CHAR_CLASS(mandaic)
0735 BOOST_SPIRIT_X3_CHAR_CLASS(manichaean)
0736 BOOST_SPIRIT_X3_CHAR_CLASS(marchen)
0737 BOOST_SPIRIT_X3_CHAR_CLASS(medefaidrin)
0738 BOOST_SPIRIT_X3_CHAR_CLASS(mende_kikakui)
0739 BOOST_SPIRIT_X3_CHAR_CLASS(meroitic_cursive)
0740 BOOST_SPIRIT_X3_CHAR_CLASS(meroitic_hieroglyphs)
0741 BOOST_SPIRIT_X3_CHAR_CLASS(malayalam)
0742 BOOST_SPIRIT_X3_CHAR_CLASS(modi)
0743 BOOST_SPIRIT_X3_CHAR_CLASS(mongolian)
0744 BOOST_SPIRIT_X3_CHAR_CLASS(mro)
0745 BOOST_SPIRIT_X3_CHAR_CLASS(meetei_mayek)
0746 BOOST_SPIRIT_X3_CHAR_CLASS(multani)
0747 BOOST_SPIRIT_X3_CHAR_CLASS(myanmar)
0748 BOOST_SPIRIT_X3_CHAR_CLASS(nag_mundari)
0749 BOOST_SPIRIT_X3_CHAR_CLASS(nandinagari)
0750 BOOST_SPIRIT_X3_CHAR_CLASS(old_north_arabian)
0751 BOOST_SPIRIT_X3_CHAR_CLASS(nabataean)
0752 BOOST_SPIRIT_X3_CHAR_CLASS(newa)
0753 BOOST_SPIRIT_X3_CHAR_CLASS(nko)
0754 BOOST_SPIRIT_X3_CHAR_CLASS(nushu)
0755 BOOST_SPIRIT_X3_CHAR_CLASS(ogham)
0756 BOOST_SPIRIT_X3_CHAR_CLASS(ol_chiki)
0757 BOOST_SPIRIT_X3_CHAR_CLASS(old_turkic)
0758 BOOST_SPIRIT_X3_CHAR_CLASS(oriya)
0759 BOOST_SPIRIT_X3_CHAR_CLASS(osage)
0760 BOOST_SPIRIT_X3_CHAR_CLASS(osmanya)
0761 BOOST_SPIRIT_X3_CHAR_CLASS(old_uyghur)
0762 BOOST_SPIRIT_X3_CHAR_CLASS(palmyrene)
0763 BOOST_SPIRIT_X3_CHAR_CLASS(pau_cin_hau)
0764 BOOST_SPIRIT_X3_CHAR_CLASS(old_permic)
0765 BOOST_SPIRIT_X3_CHAR_CLASS(phags_pa)
0766 BOOST_SPIRIT_X3_CHAR_CLASS(inscriptional_pahlavi)
0767 BOOST_SPIRIT_X3_CHAR_CLASS(psalter_pahlavi)
0768 BOOST_SPIRIT_X3_CHAR_CLASS(phoenician)
0769 BOOST_SPIRIT_X3_CHAR_CLASS(miao)
0770 BOOST_SPIRIT_X3_CHAR_CLASS(inscriptional_parthian)
0771 BOOST_SPIRIT_X3_CHAR_CLASS(rejang)
0772 BOOST_SPIRIT_X3_CHAR_CLASS(hanifi_rohingya)
0773 BOOST_SPIRIT_X3_CHAR_CLASS(runic)
0774 BOOST_SPIRIT_X3_CHAR_CLASS(samaritan)
0775 BOOST_SPIRIT_X3_CHAR_CLASS(old_south_arabian)
0776 BOOST_SPIRIT_X3_CHAR_CLASS(saurashtra)
0777 BOOST_SPIRIT_X3_CHAR_CLASS(signwriting)
0778 BOOST_SPIRIT_X3_CHAR_CLASS(shavian)
0779 BOOST_SPIRIT_X3_CHAR_CLASS(sharada)
0780 BOOST_SPIRIT_X3_CHAR_CLASS(siddham)
0781 BOOST_SPIRIT_X3_CHAR_CLASS(khudawadi)
0782 BOOST_SPIRIT_X3_CHAR_CLASS(sinhala)
0783 BOOST_SPIRIT_X3_CHAR_CLASS(sogdian)
0784 BOOST_SPIRIT_X3_CHAR_CLASS(old_sogdian)
0785 BOOST_SPIRIT_X3_CHAR_CLASS(sora_sompeng)
0786 BOOST_SPIRIT_X3_CHAR_CLASS(soyombo)
0787 BOOST_SPIRIT_X3_CHAR_CLASS(sundanese)
0788 BOOST_SPIRIT_X3_CHAR_CLASS(syloti_nagri)
0789 BOOST_SPIRIT_X3_CHAR_CLASS(syriac)
0790 BOOST_SPIRIT_X3_CHAR_CLASS(tagbanwa)
0791 BOOST_SPIRIT_X3_CHAR_CLASS(takri)
0792 BOOST_SPIRIT_X3_CHAR_CLASS(tai_le)
0793 BOOST_SPIRIT_X3_CHAR_CLASS(new_tai_lue)
0794 BOOST_SPIRIT_X3_CHAR_CLASS(tamil)
0795 BOOST_SPIRIT_X3_CHAR_CLASS(tangut)
0796 BOOST_SPIRIT_X3_CHAR_CLASS(tai_viet)
0797 BOOST_SPIRIT_X3_CHAR_CLASS(telugu)
0798 BOOST_SPIRIT_X3_CHAR_CLASS(tifinagh)
0799 BOOST_SPIRIT_X3_CHAR_CLASS(tagalog)
0800 BOOST_SPIRIT_X3_CHAR_CLASS(thaana)
0801 BOOST_SPIRIT_X3_CHAR_CLASS(thai)
0802 BOOST_SPIRIT_X3_CHAR_CLASS(tibetan)
0803 BOOST_SPIRIT_X3_CHAR_CLASS(tirhuta)
0804 BOOST_SPIRIT_X3_CHAR_CLASS(tangsa)
0805 BOOST_SPIRIT_X3_CHAR_CLASS(toto)
0806 BOOST_SPIRIT_X3_CHAR_CLASS(ugaritic)
0807 BOOST_SPIRIT_X3_CHAR_CLASS(vai)
0808 BOOST_SPIRIT_X3_CHAR_CLASS(vithkuqi)
0809 BOOST_SPIRIT_X3_CHAR_CLASS(warang_citi)
0810 BOOST_SPIRIT_X3_CHAR_CLASS(wancho)
0811 BOOST_SPIRIT_X3_CHAR_CLASS(old_persian)
0812 BOOST_SPIRIT_X3_CHAR_CLASS(cuneiform)
0813 BOOST_SPIRIT_X3_CHAR_CLASS(yezidi)
0814 BOOST_SPIRIT_X3_CHAR_CLASS(yi)
0815 BOOST_SPIRIT_X3_CHAR_CLASS(zanabazar_square)
0816 BOOST_SPIRIT_X3_CHAR_CLASS(inherited)
0817 BOOST_SPIRIT_X3_CHAR_CLASS(common)
0818 BOOST_SPIRIT_X3_CHAR_CLASS(unknown)
0819 }
0820
0821 #undef BOOST_SPIRIT_X3_CHAR_CLASS
0822
0823 }}}
0824
0825 #endif