imgtools/imglib/boostlibrary/boost/regex/v4/c_regex_traits.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) 2004
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         c_regex_traits.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 regular expression traits class that wraps the global C locale.
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_C_REGEX_TRAITS_HPP_INCLUDED
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    20
#define BOOST_C_REGEX_TRAITS_HPP_INCLUDED
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    21
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    22
#ifndef BOOST_REGEX_CONFIG_HPP
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    23
#include <boost/regex/config.hpp>
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    24
#endif
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    25
#ifndef BOOST_REGEX_WORKAROUND_HPP
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    26
#include <boost/regex/v4/regex_workaround.hpp>
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    27
#endif
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    28
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    29
#include <cctype>
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    30
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    31
#ifdef BOOST_NO_STDC_NAMESPACE
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    32
namespace std{
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    33
   using ::strlen; using ::tolower;
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    34
}
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    35
#endif
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    36
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    37
#ifdef BOOST_MSVC
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    38
#pragma warning(push)
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    39
#pragma warning(disable: 4103)
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    40
#endif
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    41
#ifdef BOOST_HAS_ABI_HEADERS
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    42
#  include BOOST_ABI_PREFIX
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    43
#endif
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    44
#ifdef BOOST_MSVC
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    45
#pragma warning(pop)
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    46
#endif
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    47
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    48
namespace boost{
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    49
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    50
template <class charT>
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    51
struct c_regex_traits;
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    52
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    53
template<>
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    54
struct BOOST_REGEX_DECL c_regex_traits<char>
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    55
{
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    56
   c_regex_traits(){}
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    57
   typedef char char_type;
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    58
   typedef std::size_t size_type;
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    59
   typedef std::string string_type;
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    60
   struct locale_type{};
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    61
   typedef boost::uint32_t char_class_type;
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    62
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    63
   static size_type length(const char_type* p) 
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    64
   { 
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    65
      return (std::strlen)(p); 
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    66
   }
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    67
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    68
   char translate(char c) const 
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    69
   { 
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    70
      return c; 
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    71
   }
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    72
   char translate_nocase(char c) const 
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    73
   { 
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    74
      return static_cast<char>((std::tolower)(static_cast<unsigned char>(c))); 
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    75
   }
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    76
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    77
   static string_type BOOST_REGEX_CALL transform(const char* p1, const char* p2);
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    78
   static string_type BOOST_REGEX_CALL transform_primary(const char* p1, const char* p2);
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    79
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    80
   static char_class_type BOOST_REGEX_CALL lookup_classname(const char* p1, const char* p2);
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    81
   static string_type BOOST_REGEX_CALL lookup_collatename(const char* p1, const char* p2);
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    82
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    83
   static bool BOOST_REGEX_CALL isctype(char, char_class_type);
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    84
   static int BOOST_REGEX_CALL value(char, int);
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    85
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    86
   locale_type imbue(locale_type l)
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    87
   { return l; }
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    88
   locale_type getloc()const
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    89
   { return locale_type(); }
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    90
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    91
private:
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    92
   // this type is not copyable:
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    93
   c_regex_traits(const c_regex_traits&);
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    94
   c_regex_traits& operator=(const c_regex_traits&);
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    95
};
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    96
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    97
#ifndef BOOST_NO_WREGEX
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    98
template<>
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    99
struct BOOST_REGEX_DECL c_regex_traits<wchar_t>
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   100
{
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   101
   c_regex_traits(){}
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   102
   typedef wchar_t char_type;
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   103
   typedef std::size_t size_type;
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   104
   typedef std::wstring string_type;
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   105
   struct locale_type{};
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   106
   typedef boost::uint32_t char_class_type;
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   107
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   108
   static size_type length(const char_type* p) 
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   109
   { 
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   110
      return (std::wcslen)(p); 
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   111
   }
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   112
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   113
   wchar_t translate(wchar_t c) const 
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   114
   { 
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   115
      return c; 
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   116
   }
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   117
   wchar_t translate_nocase(wchar_t c) const 
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   118
   { 
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   119
      return (std::towlower)(c); 
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   120
   }
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   121
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   122
   static string_type BOOST_REGEX_CALL transform(const wchar_t* p1, const wchar_t* p2);
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   123
   static string_type BOOST_REGEX_CALL transform_primary(const wchar_t* p1, const wchar_t* p2);
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   124
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   125
   static char_class_type BOOST_REGEX_CALL lookup_classname(const wchar_t* p1, const wchar_t* p2);
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   126
   static string_type BOOST_REGEX_CALL lookup_collatename(const wchar_t* p1, const wchar_t* p2);
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   127
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   128
   static bool BOOST_REGEX_CALL isctype(wchar_t, char_class_type);
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   129
   static int BOOST_REGEX_CALL value(wchar_t, int);
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   130
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   131
   locale_type imbue(locale_type l)
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   132
   { return l; }
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   133
   locale_type getloc()const
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   134
   { return locale_type(); }
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   135
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   136
private:
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   137
   // this type is not copyable:
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   138
   c_regex_traits(const c_regex_traits&);
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   139
   c_regex_traits& operator=(const c_regex_traits&);
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   140
};
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   141
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   142
#ifdef BOOST_REGEX_HAS_OTHER_WCHAR_T
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   143
//
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   144
// Provide an unsigned short version as well, so the user can link to this
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   145
// no matter whether they build with /Zc:wchar_t or not (MSVC specific).
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   146
//
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   147
template<>
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   148
struct BOOST_REGEX_DECL c_regex_traits<unsigned short>
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   149
{
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   150
   c_regex_traits(){}
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   151
   typedef unsigned short char_type;
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   152
   typedef std::size_t size_type;
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   153
   typedef std::basic_string<unsigned short> string_type;
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   154
   struct locale_type{};
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   155
   typedef boost::uint32_t char_class_type;
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   156
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   157
   static size_type length(const char_type* p) 
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   158
   { 
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   159
      return (std::wcslen)((const wchar_t*)p); 
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   160
   }
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   161
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   162
   unsigned short translate(unsigned short c) const 
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   163
   { 
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   164
      return c; 
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   165
   }
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   166
   unsigned short translate_nocase(unsigned short c) const 
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   167
   { 
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   168
      return (std::towlower)((wchar_t)c); 
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   169
   }
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   170
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   171
   static string_type BOOST_REGEX_CALL transform(const unsigned short* p1, const unsigned short* p2);
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   172
   static string_type BOOST_REGEX_CALL transform_primary(const unsigned short* p1, const unsigned short* p2);
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   173
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   174
   static char_class_type BOOST_REGEX_CALL lookup_classname(const unsigned short* p1, const unsigned short* p2);
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   175
   static string_type BOOST_REGEX_CALL lookup_collatename(const unsigned short* p1, const unsigned short* p2);
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   176
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   177
   static bool BOOST_REGEX_CALL isctype(unsigned short, char_class_type);
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   178
   static int BOOST_REGEX_CALL value(unsigned short, int);
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   179
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   180
   locale_type imbue(locale_type l)
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   181
   { return l; }
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   182
   locale_type getloc()const
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   183
   { return locale_type(); }
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   184
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   185
private:
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   186
   // this type is not copyable:
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   187
   c_regex_traits(const c_regex_traits&);
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   188
   c_regex_traits& operator=(const c_regex_traits&);
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   189
};
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   190
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   191
#endif
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   192
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   193
#endif // BOOST_NO_WREGEX
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   194
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   195
}
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   196
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   197
#ifdef BOOST_MSVC
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   198
#pragma warning(push)
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   199
#pragma warning(disable: 4103)
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   200
#endif
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   201
#ifdef BOOST_HAS_ABI_HEADERS
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   202
#  include BOOST_ABI_SUFFIX
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   203
#endif
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   204
#ifdef BOOST_MSVC
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   205
#pragma warning(pop)
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   206
#endif
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   207
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   208
#endif
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   209
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   210
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   211