You've already forked mariadb-columnstore-engine
							
							
				mirror of
				https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
				synced 2025-11-03 17:13:17 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			693 lines
		
	
	
		
			29 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			693 lines
		
	
	
		
			29 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
/*
 | 
						|
 *
 | 
						|
 * Copyright (c) 2004
 | 
						|
 * John Maddock
 | 
						|
 *
 | 
						|
 * Use, modification and distribution are subject to 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)
 | 
						|
 *
 | 
						|
 */
 | 
						|
 
 | 
						|
 /*
 | 
						|
  *   LOCATION:    see http://www.boost.org for most recent version.
 | 
						|
  *   FILE         regex_traits_defaults.cpp
 | 
						|
  *   VERSION      see <boost/version.hpp>
 | 
						|
  *   DESCRIPTION: Declares API's for access to regex_traits default properties.
 | 
						|
  */
 | 
						|
 | 
						|
#define BOOST_REGEX_SOURCE
 | 
						|
#include <boost/regex/regex_traits.hpp>
 | 
						|
 | 
						|
#include <cctype>
 | 
						|
#ifndef BOOST_NO_WREGEX
 | 
						|
#include <cwctype>
 | 
						|
#endif
 | 
						|
 | 
						|
#if defined(BOOST_NO_STDC_NAMESPACE)
 | 
						|
namespace std{
 | 
						|
   using ::tolower;
 | 
						|
   using ::toupper;
 | 
						|
#ifndef BOOST_NO_WREGEX
 | 
						|
   using ::towlower;
 | 
						|
   using ::towupper;
 | 
						|
#endif
 | 
						|
}
 | 
						|
#endif
 | 
						|
 | 
						|
 | 
						|
