Jeff Thompson | 86b6d64 | 2013-10-17 15:01:56 -0700 | [diff] [blame^] | 1 | /* |
| 2 | * |
| 3 | * Copyright (c) 2003 |
| 4 | * John Maddock |
| 5 | * |
| 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) |
| 9 | * |
| 10 | */ |
| 11 | |
| 12 | /* |
| 13 | * LOCATION: see http://www.boost.org for most recent version. |
| 14 | * FILE syntax_type.hpp |
| 15 | * VERSION see <ndnboost/version.hpp> |
| 16 | * DESCRIPTION: Declares regular expression synatx type enumerator. |
| 17 | */ |
| 18 | |
| 19 | #ifndef NDNBOOST_REGEX_SYNTAX_TYPE_HPP |
| 20 | #define NDNBOOST_REGEX_SYNTAX_TYPE_HPP |
| 21 | |
| 22 | namespace ndnboost{ |
| 23 | namespace regex_constants{ |
| 24 | |
| 25 | typedef unsigned char syntax_type; |
| 26 | |
| 27 | // |
| 28 | // values chosen are binary compatible with previous version: |
| 29 | // |
| 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; |
| 51 | |
| 52 | // extensions: |
| 53 | |
| 54 | static const syntax_type syntax_hash = 13; |
| 55 | static const syntax_type syntax_newline = 26; |
| 56 | |
| 57 | // escapes: |
| 58 | |
| 59 | typedef syntax_type escape_syntax_type; |
| 60 | |
| 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; |
| 76 | |
| 77 | // extensions: |
| 78 | |
| 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 |
| 91 | |
| 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 |
| 95 | static const escape_syntax_type escape_type_extended_backref = 57; // for \g |
| 96 | static const escape_syntax_type escape_type_reset_start_mark = 58; // for \K |
| 97 | static const escape_syntax_type escape_type_line_ending = 59; // for \R |
| 98 | |
| 99 | static const escape_syntax_type syntax_max = 60; |
| 100 | |
| 101 | } |
| 102 | } |
| 103 | |
| 104 | |
| 105 | #endif |