imgtools/imglib/boostlibrary/boost/regex/v4/match_flags.hpp
author jjkang
Fri, 25 Jun 2010 18:11:34 +0800
changeset 600 6d08f4a05d93
permissions -rw-r--r--
add deprecated files
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
600
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
     1
/*
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
     2
 *
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
     3
 * Copyright (c) 1998-2002
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
     4
 * John Maddock
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
     5
 *
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
     6
 * Use, modification and distribution are subject to the 
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
     7
 * Boost Software License, Version 1.0. (See accompanying file 
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
     8
 * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
     9
 *
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    10
 */
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    11
 
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    12
 /*
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    13
  *   LOCATION:    see http://www.boost.org for most recent version.
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    14
  *   FILE         match_flags.hpp
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    15
  *   VERSION      see <boost/version.hpp>
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    16
  *   DESCRIPTION: Declares match_flags type.
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    17
  */
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    18
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    19
#ifndef BOOST_REGEX_V4_MATCH_FLAGS
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    20
#define BOOST_REGEX_V4_MATCH_FLAGS
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    21
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    22
#ifdef __cplusplus
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    23
#  include <boost/cstdint.hpp>
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    24
#endif
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    25
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    26
#ifdef __cplusplus
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    27
namespace boost{
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    28
   namespace regex_constants{
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    29
#endif
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    30
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    31
typedef enum _match_flags
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    32
{
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    33
   match_default = 0,
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    34
   match_not_bol = 1,                                // first is not start of line
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    35
   match_not_eol = match_not_bol << 1,               // last is not end of line
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    36
   match_not_bob = match_not_eol << 1,               // first is not start of buffer
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    37
   match_not_eob = match_not_bob << 1,               // last is not end of buffer
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    38
   match_not_bow = match_not_eob << 1,               // first is not start of word
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    39
   match_not_eow = match_not_bow << 1,               // last is not end of word
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    40
   match_not_dot_newline = match_not_eow << 1,       // \n is not matched by '.'
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    41
   match_not_dot_null = match_not_dot_newline << 1,  // '\0' is not matched by '.'
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    42
   match_prev_avail = match_not_dot_null << 1,       // *--first is a valid expression
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    43
   match_init = match_prev_avail << 1,               // internal use
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    44
   match_any = match_init << 1,                      // don't care what we match
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    45
   match_not_null = match_any << 1,                  // string can't be null
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    46
   match_continuous = match_not_null << 1,           // each grep match must continue from
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    47
                                                     // uninterupted from the previous one
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    48
   match_partial = match_continuous << 1,            // find partial matches
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    49
   
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    50
   match_stop = match_partial << 1,                  // stop after first match (grep) V3 only
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    51
   match_not_initial_null = match_stop,              // don't match initial null, V4 only
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    52
   match_all = match_stop << 1,                      // must find the whole of input even if match_any is set
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    53
   match_perl = match_all << 1,                      // Use perl matching rules
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    54
   match_posix = match_perl << 1,                    // Use POSIX matching rules
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    55
   match_nosubs = match_posix << 1,                  // don't trap marked subs
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    56
   match_extra = match_nosubs << 1,                  // include full capture information for repeated captures
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    57
   match_single_line = match_extra << 1,             // treat text as single line and ignor any \n's when matching ^ and $.
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    58
   match_unused1 = match_single_line << 1,           // unused
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    59
   match_unused2 = match_unused1 << 1,               // unused
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    60
   match_unused3 = match_unused2 << 1,               // unused
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    61
   match_max = match_unused3,
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    62
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    63
   format_perl = 0,                                  // perl style replacement
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    64
   format_default = 0,                               // ditto.
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    65
   format_sed = match_max << 1,                      // sed style replacement.
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    66
   format_all = format_sed << 1,                     // enable all extentions to sytax.
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    67
   format_no_copy = format_all << 1,                 // don't copy non-matching segments.
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    68
   format_first_only = format_no_copy << 1,          // Only replace first occurance.
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    69
   format_is_if = format_first_only << 1,            // internal use only.
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    70
   format_literal = format_is_if << 1                // treat string as a literal
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    71
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    72
} match_flags;
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    73
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    74
#if (defined(_MSC_VER) && (_MSC_VER < 1300)) || defined(__BORLANDC__)
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    75
typedef unsigned long match_flag_type;
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    76
#else
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    77
typedef match_flags match_flag_type;
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    78
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    79
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    80
#ifdef __cplusplus
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    81
inline match_flags operator&(match_flags m1, match_flags m2)
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    82
{ return static_cast<match_flags>(static_cast<boost::int32_t>(m1) & static_cast<boost::int32_t>(m2)); }
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    83
inline match_flags operator|(match_flags m1, match_flags m2)
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    84
{ return static_cast<match_flags>(static_cast<boost::int32_t>(m1) | static_cast<boost::int32_t>(m2)); }
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    85
inline match_flags operator^(match_flags m1, match_flags m2)
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    86
{ return static_cast<match_flags>(static_cast<boost::int32_t>(m1) ^ static_cast<boost::int32_t>(m2)); }
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    87
inline match_flags operator~(match_flags m1)
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    88
{ return static_cast<match_flags>(~static_cast<boost::int32_t>(m1)); }
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    89
inline match_flags& operator&=(match_flags& m1, match_flags m2)
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    90
{ m1 = m1&m2; return m1; }
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    91
inline match_flags& operator|=(match_flags& m1, match_flags m2)
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    92
{ m1 = m1|m2; return m1; }
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    93
inline match_flags& operator^=(match_flags& m1, match_flags m2)
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    94
{ m1 = m1^m2; return m1; }
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    95
#endif
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    96
#endif
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    97
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    98
#ifdef __cplusplus
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    99
} // namespace regex_constants
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   100
//
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   101
// import names into boost for backwards compatiblity:
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   102
//
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   103
using regex_constants::match_flag_type;
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   104
using regex_constants::match_default;
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   105
using regex_constants::match_not_bol;
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   106
using regex_constants::match_not_eol;
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   107
using regex_constants::match_not_bob;
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   108
using regex_constants::match_not_eob;
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   109
using regex_constants::match_not_bow;
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   110
using regex_constants::match_not_eow;
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   111
using regex_constants::match_not_dot_newline;
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   112
using regex_constants::match_not_dot_null;
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   113
using regex_constants::match_prev_avail;
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   114
//using regex_constants::match_init;
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   115
using regex_constants::match_any;
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   116
using regex_constants::match_not_null;
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   117
using regex_constants::match_continuous;
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   118
using regex_constants::match_partial;
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   119
//using regex_constants::match_stop;
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   120
using regex_constants::match_all;
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   121
using regex_constants::match_perl;
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   122
using regex_constants::match_posix;
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   123
using regex_constants::match_nosubs;
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   124
using regex_constants::match_extra;
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   125
using regex_constants::match_single_line;
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   126
//using regex_constants::match_max;
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   127
using regex_constants::format_all;
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   128
using regex_constants::format_sed;
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   129
using regex_constants::format_perl;
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   130
using regex_constants::format_default;
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   131
using regex_constants::format_no_copy;
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   132
using regex_constants::format_first_only;
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   133
//using regex_constants::format_is_if;
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   134
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   135
} // namespace boost
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   136
#endif // __cplusplus
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   137
#endif // include guard
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   138