namespace boost{ namespace re_detail{
 | 
						|
 | 
						|
BOOST_REGEX_DECL const char* BOOST_REGEX_CALL get_default_syntax(regex_constants::syntax_type n)
 | 
						|
{
 | 
						|
   // if the user hasn't supplied a message catalog, then this supplies
 | 
						|
   // default "messages" for us to load in the range 1-100.
 | 
						|
   const char* messages[] = {
 | 
						|
         "",
 | 
						|
         "(",
 | 
						|
         ")",
 | 
						|
         "$",
 | 
						|
         "^",
 | 
						|
         ".",
 | 
						|
         "*",
 | 
						|
         "+",
 | 
						|
         "?",
 | 
						|
         "[",
 | 
						|
         "]",
 | 
						|
         "|",
 | 
						|
         "\\",
 | 
						|
         "#",
 | 
						|
         "-",
 | 
						|
         "{",
 | 
						|
         "}",
 | 
						|
         "0123456789",
 | 
						|
         "b",
 | 
						|
         "B",
 | 
						|
         "<",
 | 
						|
         ">",
 | 
						|
         "",
 | 
						|
         "",
 | 
						|
         "A`",
 | 
						|
         "z'",
 | 
						|
         "\n",
 | 
						|
         ",",
 | 
						|
         "a",
 | 
						|
         "f",
 | 
						|
         "n",
 | 
						|
         "r",
 | 
						|
         "t",
 | 
						|
         "v",
 | 
						|
         "x",
 | 
						|
         "c",
 | 
						|
         ":",
 | 
						|
         "=",
 | 
						|
         "e",
 | 
						|
         "",
 | 
						|
         "",
 | 
						|
         "",
 | 
						|
         "",
 | 
						|
         "",
 | 
						|
         "",
 | 
						|
         "",
 | 
						|
         "",
 | 
						|
         "E",
 | 
						|
         "Q",
 | 
						|
         "X",
 | 
						|
         "C",
 | 
						|
         "Z",
 | 
						|
         "G",
 | 
						|
         "!",
 | 
						|
         "p",
 | 
						|
         "P",
 | 
						|
         "N",
 | 
						|
         "gk",
 | 
						|
         "K",
 | 
						|
         "R",
 | 
						|
   };
 | 
						|
 | 
						|
   return ((n >= (sizeof(messages) / sizeof(messages[1]))) ? "" : messages[n]);
 | 
						|
}
 | 
						|
 | 
						|
BOOST_REGEX_DECL const char* BOOST_REGEX_CALL get_default_error_string(regex_constants::error_type n)
 | 
						|
{
 | 
						|
   static const char* const s_default_error_messages[] = {
 | 
						|
      "Success",                                                            /* REG_NOERROR 0 error_ok */
 | 
						|
      "No match",                                                           /* REG_NOMATCH 1 error_no_match */
 | 
						|
      "Invalid regular expression.",                                        /* REG_BADPAT 2 error_bad_pattern */
 | 
						|
      "Invalid collation character.",                                       /* REG_ECOLLATE 3 error_collate */
 | 
						|
      "Invalid character class name, collating name, or character range.",  /* REG_ECTYPE 4 error_ctype */
 | 
						|
      "Invalid or unterminated escape sequence.",                           /* REG_EESCAPE 5 error_escape */
 | 
						|
      "Invalid back reference: specified capturing group does not exist.",  /* REG_ESUBREG 6 error_backref */
 | 
						|
      "Unmatched [ or [^ in character class declaration.",                  /* REG_EBRACK 7 error_brack */
 | 
						|
      "Unmatched marking parenthesis ( or \\(.",                            /* REG_EPAREN 8 error_paren */
 | 
						|
      "Unmatched quantified repeat operator { or \\{.",                     /* REG_EBRACE 9 error_brace */
 | 
						|
      "Invalid content of repeat range.",                                   /* REG_BADBR 10 error_badbrace */
 | 
						|
      "Invalid range end in character class",                               /* REG_ERANGE 11 error_range */
 | 
						|
      "Out of memory.",                                                     /* REG_ESPACE 12 error_space NOT USED */
 | 
						|
      "Invalid preceding regular expression prior to repetition operator.", /* REG_BADRPT 13 error_badrepeat */
 | 
						|
      "Premature end of regular expression",                                /* REG_EEND 14 error_end NOT USED */
 | 
						|
      "Regular expression is too large.",                                   /* REG_ESIZE 15 error_size NOT USED */
 | 
						|
      "Unmatched ) or \\)",                                                 /* REG_ERPAREN 16 error_right_paren NOT USED */
 | 
						|
      "Empty regular expression.",                                          /* REG_EMPTY 17 error_empty */
 | 
						|
      "The complexity of matching the regular expression exceeded predefined bounds.  "
 | 
						|
      "Try refactoring the regular expression to make each choice made by the state machine unambiguous.  "
 | 
						|
      "This exception is thrown to prevent \"eternal\" matches that take an "
 | 
						|
      "indefinite period time to locate.",                                  /* REG_ECOMPLEXITY 18 error_complexity */
 | 
						|
      "Ran out of stack space trying to match the regular expression.",     /* REG_ESTACK 19 error_stack */
 | 
						|
      "Invalid or unterminated Perl (?...) sequence.",                      /* REG_E_PERL 20 error_perl */
 | 
						|
      "Unknown error.",                                                     /* REG_E_UNKNOWN 21 error_unknown */
 | 
						|
   };
 | 
						|
 | 
						|
   return (n > ::boost::regex_constants::error_unknown) ? s_default_error_messages[ ::boost::regex_constants::error_unknown] : s_default_error_messages[n];
 | 
						|
}
 | 
						|
 | 
						|
BOOST_REGEX_DECL bool BOOST_REGEX_CALL is_combining_implementation(boost::uint_least16_t c)
 | 
						|
{
 | 
						|
   const boost::uint_least16_t combining_ranges[] = { 0x0300, 0x0361, 
 | 
						|
                           0x0483, 0x0486, 
 | 
						|
                           0x0903, 0x0903, 
 | 
						|
                           0x093E, 0x0940, 
 | 
						|
                           0x0949, 0x094C,
 | 
						|
                           0x0982, 0x0983,
 | 
						|
                           0x09BE, 0x09C0,
 | 
						|
                           0x09C7, 0x09CC,
 | 
						|
                           0x09D7, 0x09D7,
 | 
						|
                           0x0A3E, 0x0A40,
 | 
						|
                           0x0A83, 0x0A83,
 | 
						|
                           0x0ABE, 0x0AC0,
 | 
						|
                           0x0AC9, 0x0ACC,
 | 
						|
                           0x0B02, 0x0B03,
 | 
						|
                           0x0B3E, 0x0B3E,
 | 
						|
                           0x0B40, 0x0B40,
 | 
						|
                           0x0B47, 0x0B4C,
 | 
						|
                           0x0B57, 0x0B57,
 | 
						|
                           0x0B83, 0x0B83,
 | 
						|
                           0x0BBE, 0x0BBF,
 | 
						|
                           0x0BC1, 0x0BCC,
 | 
						|
                           0x0BD7, 0x0BD7,
 | 
						|
                           0x0C01, 0x0C03,
 | 
						|
                           0x0C41, 0x0C44,
 | 
						|
                           0x0C82, 0x0C83,
 | 
						|
                           0x0CBE, 0x0CBE,
 | 
						|
                           0x0CC0, 0x0CC4,
 | 
						|
                           0x0CC7, 0x0CCB,
 | 
						|
                           0x0CD5, 0x0CD6,
 | 
						|
                           0x0D02, 0x0D03,
 | 
						|
                           0x0D3E, 0x0D40,
 | 
						|
                           0x0D46, 0x0D4C,
 | 
						|
                           0x0D57, 0x0D57,
 | 
						|
                           0x0F7F, 0x0F7F,
 | 
						|
                           0x20D0, 0x20E1, 
 | 
						|
                           0x3099, 0x309A,
 | 
						|
                           0xFE20, 0xFE23, 
 | 
						|
                           0xffff, 0xffff, };
 | 
						|
 | 
						|
      const boost::uint_least16_t* p = combining_ranges + 1;
 | 
						|
   while(*p < c) p += 2;
 | 
						|
   --p;
 | 
						|
   if((c >= *p) && (c <= *(p+1)))
 | 
						|
         return true;
 | 
						|
   return false;
 | 
						|
}
 | 
						|
 | 
						|
//
 | 
						|
// these are the POSIX collating names:
 | 
						|
//
 | 
						|
BOOST_REGEX_DECL const char* def_coll_names[] = {
 | 
						|
"NUL", "SOH", "STX", "ETX", "EOT", "ENQ", "ACK", "alert", "backspace", "tab", "newline", 
 | 
						|
"vertical-tab", "form-feed", "carriage-return", "SO", "SI", "DLE", "DC1", "DC2", "DC3", "DC4", "NAK", 
 | 
						|
"SYN", "ETB", "CAN", "EM", "SUB", "ESC", "IS4", "IS3", "IS2", "IS1", "space", "exclamation-mark", 
 | 
						|
"quotation-mark", "number-sign", "dollar-sign", "percent-sign", "ampersand", "apostrophe", 
 | 
						|
"left-parenthesis", "right-parenthesis", "asterisk", "plus-sign", "comma", "hyphen", 
 | 
						|
"period", "slash", "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", 
 | 
						|
"colon", "semicolon", "less-than-sign", "equals-sign", "greater-than-sign", 
 | 
						|
"question-mark", "commercial-at", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", 
 | 
						|
"Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "left-square-bracket", "backslash", 
 | 
						|
"right-square-bracket", "circumflex", "underscore", "grave-accent", "a", "b", "c", "d", "e", "f", 
 | 
						|
"g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "left-curly-bracket", 
 | 
						|
"vertical-line", "right-curly-bracket", "tilde", "DEL", "", 
 | 
						|
};
 | 
						|
 | 
						|
// these multi-character collating elements
 | 
						|
// should keep most Western-European locales
 | 
						|
// happy - we should really localise these a
 | 
						|
// little more - but this will have to do for
 | 
						|
// now:
 | 
						|
 | 
						|
BOOST_REGEX_DECL const char* def_multi_coll[] = {
 | 
						|
   "ae",
 | 
						|
   "Ae",
 | 
						|
   "AE",
 | 
						|
   "ch",
 | 
						|
   "Ch",
 | 
						|
   "CH",
 | 
						|
   "ll",
 | 
						|
   "Ll",
 | 
						|
   "LL",
 | 
						|
   "ss",
 | 
						|
   "Ss",
 | 
						|
   "SS",
 | 
						|
   "nj",
 | 
						|
   "Nj",
 | 
						|
   "NJ",
 | 
						|
   "dz",
 | 
						|
   "Dz",
 | 
						|
   "DZ",
 | 
						|
   "lj",
 | 
						|
   "Lj",
 | 
						|
   "LJ",
 | 
						|
   "",
 | 
						|
};
 | 
						|
 | 
						|
 | 
						|
 | 
						|
BOOST_REGEX_DECL std::string BOOST_REGEX_CALL lookup_default_collate_name(const std::string& name)
 | 
						|
{
 | 
						|
   unsigned int i = 0;
 | 
						|
   while(*def_coll_names[i])
 | 
						|
   {
 | 
						|
      if(def_coll_names[i] == name)
 | 
						|
      {
 | 
						|
         return std::string(1, char(i));
 | 
						|
      }
 | 
						|
      ++i;
 | 
						|
   }
 | 
						|
   i = 0;
 | 
						|
   while(*def_multi_coll[i])
 | 
						|
   {
 | 
						|
      if(def_multi_coll[i] == name)
 | 
						|
      {
 | 
						|
         return def_multi_coll[i];
 | 
						|
      }
 | 
						|
      ++i;
 | 
						|
   }
 | 
						|
   return std::string();
 | 
						|
}
 | 
						|
 | 
						|
BOOST_REGEX_DECL char BOOST_REGEX_CALL do_global_lower(char c)
 | 
						|
{
 | 
						|
   return static_cast<char>((std::tolower)((unsigned char)c));
 | 
						|
}
 | 
						|
 | 
						|
BOOST_REGEX_DECL char BOOST_REGEX_CALL do_global_upper(char c)
 | 
						|
{
 | 
						|
   return static_cast<char>((std::toupper)((unsigned char)c));
 | 
						|
}
 | 
						|
#ifndef BOOST_NO_WREGEX
 | 
						|
BOOST_REGEX_DECL wchar_t BOOST_REGEX_CALL do_global_lower(wchar_t c)
 | 
						|
{
 | 
						|
   return (std::towlower)(c);
 | 
						|
}
 | 
						|
 | 
						|
BOOST_REGEX_DECL wchar_t BOOST_REGEX_CALL do_global_upper(wchar_t c)
 | 
						|
{
 | 
						|
   return (std::towupper)(c);
 | 
						|
}
 | 
						|
#ifdef BOOST_REGEX_HAS_OTHER_WCHAR_T
 | 
						|
BOOST_REGEX_DECL unsigned short BOOST_REGEX_CALL do_global_lower(unsigned short c)
 | 
						|
{
 | 
						|
   return (std::towlower)(c);
 | 
						|
}
 | 
						|
 | 
						|
BOOST_REGEX_DECL unsigned short BOOST_REGEX_CALL do_global_upper(unsigned short c)
 | 
						|
{
 | 
						|
   return (std::towupper)(c);
 | 
						|
}
 | 
						|
#endif
 | 
						|
 | 
						|
#endif
 | 
						|
 | 
						|
BOOST_REGEX_DECL regex_constants::escape_syntax_type BOOST_REGEX_CALL get_default_escape_syntax_type(char c)
 | 
						|
{
 | 
						|
   //
 | 
						|
   // char_syntax determines how the compiler treats a given character
 | 
						|
   // in a regular expression.
 | 
						|
   //
 | 
						|
   static regex_constants::escape_syntax_type char_syntax[] = {
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,     /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /* */    // 32
 | 
						|
      regex_constants::escape_type_identity,        /*!*/
 | 
						|
      regex_constants::escape_type_identity,        /*"*/
 | 
						|
      regex_constants::escape_type_identity,        /*#*/
 | 
						|
      regex_constants::escape_type_identity,        /*$*/
 | 
						|
      regex_constants::escape_type_identity,        /*%*/
 | 
						|
      regex_constants::escape_type_identity,        /*&*/
 | 
						|
      regex_constants::escape_type_end_buffer,        /*'*/
 | 
						|
      regex_constants::syntax_open_mark,        /*(*/
 | 
						|
      regex_constants::syntax_close_mark,        /*)*/
 | 
						|
      regex_constants::escape_type_identity,        /***/
 | 
						|
      regex_constants::syntax_plus,                 /*+*/
 | 
						|
      regex_constants::escape_type_identity,        /*,*/
 | 
						|
      regex_constants::escape_type_identity,        /*-*/
 | 
						|
      regex_constants::escape_type_identity,        /*.*/
 | 
						|
      regex_constants::escape_type_identity,        /*/*/
 | 
						|
      regex_constants::escape_type_decimal,        /*0*/
 | 
						|
      regex_constants::escape_type_backref,        /*1*/
 | 
						|
      regex_constants::escape_type_backref,        /*2*/
 | 
						|
      regex_constants::escape_type_backref,        /*3*/
 | 
						|
      regex_constants::escape_type_backref,        /*4*/
 | 
						|
      regex_constants::escape_type_backref,        /*5*/
 | 
						|
      regex_constants::escape_type_backref,        /*6*/
 | 
						|
      regex_constants::escape_type_backref,        /*7*/
 | 
						|
      regex_constants::escape_type_backref,        /*8*/
 | 
						|
      regex_constants::escape_type_backref,        /*9*/
 | 
						|
      regex_constants::escape_type_identity,        /*:*/
 | 
						|
      regex_constants::escape_type_identity,        /*;*/
 | 
						|
      regex_constants::escape_type_left_word,        /*<*/
 | 
						|
      regex_constants::escape_type_identity,        /*=*/
 | 
						|
      regex_constants::escape_type_right_word,        /*>*/
 | 
						|
      regex_constants::syntax_question,              /*?*/
 | 
						|
      regex_constants::escape_type_identity,         /*@*/
 | 
						|
      regex_constants::escape_type_start_buffer,     /*A*/
 | 
						|
      regex_constants::escape_type_not_word_assert,  /*B*/
 | 
						|
      regex_constants::escape_type_C,                /*C*/
 | 
						|
      regex_constants::escape_type_not_class,        /*D*/
 | 
						|
      regex_constants::escape_type_E,                /*E*/
 | 
						|
      regex_constants::escape_type_not_class,        /*F*/
 | 
						|
      regex_constants::escape_type_G,                /*G*/
 | 
						|
      regex_constants::escape_type_not_class,        /*H*/
 | 
						|
      regex_constants::escape_type_not_class,        /*I*/
 | 
						|
      regex_constants::escape_type_not_class,        /*J*/
 | 
						|
      regex_constants::escape_type_reset_start_mark, /*K*/
 | 
						|
      regex_constants::escape_type_not_class,        /*L*/
 | 
						|
      regex_constants::escape_type_not_class,        /*M*/
 | 
						|
      regex_constants::escape_type_named_char,       /*N*/
 | 
						|
      regex_constants::escape_type_not_class,        /*O*/
 | 
						|
      regex_constants::escape_type_not_property,     /*P*/
 | 
						|
      regex_constants::escape_type_Q,                /*Q*/
 | 
						|
      regex_constants::escape_type_line_ending,      /*R*/
 | 
						|
      regex_constants::escape_type_not_class,        /*S*/
 | 
						|
      regex_constants::escape_type_not_class,        /*T*/
 | 
						|
      regex_constants::escape_type_not_class,        /*U*/
 | 
						|
      regex_constants::escape_type_not_class,        /*V*/
 | 
						|
      regex_constants::escape_type_not_class,        /*W*/
 | 
						|
      regex_constants::escape_type_X,                /*X*/
 | 
						|
      regex_constants::escape_type_not_class,        /*Y*/
 | 
						|
      regex_constants::escape_type_Z,                /*Z*/
 | 
						|
      regex_constants::escape_type_identity,        /*[*/
 | 
						|
      regex_constants::escape_type_identity,        /*\*/
 | 
						|
      regex_constants::escape_type_identity,        /*]*/
 | 
						|
      regex_constants::escape_type_identity,        /*^*/
 | 
						|
      regex_constants::escape_type_identity,        /*_*/
 | 
						|
      regex_constants::escape_type_start_buffer,        /*`*/
 | 
						|
      regex_constants::escape_type_control_a,        /*a*/
 | 
						|
      regex_constants::escape_type_word_assert,        /*b*/
 | 
						|
      regex_constants::escape_type_ascii_control,        /*c*/
 | 
						|
      regex_constants::escape_type_class,        /*d*/
 | 
						|
      regex_constants::escape_type_e,        /*e*/
 | 
						|
      regex_constants::escape_type_control_f,       /*f*/
 | 
						|
      regex_constants::escape_type_extended_backref,  /*g*/
 | 
						|
      regex_constants::escape_type_class,        /*h*/
 | 
						|
      regex_constants::escape_type_class,        /*i*/
 | 
						|
      regex_constants::escape_type_class,        /*j*/
 | 
						|
      regex_constants::escape_type_extended_backref, /*k*/
 | 
						|
      regex_constants::escape_type_class,        /*l*/
 | 
						|
      regex_constants::escape_type_class,        /*m*/
 | 
						|
      regex_constants::escape_type_control_n,       /*n*/
 | 
						|
      regex_constants::escape_type_class,           /*o*/
 | 
						|
      regex_constants::escape_type_property,        /*p*/
 | 
						|
      regex_constants::escape_type_class,           /*q*/
 | 
						|
      regex_constants::escape_type_control_r,       /*r*/
 | 
						|
      regex_constants::escape_type_class,           /*s*/
 | 
						|
      regex_constants::escape_type_control_t,       /*t*/
 | 
						|
      regex_constants::escape_type_class,         /*u*/
 | 
						|
      regex_constants::escape_type_control_v,       /*v*/
 | 
						|
      regex_constants::escape_type_class,           /*w*/
 | 
						|
      regex_constants::escape_type_hex,             /*x*/
 | 
						|
      regex_constants::escape_type_class,           /*y*/
 | 
						|
      regex_constants::escape_type_end_buffer,      /*z*/
 | 
						|
      regex_constants::syntax_open_brace,           /*{*/
 | 
						|
      regex_constants::syntax_or,                   /*|*/
 | 
						|
      regex_constants::syntax_close_brace,          /*}*/
 | 
						|
      regex_constants::escape_type_identity,        /*~*/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
      regex_constants::escape_type_identity,        /**/
 | 
						|
   };
 | 
						|
 | 
						|
   return char_syntax[(unsigned char)c];
 | 
						|
}
 | 
						|
 | 
						|
BOOST_REGEX_DECL regex_constants::syntax_type BOOST_REGEX_CALL get_default_syntax_type(char c)
 | 
						|
{
 | 
						|
   //
 | 
						|
   // char_syntax determines how the compiler treats a given character
 | 
						|
   // in a regular expression.
 | 
						|
   //
 | 
						|
   static regex_constants::syntax_type char_syntax[] = {
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_newline,     /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /* */    // 32
 | 
						|
      regex_constants::syntax_not,        /*!*/
 | 
						|
      regex_constants::syntax_char,        /*"*/
 | 
						|
      regex_constants::syntax_hash,        /*#*/
 | 
						|
      regex_constants::syntax_dollar,        /*$*/
 | 
						|
      regex_constants::syntax_char,        /*%*/
 | 
						|
      regex_constants::syntax_char,        /*&*/
 | 
						|
      regex_constants::escape_type_end_buffer,  /*'*/
 | 
						|
      regex_constants::syntax_open_mark,        /*(*/
 | 
						|
      regex_constants::syntax_close_mark,        /*)*/
 | 
						|
      regex_constants::syntax_star,        /***/
 | 
						|
      regex_constants::syntax_plus,        /*+*/
 | 
						|
      regex_constants::syntax_comma,        /*,*/
 | 
						|
      regex_constants::syntax_dash,        /*-*/
 | 
						|
      regex_constants::syntax_dot,        /*.*/
 | 
						|
      regex_constants::syntax_char,        /*/*/
 | 
						|
      regex_constants::syntax_digit,        /*0*/
 | 
						|
      regex_constants::syntax_digit,        /*1*/
 | 
						|
      regex_constants::syntax_digit,        /*2*/
 | 
						|
      regex_constants::syntax_digit,        /*3*/
 | 
						|
      regex_constants::syntax_digit,        /*4*/
 | 
						|
      regex_constants::syntax_digit,        /*5*/
 | 
						|
      regex_constants::syntax_digit,        /*6*/
 | 
						|
      regex_constants::syntax_digit,        /*7*/
 | 
						|
      regex_constants::syntax_digit,        /*8*/
 | 
						|
      regex_constants::syntax_digit,        /*9*/
 | 
						|
      regex_constants::syntax_colon,        /*:*/
 | 
						|
      regex_constants::syntax_char,        /*;*/
 | 
						|
      regex_constants::escape_type_left_word, /*<*/
 | 
						|
      regex_constants::syntax_equal,        /*=*/
 | 
						|
      regex_constants::escape_type_right_word, /*>*/
 | 
						|
      regex_constants::syntax_question,        /*?*/
 | 
						|
      regex_constants::syntax_char,        /*@*/
 | 
						|
      regex_constants::syntax_char,        /*A*/
 | 
						|
      regex_constants::syntax_char,        /*B*/
 | 
						|
      regex_constants::syntax_char,        /*C*/
 | 
						|
      regex_constants::syntax_char,        /*D*/
 | 
						|
      regex_constants::syntax_char,        /*E*/
 | 
						|
      regex_constants::syntax_char,        /*F*/
 | 
						|
      regex_constants::syntax_char,        /*G*/
 | 
						|
      regex_constants::syntax_char,        /*H*/
 | 
						|
      regex_constants::syntax_char,        /*I*/
 | 
						|
      regex_constants::syntax_char,        /*J*/
 | 
						|
      regex_constants::syntax_char,        /*K*/
 | 
						|
      regex_constants::syntax_char,        /*L*/
 | 
						|
      regex_constants::syntax_char,        /*M*/
 | 
						|
      regex_constants::syntax_char,        /*N*/
 | 
						|
      regex_constants::syntax_char,        /*O*/
 | 
						|
      regex_constants::syntax_char,        /*P*/
 | 
						|
      regex_constants::syntax_char,        /*Q*/
 | 
						|
      regex_constants::syntax_char,        /*R*/
 | 
						|
      regex_constants::syntax_char,        /*S*/
 | 
						|
      regex_constants::syntax_char,        /*T*/
 | 
						|
      regex_constants::syntax_char,        /*U*/
 | 
						|
      regex_constants::syntax_char,        /*V*/
 | 
						|
      regex_constants::syntax_char,        /*W*/
 | 
						|
      regex_constants::syntax_char,        /*X*/
 | 
						|
      regex_constants::syntax_char,        /*Y*/
 | 
						|
      regex_constants::syntax_char,        /*Z*/
 | 
						|
      regex_constants::syntax_open_set,        /*[*/
 | 
						|
      regex_constants::syntax_escape,        /*\*/
 | 
						|
      regex_constants::syntax_close_set,        /*]*/
 | 
						|
      regex_constants::syntax_caret,        /*^*/
 | 
						|
      regex_constants::syntax_char,        /*_*/
 | 
						|
      regex_constants::syntax_char,        /*`*/
 | 
						|
      regex_constants::syntax_char,        /*a*/
 | 
						|
      regex_constants::syntax_char,        /*b*/
 | 
						|
      regex_constants::syntax_char,        /*c*/
 | 
						|
      regex_constants::syntax_char,        /*d*/
 | 
						|
      regex_constants::syntax_char,        /*e*/
 | 
						|
      regex_constants::syntax_char,        /*f*/
 | 
						|
      regex_constants::syntax_char,        /*g*/
 | 
						|
      regex_constants::syntax_char,        /*h*/
 | 
						|
      regex_constants::syntax_char,        /*i*/
 | 
						|
      regex_constants::syntax_char,        /*j*/
 | 
						|
      regex_constants::syntax_char,        /*k*/
 | 
						|
      regex_constants::syntax_char,        /*l*/
 | 
						|
      regex_constants::syntax_char,        /*m*/
 | 
						|
      regex_constants::syntax_char,        /*n*/
 | 
						|
      regex_constants::syntax_char,        /*o*/
 | 
						|
      regex_constants::syntax_char,        /*p*/
 | 
						|
      regex_constants::syntax_char,        /*q*/
 | 
						|
      regex_constants::syntax_char,        /*r*/
 | 
						|
      regex_constants::syntax_char,        /*s*/
 | 
						|
      regex_constants::syntax_char,        /*t*/
 | 
						|
      regex_constants::syntax_char,        /*u*/
 | 
						|
      regex_constants::syntax_char,        /*v*/
 | 
						|
      regex_constants::syntax_char,        /*w*/
 | 
						|
      regex_constants::syntax_char,        /*x*/
 | 
						|
      regex_constants::syntax_char,        /*y*/
 | 
						|
      regex_constants::syntax_char,        /*z*/
 | 
						|
      regex_constants::syntax_open_brace,        /*{*/
 | 
						|
      regex_constants::syntax_or,        /*|*/
 | 
						|
      regex_constants::syntax_close_brace,        /*}*/
 | 
						|
      regex_constants::syntax_char,        /*~*/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
      regex_constants::syntax_char,        /**/
 | 
						|
   };
 | 
						|
 | 
						|
   return char_syntax[(unsigned char)c];
 | 
						|
}
 | 
						|
 | 
						|
 | 
						|
} // re_detail
 | 
						|
} // boost
 |