diff options
Diffstat (limited to 'boost/spirit/home/x3/char/unicode.hpp')
-rw-r--r-- | boost/spirit/home/x3/char/unicode.hpp | 617 |
1 files changed, 617 insertions, 0 deletions
diff --git a/boost/spirit/home/x3/char/unicode.hpp b/boost/spirit/home/x3/char/unicode.hpp new file mode 100644 index 0000000000..6954c40e40 --- /dev/null +++ b/boost/spirit/home/x3/char/unicode.hpp @@ -0,0 +1,617 @@ +/*============================================================================= + Copyright (c) 2001-2014 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_SPIRIT_X3_UNICODE_JAN_20_2012_1218AM) +#define BOOST_SPIRIT_X3_UNICODE_JAN_20_2012_1218AM + +#if defined(_MSC_VER) +#pragma once +#endif + +#include <boost/spirit/home/x3/char/char_parser.hpp> +#include <boost/spirit/home/x3/char/char.hpp> +#include <boost/spirit/home/x3/char/detail/cast_char.hpp> +#include <boost/spirit/home/support/char_encoding/unicode.hpp> + +namespace boost { namespace spirit { namespace x3 +{ + /////////////////////////////////////////////////////////////////////////// + // Unicode Major Categories + /////////////////////////////////////////////////////////////////////////// + struct char_tag; + struct alnum_tag; + struct alpha_tag; + struct blank_tag; + struct cntrl_tag; + struct digit_tag; + struct graph_tag; + struct print_tag; + struct punct_tag; + struct space_tag; + struct xdigit_tag; + struct lower_tag; + struct upper_tag; + + /////////////////////////////////////////////////////////////////////////// + // Unicode Major Categories + /////////////////////////////////////////////////////////////////////////// + struct letter_tag {}; + struct mark_tag {}; + struct number_tag {}; + struct separator_tag {}; + struct other_tag {}; + struct punctuation_tag {}; + struct symbol_tag {}; + + /////////////////////////////////////////////////////////////////////////// + // Unicode General Categories + /////////////////////////////////////////////////////////////////////////// + struct uppercase_letter_tag {}; + struct lowercase_letter_tag {}; + struct titlecase_letter_tag {}; + struct modifier_letter_tag {}; + struct other_letter_tag {}; + + struct nonspacing_mark_tag {}; + struct enclosing_mark_tag {}; + struct spacing_mark_tag {}; + + struct decimal_number_tag {}; + struct letter_number_tag {}; + struct other_number_tag {}; + + struct space_separator_tag {}; + struct line_separator_tag {}; + struct paragraph_separator_tag {}; + + struct control_tag {}; + struct format_tag {}; + struct private_use_tag {}; + struct surrogate_tag {}; + struct unassigned_tag {}; + + struct dash_punctuation_tag {}; + struct open_punctuation_tag {}; + struct close_punctuation_tag {}; + struct connector_punctuation_tag {}; + struct other_punctuation_tag {}; + struct initial_punctuation_tag {}; + struct final_punctuation_tag {}; + + struct math_symbol_tag {}; + struct currency_symbol_tag {}; + struct modifier_symbol_tag {}; + struct other_symbol_tag {}; + + /////////////////////////////////////////////////////////////////////////// + // Unicode Derived Categories + /////////////////////////////////////////////////////////////////////////// + struct alphabetic_tag {}; + struct uppercase_tag {}; + struct lowercase_tag {}; + struct white_space_tag {}; + struct hex_digit_tag {}; + struct noncharacter_code_point_tag {}; + struct default_ignorable_code_point_tag {}; + + /////////////////////////////////////////////////////////////////////////// + // Unicode Scripts + /////////////////////////////////////////////////////////////////////////// + struct arabic_tag {}; + struct imperial_aramaic_tag {}; + struct armenian_tag {}; + struct avestan_tag {}; + struct balinese_tag {}; + struct bamum_tag {}; + struct bengali_tag {}; + struct bopomofo_tag {}; + struct braille_tag {}; + struct buginese_tag {}; + struct buhid_tag {}; + struct canadian_aboriginal_tag {}; + struct carian_tag {}; + struct cham_tag {}; + struct cherokee_tag {}; + struct coptic_tag {}; + struct cypriot_tag {}; + struct cyrillic_tag {}; + struct devanagari_tag {}; + struct deseret_tag {}; + struct egyptian_hieroglyphs_tag {}; + struct ethiopic_tag {}; + struct georgian_tag {}; + struct glagolitic_tag {}; + struct gothic_tag {}; + struct greek_tag {}; + struct gujarati_tag {}; + struct gurmukhi_tag {}; + struct hangul_tag {}; + struct han_tag {}; + struct hanunoo_tag {}; + struct hebrew_tag {}; + struct hiragana_tag {}; + struct katakana_or_hiragana_tag {}; + struct old_italic_tag {}; + struct javanese_tag {}; + struct kayah_li_tag {}; + struct katakana_tag {}; + struct kharoshthi_tag {}; + struct khmer_tag {}; + struct kannada_tag {}; + struct kaithi_tag {}; + struct tai_tham_tag {}; + struct lao_tag {}; + struct latin_tag {}; + struct lepcha_tag {}; + struct limbu_tag {}; + struct linear_b_tag {}; + struct lisu_tag {}; + struct lycian_tag {}; + struct lydian_tag {}; + struct malayalam_tag {}; + struct mongolian_tag {}; + struct meetei_mayek_tag {}; + struct myanmar_tag {}; + struct nko_tag {}; + struct ogham_tag {}; + struct ol_chiki_tag {}; + struct old_turkic_tag {}; + struct oriya_tag {}; + struct osmanya_tag {}; + struct phags_pa_tag {}; + struct inscriptional_pahlavi_tag {}; + struct phoenician_tag {}; + struct inscriptional_parthian_tag {}; + struct rejang_tag {}; + struct runic_tag {}; + struct samaritan_tag {}; + struct old_south_arabian_tag {}; + struct saurashtra_tag {}; + struct shavian_tag {}; + struct sinhala_tag {}; + struct sundanese_tag {}; + struct syloti_nagri_tag {}; + struct syriac_tag {}; + struct tagbanwa_tag {}; + struct tai_le_tag {}; + struct new_tai_lue_tag {}; + struct tamil_tag {}; + struct tai_viet_tag {}; + struct telugu_tag {}; + struct tifinagh_tag {}; + struct tagalog_tag {}; + struct thaana_tag {}; + struct thai_tag {}; + struct tibetan_tag {}; + struct ugaritic_tag {}; + struct vai_tag {}; + struct old_persian_tag {}; + struct cuneiform_tag {}; + struct yi_tag {}; + struct inherited_tag {}; + struct common_tag {}; + struct unknown_tag {}; + + /////////////////////////////////////////////////////////////////////////// + struct unicode_char_class_base + { + typedef char_encoding::unicode encoding; + typedef char_encoding::unicode::char_type char_type; + +#define BOOST_SPIRIT_X3_BASIC_CLASSIFY(name) \ + template <typename Char> \ + static bool \ + is(name##_tag, Char ch) \ + { \ + return encoding::is ##name \ + BOOST_PREVENT_MACRO_SUBSTITUTION \ + (detail::cast_char<char_type>(ch)); \ + } \ + /***/ + +#define BOOST_SPIRIT_X3_CLASSIFY(name) \ + template <typename Char> \ + static bool \ + is(name##_tag, Char ch) \ + { \ + return encoding::is_##name \ + BOOST_PREVENT_MACRO_SUBSTITUTION \ + (detail::cast_char<char_type>(ch)); \ + } \ + /***/ + + + /////////////////////////////////////////////////////////////////////////// + // Unicode Major Categories + /////////////////////////////////////////////////////////////////////////// + BOOST_SPIRIT_X3_BASIC_CLASSIFY(char) + BOOST_SPIRIT_X3_BASIC_CLASSIFY(alnum) + BOOST_SPIRIT_X3_BASIC_CLASSIFY(alpha) + BOOST_SPIRIT_X3_BASIC_CLASSIFY(digit) + BOOST_SPIRIT_X3_BASIC_CLASSIFY(xdigit) + BOOST_SPIRIT_X3_BASIC_CLASSIFY(cntrl) + BOOST_SPIRIT_X3_BASIC_CLASSIFY(graph) + BOOST_SPIRIT_X3_BASIC_CLASSIFY(lower) + BOOST_SPIRIT_X3_BASIC_CLASSIFY(print) + BOOST_SPIRIT_X3_BASIC_CLASSIFY(punct) + BOOST_SPIRIT_X3_BASIC_CLASSIFY(space) + BOOST_SPIRIT_X3_BASIC_CLASSIFY(blank) + BOOST_SPIRIT_X3_BASIC_CLASSIFY(upper) + + /////////////////////////////////////////////////////////////////////////// + // Unicode Major Categories + /////////////////////////////////////////////////////////////////////////// + BOOST_SPIRIT_X3_CLASSIFY(letter) + BOOST_SPIRIT_X3_CLASSIFY(mark) + BOOST_SPIRIT_X3_CLASSIFY(number) + BOOST_SPIRIT_X3_CLASSIFY(separator) + BOOST_SPIRIT_X3_CLASSIFY(other) + BOOST_SPIRIT_X3_CLASSIFY(punctuation) + BOOST_SPIRIT_X3_CLASSIFY(symbol) + + /////////////////////////////////////////////////////////////////////////// + // Unicode General Categories + /////////////////////////////////////////////////////////////////////////// + BOOST_SPIRIT_X3_CLASSIFY(uppercase_letter) + BOOST_SPIRIT_X3_CLASSIFY(lowercase_letter) + BOOST_SPIRIT_X3_CLASSIFY(titlecase_letter) + BOOST_SPIRIT_X3_CLASSIFY(modifier_letter) + BOOST_SPIRIT_X3_CLASSIFY(other_letter) + + BOOST_SPIRIT_X3_CLASSIFY(nonspacing_mark) + BOOST_SPIRIT_X3_CLASSIFY(enclosing_mark) + BOOST_SPIRIT_X3_CLASSIFY(spacing_mark) + + BOOST_SPIRIT_X3_CLASSIFY(decimal_number) + BOOST_SPIRIT_X3_CLASSIFY(letter_number) + BOOST_SPIRIT_X3_CLASSIFY(other_number) + + BOOST_SPIRIT_X3_CLASSIFY(space_separator) + BOOST_SPIRIT_X3_CLASSIFY(line_separator) + BOOST_SPIRIT_X3_CLASSIFY(paragraph_separator) + + BOOST_SPIRIT_X3_CLASSIFY(control) + BOOST_SPIRIT_X3_CLASSIFY(format) + BOOST_SPIRIT_X3_CLASSIFY(private_use) + BOOST_SPIRIT_X3_CLASSIFY(surrogate) + BOOST_SPIRIT_X3_CLASSIFY(unassigned) + + BOOST_SPIRIT_X3_CLASSIFY(dash_punctuation) + BOOST_SPIRIT_X3_CLASSIFY(open_punctuation) + BOOST_SPIRIT_X3_CLASSIFY(close_punctuation) + BOOST_SPIRIT_X3_CLASSIFY(connector_punctuation) + BOOST_SPIRIT_X3_CLASSIFY(other_punctuation) + BOOST_SPIRIT_X3_CLASSIFY(initial_punctuation) + BOOST_SPIRIT_X3_CLASSIFY(final_punctuation) + + BOOST_SPIRIT_X3_CLASSIFY(math_symbol) + BOOST_SPIRIT_X3_CLASSIFY(currency_symbol) + BOOST_SPIRIT_X3_CLASSIFY(modifier_symbol) + BOOST_SPIRIT_X3_CLASSIFY(other_symbol) + + /////////////////////////////////////////////////////////////////////////// + // Unicode Derived Categories + /////////////////////////////////////////////////////////////////////////// + BOOST_SPIRIT_X3_CLASSIFY(alphabetic) + BOOST_SPIRIT_X3_CLASSIFY(uppercase) + BOOST_SPIRIT_X3_CLASSIFY(lowercase) + BOOST_SPIRIT_X3_CLASSIFY(white_space) + BOOST_SPIRIT_X3_CLASSIFY(hex_digit) + BOOST_SPIRIT_X3_CLASSIFY(noncharacter_code_point) + BOOST_SPIRIT_X3_CLASSIFY(default_ignorable_code_point) + + /////////////////////////////////////////////////////////////////////////// + // Unicode Scripts + /////////////////////////////////////////////////////////////////////////// + BOOST_SPIRIT_X3_CLASSIFY(arabic) + BOOST_SPIRIT_X3_CLASSIFY(imperial_aramaic) + BOOST_SPIRIT_X3_CLASSIFY(armenian) + BOOST_SPIRIT_X3_CLASSIFY(avestan) + BOOST_SPIRIT_X3_CLASSIFY(balinese) + BOOST_SPIRIT_X3_CLASSIFY(bamum) + BOOST_SPIRIT_X3_CLASSIFY(bengali) + BOOST_SPIRIT_X3_CLASSIFY(bopomofo) + BOOST_SPIRIT_X3_CLASSIFY(braille) + BOOST_SPIRIT_X3_CLASSIFY(buginese) + BOOST_SPIRIT_X3_CLASSIFY(buhid) + BOOST_SPIRIT_X3_CLASSIFY(canadian_aboriginal) + BOOST_SPIRIT_X3_CLASSIFY(carian) + BOOST_SPIRIT_X3_CLASSIFY(cham) + BOOST_SPIRIT_X3_CLASSIFY(cherokee) + BOOST_SPIRIT_X3_CLASSIFY(coptic) + BOOST_SPIRIT_X3_CLASSIFY(cypriot) + BOOST_SPIRIT_X3_CLASSIFY(cyrillic) + BOOST_SPIRIT_X3_CLASSIFY(devanagari) + BOOST_SPIRIT_X3_CLASSIFY(deseret) + BOOST_SPIRIT_X3_CLASSIFY(egyptian_hieroglyphs) + BOOST_SPIRIT_X3_CLASSIFY(ethiopic) + BOOST_SPIRIT_X3_CLASSIFY(georgian) + BOOST_SPIRIT_X3_CLASSIFY(glagolitic) + BOOST_SPIRIT_X3_CLASSIFY(gothic) + BOOST_SPIRIT_X3_CLASSIFY(greek) + BOOST_SPIRIT_X3_CLASSIFY(gujarati) + BOOST_SPIRIT_X3_CLASSIFY(gurmukhi) + BOOST_SPIRIT_X3_CLASSIFY(hangul) + BOOST_SPIRIT_X3_CLASSIFY(han) + BOOST_SPIRIT_X3_CLASSIFY(hanunoo) + BOOST_SPIRIT_X3_CLASSIFY(hebrew) + BOOST_SPIRIT_X3_CLASSIFY(hiragana) + BOOST_SPIRIT_X3_CLASSIFY(katakana_or_hiragana) + BOOST_SPIRIT_X3_CLASSIFY(old_italic) + BOOST_SPIRIT_X3_CLASSIFY(javanese) + BOOST_SPIRIT_X3_CLASSIFY(kayah_li) + BOOST_SPIRIT_X3_CLASSIFY(katakana) + BOOST_SPIRIT_X3_CLASSIFY(kharoshthi) + BOOST_SPIRIT_X3_CLASSIFY(khmer) + BOOST_SPIRIT_X3_CLASSIFY(kannada) + BOOST_SPIRIT_X3_CLASSIFY(kaithi) + BOOST_SPIRIT_X3_CLASSIFY(tai_tham) + BOOST_SPIRIT_X3_CLASSIFY(lao) + BOOST_SPIRIT_X3_CLASSIFY(latin) + BOOST_SPIRIT_X3_CLASSIFY(lepcha) + BOOST_SPIRIT_X3_CLASSIFY(limbu) + BOOST_SPIRIT_X3_CLASSIFY(linear_b) + BOOST_SPIRIT_X3_CLASSIFY(lisu) + BOOST_SPIRIT_X3_CLASSIFY(lycian) + BOOST_SPIRIT_X3_CLASSIFY(lydian) + BOOST_SPIRIT_X3_CLASSIFY(malayalam) + BOOST_SPIRIT_X3_CLASSIFY(mongolian) + BOOST_SPIRIT_X3_CLASSIFY(meetei_mayek) + BOOST_SPIRIT_X3_CLASSIFY(myanmar) + BOOST_SPIRIT_X3_CLASSIFY(nko) + BOOST_SPIRIT_X3_CLASSIFY(ogham) + BOOST_SPIRIT_X3_CLASSIFY(ol_chiki) + BOOST_SPIRIT_X3_CLASSIFY(old_turkic) + BOOST_SPIRIT_X3_CLASSIFY(oriya) + BOOST_SPIRIT_X3_CLASSIFY(osmanya) + BOOST_SPIRIT_X3_CLASSIFY(phags_pa) + BOOST_SPIRIT_X3_CLASSIFY(inscriptional_pahlavi) + BOOST_SPIRIT_X3_CLASSIFY(phoenician) + BOOST_SPIRIT_X3_CLASSIFY(inscriptional_parthian) + BOOST_SPIRIT_X3_CLASSIFY(rejang) + BOOST_SPIRIT_X3_CLASSIFY(runic) + BOOST_SPIRIT_X3_CLASSIFY(samaritan) + BOOST_SPIRIT_X3_CLASSIFY(old_south_arabian) + BOOST_SPIRIT_X3_CLASSIFY(saurashtra) + BOOST_SPIRIT_X3_CLASSIFY(shavian) + BOOST_SPIRIT_X3_CLASSIFY(sinhala) + BOOST_SPIRIT_X3_CLASSIFY(sundanese) + BOOST_SPIRIT_X3_CLASSIFY(syloti_nagri) + BOOST_SPIRIT_X3_CLASSIFY(syriac) + BOOST_SPIRIT_X3_CLASSIFY(tagbanwa) + BOOST_SPIRIT_X3_CLASSIFY(tai_le) + BOOST_SPIRIT_X3_CLASSIFY(new_tai_lue) + BOOST_SPIRIT_X3_CLASSIFY(tamil) + BOOST_SPIRIT_X3_CLASSIFY(tai_viet) + BOOST_SPIRIT_X3_CLASSIFY(telugu) + BOOST_SPIRIT_X3_CLASSIFY(tifinagh) + BOOST_SPIRIT_X3_CLASSIFY(tagalog) + BOOST_SPIRIT_X3_CLASSIFY(thaana) + BOOST_SPIRIT_X3_CLASSIFY(thai) + BOOST_SPIRIT_X3_CLASSIFY(tibetan) + BOOST_SPIRIT_X3_CLASSIFY(ugaritic) + BOOST_SPIRIT_X3_CLASSIFY(vai) + BOOST_SPIRIT_X3_CLASSIFY(old_persian) + BOOST_SPIRIT_X3_CLASSIFY(cuneiform) + BOOST_SPIRIT_X3_CLASSIFY(yi) + BOOST_SPIRIT_X3_CLASSIFY(inherited) + BOOST_SPIRIT_X3_CLASSIFY(common) + BOOST_SPIRIT_X3_CLASSIFY(unknown) + +#undef BOOST_SPIRIT_X3_BASIC_CLASSIFY +#undef BOOST_SPIRIT_X3_CLASSIFY + }; + + template <typename Tag> + struct unicode_char_class + : char_parser<unicode_char_class<Tag>> + { + typedef char_encoding::unicode encoding; + typedef Tag tag; + typedef typename encoding::char_type char_type; + typedef char_type attribute_type; + static bool const has_attribute = true; + + template <typename Char, typename Context> + bool test(Char ch, Context const&) const + { + return ((sizeof(Char) <= sizeof(char_type)) || encoding::ischar(ch)) + && unicode_char_class_base::is(tag(), ch); + } + }; + +#define BOOST_SPIRIT_X3_CHAR_CLASS(name) \ + typedef unicode_char_class<name##_tag> name##_type; \ + name##_type const name = name##_type(); \ + /***/ + + namespace unicode + { + typedef any_char<char_encoding::unicode> char_type; + char_type const char_ = char_type(); + + /////////////////////////////////////////////////////////////////////////// + // Unicode Major Categories + /////////////////////////////////////////////////////////////////////////// + BOOST_SPIRIT_X3_CHAR_CLASS(alnum) + BOOST_SPIRIT_X3_CHAR_CLASS(alpha) + BOOST_SPIRIT_X3_CHAR_CLASS(digit) + BOOST_SPIRIT_X3_CHAR_CLASS(xdigit) + BOOST_SPIRIT_X3_CHAR_CLASS(cntrl) + BOOST_SPIRIT_X3_CHAR_CLASS(graph) + BOOST_SPIRIT_X3_CHAR_CLASS(lower) + BOOST_SPIRIT_X3_CHAR_CLASS(print) + BOOST_SPIRIT_X3_CHAR_CLASS(punct) + BOOST_SPIRIT_X3_CHAR_CLASS(space) + BOOST_SPIRIT_X3_CHAR_CLASS(blank) + BOOST_SPIRIT_X3_CHAR_CLASS(upper) + + /////////////////////////////////////////////////////////////////////////// + // Unicode Major Categories + /////////////////////////////////////////////////////////////////////////// + BOOST_SPIRIT_X3_CHAR_CLASS(letter) + BOOST_SPIRIT_X3_CHAR_CLASS(mark) + BOOST_SPIRIT_X3_CHAR_CLASS(number) + BOOST_SPIRIT_X3_CHAR_CLASS(separator) + BOOST_SPIRIT_X3_CHAR_CLASS(other) + BOOST_SPIRIT_X3_CHAR_CLASS(punctuation) + BOOST_SPIRIT_X3_CHAR_CLASS(symbol) + + /////////////////////////////////////////////////////////////////////////// + // Unicode General Categories + /////////////////////////////////////////////////////////////////////////// + BOOST_SPIRIT_X3_CHAR_CLASS(uppercase_letter) + BOOST_SPIRIT_X3_CHAR_CLASS(lowercase_letter) + BOOST_SPIRIT_X3_CHAR_CLASS(titlecase_letter) + BOOST_SPIRIT_X3_CHAR_CLASS(modifier_letter) + BOOST_SPIRIT_X3_CHAR_CLASS(other_letter) + + BOOST_SPIRIT_X3_CHAR_CLASS(nonspacing_mark) + BOOST_SPIRIT_X3_CHAR_CLASS(enclosing_mark) + BOOST_SPIRIT_X3_CHAR_CLASS(spacing_mark) + + BOOST_SPIRIT_X3_CHAR_CLASS(decimal_number) + BOOST_SPIRIT_X3_CHAR_CLASS(letter_number) + BOOST_SPIRIT_X3_CHAR_CLASS(other_number) + + BOOST_SPIRIT_X3_CHAR_CLASS(space_separator) + BOOST_SPIRIT_X3_CHAR_CLASS(line_separator) + BOOST_SPIRIT_X3_CHAR_CLASS(paragraph_separator) + + BOOST_SPIRIT_X3_CHAR_CLASS(control) + BOOST_SPIRIT_X3_CHAR_CLASS(format) + BOOST_SPIRIT_X3_CHAR_CLASS(private_use) + BOOST_SPIRIT_X3_CHAR_CLASS(surrogate) + BOOST_SPIRIT_X3_CHAR_CLASS(unassigned) + + BOOST_SPIRIT_X3_CHAR_CLASS(dash_punctuation) + BOOST_SPIRIT_X3_CHAR_CLASS(open_punctuation) + BOOST_SPIRIT_X3_CHAR_CLASS(close_punctuation) + BOOST_SPIRIT_X3_CHAR_CLASS(connector_punctuation) + BOOST_SPIRIT_X3_CHAR_CLASS(other_punctuation) + BOOST_SPIRIT_X3_CHAR_CLASS(initial_punctuation) + BOOST_SPIRIT_X3_CHAR_CLASS(final_punctuation) + + BOOST_SPIRIT_X3_CHAR_CLASS(math_symbol) + BOOST_SPIRIT_X3_CHAR_CLASS(currency_symbol) + BOOST_SPIRIT_X3_CHAR_CLASS(modifier_symbol) + BOOST_SPIRIT_X3_CHAR_CLASS(other_symbol) + + /////////////////////////////////////////////////////////////////////////// + // Unicode Derived Categories + /////////////////////////////////////////////////////////////////////////// + BOOST_SPIRIT_X3_CHAR_CLASS(alphabetic) + BOOST_SPIRIT_X3_CHAR_CLASS(uppercase) + BOOST_SPIRIT_X3_CHAR_CLASS(lowercase) + BOOST_SPIRIT_X3_CHAR_CLASS(white_space) + BOOST_SPIRIT_X3_CHAR_CLASS(hex_digit) + BOOST_SPIRIT_X3_CHAR_CLASS(noncharacter_code_point) + BOOST_SPIRIT_X3_CHAR_CLASS(default_ignorable_code_point) + + /////////////////////////////////////////////////////////////////////////// + // Unicode Scripts + /////////////////////////////////////////////////////////////////////////// + BOOST_SPIRIT_X3_CHAR_CLASS(arabic) + BOOST_SPIRIT_X3_CHAR_CLASS(imperial_aramaic) + BOOST_SPIRIT_X3_CHAR_CLASS(armenian) + BOOST_SPIRIT_X3_CHAR_CLASS(avestan) + BOOST_SPIRIT_X3_CHAR_CLASS(balinese) + BOOST_SPIRIT_X3_CHAR_CLASS(bamum) + BOOST_SPIRIT_X3_CHAR_CLASS(bengali) + BOOST_SPIRIT_X3_CHAR_CLASS(bopomofo) + BOOST_SPIRIT_X3_CHAR_CLASS(braille) + BOOST_SPIRIT_X3_CHAR_CLASS(buginese) + BOOST_SPIRIT_X3_CHAR_CLASS(buhid) + BOOST_SPIRIT_X3_CHAR_CLASS(canadian_aboriginal) + BOOST_SPIRIT_X3_CHAR_CLASS(carian) + BOOST_SPIRIT_X3_CHAR_CLASS(cham) + BOOST_SPIRIT_X3_CHAR_CLASS(cherokee) + BOOST_SPIRIT_X3_CHAR_CLASS(coptic) + BOOST_SPIRIT_X3_CHAR_CLASS(cypriot) + BOOST_SPIRIT_X3_CHAR_CLASS(cyrillic) + BOOST_SPIRIT_X3_CHAR_CLASS(devanagari) + BOOST_SPIRIT_X3_CHAR_CLASS(deseret) + BOOST_SPIRIT_X3_CHAR_CLASS(egyptian_hieroglyphs) + BOOST_SPIRIT_X3_CHAR_CLASS(ethiopic) + BOOST_SPIRIT_X3_CHAR_CLASS(georgian) + BOOST_SPIRIT_X3_CHAR_CLASS(glagolitic) + BOOST_SPIRIT_X3_CHAR_CLASS(gothic) + BOOST_SPIRIT_X3_CHAR_CLASS(greek) + BOOST_SPIRIT_X3_CHAR_CLASS(gujarati) + BOOST_SPIRIT_X3_CHAR_CLASS(gurmukhi) + BOOST_SPIRIT_X3_CHAR_CLASS(hangul) + BOOST_SPIRIT_X3_CHAR_CLASS(han) + BOOST_SPIRIT_X3_CHAR_CLASS(hanunoo) + BOOST_SPIRIT_X3_CHAR_CLASS(hebrew) + BOOST_SPIRIT_X3_CHAR_CLASS(hiragana) + BOOST_SPIRIT_X3_CHAR_CLASS(katakana_or_hiragana) + BOOST_SPIRIT_X3_CHAR_CLASS(old_italic) + BOOST_SPIRIT_X3_CHAR_CLASS(javanese) + BOOST_SPIRIT_X3_CHAR_CLASS(kayah_li) + BOOST_SPIRIT_X3_CHAR_CLASS(katakana) + BOOST_SPIRIT_X3_CHAR_CLASS(kharoshthi) + BOOST_SPIRIT_X3_CHAR_CLASS(khmer) + BOOST_SPIRIT_X3_CHAR_CLASS(kannada) + BOOST_SPIRIT_X3_CHAR_CLASS(kaithi) + BOOST_SPIRIT_X3_CHAR_CLASS(tai_tham) + BOOST_SPIRIT_X3_CHAR_CLASS(lao) + BOOST_SPIRIT_X3_CHAR_CLASS(latin) + BOOST_SPIRIT_X3_CHAR_CLASS(lepcha) + BOOST_SPIRIT_X3_CHAR_CLASS(limbu) + BOOST_SPIRIT_X3_CHAR_CLASS(linear_b) + BOOST_SPIRIT_X3_CHAR_CLASS(lisu) + BOOST_SPIRIT_X3_CHAR_CLASS(lycian) + BOOST_SPIRIT_X3_CHAR_CLASS(lydian) + BOOST_SPIRIT_X3_CHAR_CLASS(malayalam) + BOOST_SPIRIT_X3_CHAR_CLASS(mongolian) + BOOST_SPIRIT_X3_CHAR_CLASS(meetei_mayek) + BOOST_SPIRIT_X3_CHAR_CLASS(myanmar) + BOOST_SPIRIT_X3_CHAR_CLASS(nko) + BOOST_SPIRIT_X3_CHAR_CLASS(ogham) + BOOST_SPIRIT_X3_CHAR_CLASS(ol_chiki) + BOOST_SPIRIT_X3_CHAR_CLASS(old_turkic) + BOOST_SPIRIT_X3_CHAR_CLASS(oriya) + BOOST_SPIRIT_X3_CHAR_CLASS(osmanya) + BOOST_SPIRIT_X3_CHAR_CLASS(phags_pa) + BOOST_SPIRIT_X3_CHAR_CLASS(inscriptional_pahlavi) + BOOST_SPIRIT_X3_CHAR_CLASS(phoenician) + BOOST_SPIRIT_X3_CHAR_CLASS(inscriptional_parthian) + BOOST_SPIRIT_X3_CHAR_CLASS(rejang) + BOOST_SPIRIT_X3_CHAR_CLASS(runic) + BOOST_SPIRIT_X3_CHAR_CLASS(samaritan) + BOOST_SPIRIT_X3_CHAR_CLASS(old_south_arabian) + BOOST_SPIRIT_X3_CHAR_CLASS(saurashtra) + BOOST_SPIRIT_X3_CHAR_CLASS(shavian) + BOOST_SPIRIT_X3_CHAR_CLASS(sinhala) + BOOST_SPIRIT_X3_CHAR_CLASS(sundanese) + BOOST_SPIRIT_X3_CHAR_CLASS(syloti_nagri) + BOOST_SPIRIT_X3_CHAR_CLASS(syriac) + BOOST_SPIRIT_X3_CHAR_CLASS(tagbanwa) + BOOST_SPIRIT_X3_CHAR_CLASS(tai_le) + BOOST_SPIRIT_X3_CHAR_CLASS(new_tai_lue) + BOOST_SPIRIT_X3_CHAR_CLASS(tamil) + BOOST_SPIRIT_X3_CHAR_CLASS(tai_viet) + BOOST_SPIRIT_X3_CHAR_CLASS(telugu) + BOOST_SPIRIT_X3_CHAR_CLASS(tifinagh) + BOOST_SPIRIT_X3_CHAR_CLASS(tagalog) + BOOST_SPIRIT_X3_CHAR_CLASS(thaana) + BOOST_SPIRIT_X3_CHAR_CLASS(thai) + BOOST_SPIRIT_X3_CHAR_CLASS(tibetan) + BOOST_SPIRIT_X3_CHAR_CLASS(ugaritic) + BOOST_SPIRIT_X3_CHAR_CLASS(vai) + BOOST_SPIRIT_X3_CHAR_CLASS(old_persian) + BOOST_SPIRIT_X3_CHAR_CLASS(cuneiform) + BOOST_SPIRIT_X3_CHAR_CLASS(yi) + BOOST_SPIRIT_X3_CHAR_CLASS(inherited) + BOOST_SPIRIT_X3_CHAR_CLASS(common) + BOOST_SPIRIT_X3_CHAR_CLASS(unknown) + } + +#undef BOOST_SPIRIT_X3_CHAR_CLASS + +}}} + +#endif |