6 * Use, modification and distribution are subject to the
7 * Boost Software License, Version 1.0. (See accompanying file
8 * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
13 * LOCATION: see http://www.boost.org for most recent version.
14 * FILE syntax_type.hpp
15 * VERSION see <boost/version.hpp>
16 * DESCRIPTION: Declares regular expression synatx type enumerator.
19 #ifndef BOOST_REGEX_SYNTAX_TYPE_HPP
20 #define BOOST_REGEX_SYNTAX_TYPE_HPP
23 namespace regex_constants{
25 typedef unsigned char syntax_type;
28 // values chosen are binary compatible with previous version:
30 static const syntax_type syntax_char = 0;
31 static const syntax_type syntax_open_mark = 1;
32 static const syntax_type syntax_close_mark = 2;
33 static const syntax_type syntax_dollar = 3;
34 static const syntax_type syntax_caret = 4;
35 static const syntax_type syntax_dot = 5;
36 static const syntax_type syntax_star = 6;
37 static const syntax_type syntax_plus = 7;
38 static const syntax_type syntax_question = 8;
39 static const syntax_type syntax_open_set = 9;
40 static const syntax_type syntax_close_set = 10;
41 static const syntax_type syntax_or = 11;
42 static const syntax_type syntax_escape = 12;
43 static const syntax_type syntax_dash = 14;
44 static const syntax_type syntax_open_brace = 15;
45 static const syntax_type syntax_close_brace = 16;
46 static const syntax_type syntax_digit = 17;
47 static const syntax_type syntax_comma = 27;
48 static const syntax_type syntax_equal = 37;
49 static const syntax_type syntax_colon = 36;
50 static const syntax_type syntax_not = 53;
54 static const syntax_type syntax_hash = 13;
55 static const syntax_type syntax_newline = 26;
59 typedef syntax_type escape_syntax_type;
61 static const escape_syntax_type escape_type_word_assert = 18;
62 static const escape_syntax_type escape_type_not_word_assert = 19;
63 static const escape_syntax_type escape_type_control_f = 29;
64 static const escape_syntax_type escape_type_control_n = 30;
65 static const escape_syntax_type escape_type_control_r = 31;
66 static const escape_syntax_type escape_type_control_t = 32;
67 static const escape_syntax_type escape_type_control_v = 33;
68 static const escape_syntax_type escape_type_ascii_control = 35;
69 static const escape_syntax_type escape_type_hex = 34;
70 static const escape_syntax_type escape_type_unicode = 0; // not used
71 static const escape_syntax_type escape_type_identity = 0; // not used
72 static const escape_syntax_type escape_type_backref = syntax_digit;
73 static const escape_syntax_type escape_type_decimal = syntax_digit; // not used
74 static const escape_syntax_type escape_type_class = 22;
75 static const escape_syntax_type escape_type_not_class = 23;
79 static const escape_syntax_type escape_type_left_word = 20;
80 static const escape_syntax_type escape_type_right_word = 21;
81 static const escape_syntax_type escape_type_start_buffer = 24; // for \`
82 static const escape_syntax_type escape_type_end_buffer = 25; // for \'
83 static const escape_syntax_type escape_type_control_a = 28; // for \a
84 static const escape_syntax_type escape_type_e = 38; // for \e
85 static const escape_syntax_type escape_type_E = 47; // for \Q\E
86 static const escape_syntax_type escape_type_Q = 48; // for \Q\E
87 static const escape_syntax_type escape_type_X = 49; // for \X
88 static const escape_syntax_type escape_type_C = 50; // for \C
89 static const escape_syntax_type escape_type_Z = 51; // for \Z
90 static const escape_syntax_type escape_type_G = 52; // for \G
92 static const escape_syntax_type escape_type_property = 54; // for \p
93 static const escape_syntax_type escape_type_not_property = 55; // for \P
94 static const escape_syntax_type escape_type_named_char = 56; // for \N
96 static const escape_syntax_type syntax_max = 57;