Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-31 10:02:35

0001 /*=============================================================================
0002     Copyright (c) 2001-2014 Joel de Guzman
0003 
0004     Distributed under the Boost Software License, Version 1.0. (See accompanying
0005     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
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     //  Unicode Major Categories
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     //  Unicode Major Categories
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     //  Unicode General Categories
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     //  Unicode Derived Categories
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     //  Unicode Scripts
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     //  Unicode Major Categories
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     //  Unicode Major Categories
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     //  Unicode General Categories
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     //  Unicode Derived Categories
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     //  Unicode Scripts
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     //  Unicode Major Categories
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     //  Unicode Major Categories
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     //  Unicode General Categories
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     //  Unicode Derived Categories
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     //  Unicode Scripts
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