| sl@0 |      1 | /*
 | 
| sl@0 |      2 |  *
 | 
| sl@0 |      3 |  * Copyright (c) 1998-2002
 | 
| sl@0 |      4 |  * John Maddock
 | 
| sl@0 |      5 |  *
 | 
| sl@0 |      6 |  * Use, modification and distribution are subject to the 
 | 
| sl@0 |      7 |  * Boost Software License, Version 1.0. (See accompanying file 
 | 
| sl@0 |      8 |  * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 | 
| sl@0 |      9 |  *
 | 
| sl@0 |     10 |  */
 | 
| sl@0 |     11 |  
 | 
| sl@0 |     12 |  /*
 | 
| sl@0 |     13 |   *   LOCATION:    see http://www.boost.org for most recent version.
 | 
| sl@0 |     14 |   *   FILE         boost/regex/config/cwchar.hpp
 | 
| sl@0 |     15 |   *   VERSION      see <boost/version.hpp>
 | 
| sl@0 |     16 |   *   DESCRIPTION: regex wide character string fixes.
 | 
| sl@0 |     17 |   */
 | 
| sl@0 |     18 | 
 | 
| sl@0 |     19 | #ifndef BOOST_REGEX_CONFIG_CWCHAR_HPP
 | 
| sl@0 |     20 | #define BOOST_REGEX_CONFIG_CWCHAR_HPP
 | 
| sl@0 |     21 | 
 | 
| sl@0 |     22 | #include <cwchar>
 | 
| sl@0 |     23 | #include <cwctype>
 | 
| sl@0 |     24 | #include <boost/config.hpp>
 | 
| sl@0 |     25 | 
 | 
| sl@0 |     26 | #if defined(__STD_RWCOMPILER_H__) || defined(_RWSTD_VER)
 | 
| sl@0 |     27 | // apparently this is required for the RW STL on Linux:
 | 
| sl@0 |     28 | #undef iswalnum
 | 
| sl@0 |     29 | #undef iswalpha
 | 
| sl@0 |     30 | #undef iswblank
 | 
| sl@0 |     31 | #undef iswcntrl
 | 
| sl@0 |     32 | #undef iswdigit
 | 
| sl@0 |     33 | #undef iswgraph
 | 
| sl@0 |     34 | #undef iswlower
 | 
| sl@0 |     35 | #undef iswprint
 | 
| sl@0 |     36 | #undef iswprint
 | 
| sl@0 |     37 | #undef iswpunct
 | 
| sl@0 |     38 | #undef iswspace
 | 
| sl@0 |     39 | #undef iswupper
 | 
| sl@0 |     40 | #undef iswxdigit
 | 
| sl@0 |     41 | #undef iswctype
 | 
| sl@0 |     42 | #undef towlower
 | 
| sl@0 |     43 | #undef towupper
 | 
| sl@0 |     44 | #undef towctrans
 | 
| sl@0 |     45 | #undef wctrans
 | 
| sl@0 |     46 | #undef wctype
 | 
| sl@0 |     47 | #endif
 | 
| sl@0 |     48 | 
 | 
| sl@0 |     49 | namespace std{
 | 
| sl@0 |     50 | 
 | 
| sl@0 |     51 | #ifndef BOOST_NO_STDC_NAMESPACE
 | 
| sl@0 |     52 | extern "C"{
 | 
| sl@0 |     53 | #endif
 | 
| sl@0 |     54 | 
 | 
| sl@0 |     55 | #ifdef iswalnum
 | 
| sl@0 |     56 | inline int (iswalnum)(wint_t i)
 | 
| sl@0 |     57 | { return iswalnum(i); }
 | 
| sl@0 |     58 | #undef iswalnum
 | 
| sl@0 |     59 | #elif defined(BOOST_NO_STDC_NAMESPACE)
 | 
| sl@0 |     60 | using ::iswalnum;
 | 
| sl@0 |     61 | #endif
 | 
| sl@0 |     62 | 
 | 
| sl@0 |     63 | #ifdef iswalpha
 | 
| sl@0 |     64 | inline int (iswalpha)(wint_t i)
 | 
| sl@0 |     65 | { return iswalpha(i); }
 | 
| sl@0 |     66 | #undef iswalpha
 | 
| sl@0 |     67 | #elif defined(BOOST_NO_STDC_NAMESPACE)
 | 
| sl@0 |     68 | using ::iswalpha;
 | 
| sl@0 |     69 | #endif
 | 
| sl@0 |     70 | 
 | 
| sl@0 |     71 | #ifdef iswcntrl
 | 
| sl@0 |     72 | inline int (iswcntrl)(wint_t i)
 | 
| sl@0 |     73 | { return iswcntrl(i); }
 | 
| sl@0 |     74 | #undef iswcntrl
 | 
| sl@0 |     75 | #elif defined(BOOST_NO_STDC_NAMESPACE)
 | 
| sl@0 |     76 | using ::iswcntrl;
 | 
| sl@0 |     77 | #endif
 | 
| sl@0 |     78 | 
 | 
| sl@0 |     79 | #ifdef iswdigit
 | 
| sl@0 |     80 | inline int (iswdigit)(wint_t i)
 | 
| sl@0 |     81 | { return iswdigit(i); }
 | 
| sl@0 |     82 | #undef iswdigit
 | 
| sl@0 |     83 | #elif defined(BOOST_NO_STDC_NAMESPACE)
 | 
| sl@0 |     84 | using ::iswdigit;
 | 
| sl@0 |     85 | #endif
 | 
| sl@0 |     86 | 
 | 
| sl@0 |     87 | #ifdef iswgraph
 | 
| sl@0 |     88 | inline int (iswgraph)(wint_t i)
 | 
| sl@0 |     89 | { return iswgraph(i); }
 | 
| sl@0 |     90 | #undef iswgraph
 | 
| sl@0 |     91 | #elif defined(BOOST_NO_STDC_NAMESPACE)
 | 
| sl@0 |     92 | using ::iswgraph;
 | 
| sl@0 |     93 | #endif
 | 
| sl@0 |     94 | 
 | 
| sl@0 |     95 | #ifdef iswlower
 | 
| sl@0 |     96 | inline int (iswlower)(wint_t i)
 | 
| sl@0 |     97 | { return iswlower(i); }
 | 
| sl@0 |     98 | #undef iswlower
 | 
| sl@0 |     99 | #elif defined(BOOST_NO_STDC_NAMESPACE)
 | 
| sl@0 |    100 | using ::iswlower;
 | 
| sl@0 |    101 | #endif
 | 
| sl@0 |    102 | 
 | 
| sl@0 |    103 | #ifdef iswprint
 | 
| sl@0 |    104 | inline int (iswprint)(wint_t i)
 | 
| sl@0 |    105 | { return iswprint(i); }
 | 
| sl@0 |    106 | #undef iswprint
 | 
| sl@0 |    107 | #elif defined(BOOST_NO_STDC_NAMESPACE)
 | 
| sl@0 |    108 | using ::iswprint;
 | 
| sl@0 |    109 | #endif
 | 
| sl@0 |    110 | 
 | 
| sl@0 |    111 | #ifdef iswpunct
 | 
| sl@0 |    112 | inline int (iswpunct)(wint_t i)
 | 
| sl@0 |    113 | { return iswpunct(i); }
 | 
| sl@0 |    114 | #undef iswpunct
 | 
| sl@0 |    115 | #elif defined(BOOST_NO_STDC_NAMESPACE)
 | 
| sl@0 |    116 | using ::iswpunct;
 | 
| sl@0 |    117 | #endif
 | 
| sl@0 |    118 | 
 | 
| sl@0 |    119 | #ifdef iswspace
 | 
| sl@0 |    120 | inline int (iswspace)(wint_t i)
 | 
| sl@0 |    121 | { return iswspace(i); }
 | 
| sl@0 |    122 | #undef iswspace
 | 
| sl@0 |    123 | #elif defined(BOOST_NO_STDC_NAMESPACE)
 | 
| sl@0 |    124 | using ::iswspace;
 | 
| sl@0 |    125 | #endif
 | 
| sl@0 |    126 | 
 | 
| sl@0 |    127 | #ifdef iswupper
 | 
| sl@0 |    128 | inline int (iswupper)(wint_t i)
 | 
| sl@0 |    129 | { return iswupper(i); }
 | 
| sl@0 |    130 | #undef iswupper
 | 
| sl@0 |    131 | #elif defined(BOOST_NO_STDC_NAMESPACE)
 | 
| sl@0 |    132 | using ::iswupper;
 | 
| sl@0 |    133 | #endif
 | 
| sl@0 |    134 | 
 | 
| sl@0 |    135 | #ifdef iswxdigit
 | 
| sl@0 |    136 | inline int (iswxdigit)(wint_t i)
 | 
| sl@0 |    137 | { return iswxdigit(i); }
 | 
| sl@0 |    138 | #undef iswxdigit
 | 
| sl@0 |    139 | #elif defined(BOOST_NO_STDC_NAMESPACE)
 | 
| sl@0 |    140 | using ::iswxdigit;
 | 
| sl@0 |    141 | #endif
 | 
| sl@0 |    142 | 
 | 
| sl@0 |    143 | #ifdef towlower
 | 
| sl@0 |    144 | inline wint_t (towlower)(wint_t i)
 | 
| sl@0 |    145 | { return towlower(i); }
 | 
| sl@0 |    146 | #undef towlower
 | 
| sl@0 |    147 | #elif defined(BOOST_NO_STDC_NAMESPACE)
 | 
| sl@0 |    148 | using ::towlower;
 | 
| sl@0 |    149 | #endif
 | 
| sl@0 |    150 | 
 | 
| sl@0 |    151 | #ifdef towupper
 | 
| sl@0 |    152 | inline wint_t (towupper)(wint_t i)
 | 
| sl@0 |    153 | { return towupper(i); }
 | 
| sl@0 |    154 | #undef towupper
 | 
| sl@0 |    155 | #elif defined(BOOST_NO_STDC_NAMESPACE)
 | 
| sl@0 |    156 | using :: towupper;
 | 
| sl@0 |    157 | #endif
 | 
| sl@0 |    158 | 
 | 
| sl@0 |    159 | #ifdef wcscmp
 | 
| sl@0 |    160 | inline int (wcscmp)(const wchar_t *p1, const wchar_t *p2)
 | 
| sl@0 |    161 | { return wcscmp(p1,p2); }
 | 
| sl@0 |    162 | #undef wcscmp
 | 
| sl@0 |    163 | #elif defined(BOOST_NO_STDC_NAMESPACE)
 | 
| sl@0 |    164 | using ::wcscmp;
 | 
| sl@0 |    165 | #endif
 | 
| sl@0 |    166 | 
 | 
| sl@0 |    167 | #ifdef wcscoll
 | 
| sl@0 |    168 | inline int (wcscoll)(const wchar_t *p1, const wchar_t *p2)
 | 
| sl@0 |    169 | { return wcscoll(p1,p2); }
 | 
| sl@0 |    170 | #undef wcscoll
 | 
| sl@0 |    171 | #elif defined(BOOST_NO_STDC_NAMESPACE)
 | 
| sl@0 |    172 | using ::wcscoll;
 | 
| sl@0 |    173 | #endif
 | 
| sl@0 |    174 | 
 | 
| sl@0 |    175 | #ifdef wcscpy
 | 
| sl@0 |    176 | inline wchar_t *(wcscpy)(wchar_t *p1, const wchar_t *p2)
 | 
| sl@0 |    177 | { return wcscpy(p1,p2); }
 | 
| sl@0 |    178 | #undef wcscpy
 | 
| sl@0 |    179 | #elif defined(BOOST_NO_STDC_NAMESPACE)
 | 
| sl@0 |    180 | using ::wcscpy;
 | 
| sl@0 |    181 | #endif
 | 
| sl@0 |    182 | 
 | 
| sl@0 |    183 | #ifdef wcslen
 | 
| sl@0 |    184 | inline size_t (wcslen)(const wchar_t *p)
 | 
| sl@0 |    185 | { return wcslen(p); }
 | 
| sl@0 |    186 | #undef wcslen
 | 
| sl@0 |    187 | #elif defined(BOOST_NO_STDC_NAMESPACE)
 | 
| sl@0 |    188 | using ::wcslen;
 | 
| sl@0 |    189 | #endif
 | 
| sl@0 |    190 | 
 | 
| sl@0 |    191 | #ifdef wcsxfrm
 | 
| sl@0 |    192 | size_t wcsxfrm(wchar_t *p1, const wchar_t *p2, size_t s)
 | 
| sl@0 |    193 | { return wcsxfrm(p1,p2,s); }
 | 
| sl@0 |    194 | #undef wcsxfrm
 | 
| sl@0 |    195 | #elif defined(BOOST_NO_STDC_NAMESPACE)
 | 
| sl@0 |    196 | using ::wcsxfrm;
 | 
| sl@0 |    197 | #endif
 | 
| sl@0 |    198 | 
 | 
| sl@0 |    199 | 
 | 
| sl@0 |    200 | #ifndef BOOST_NO_STDC_NAMESPACE
 | 
| sl@0 |    201 | } // extern "C"
 | 
| sl@0 |    202 | #endif
 | 
| sl@0 |    203 | 
 | 
| sl@0 |    204 | } // namespace std
 | 
| sl@0 |    205 | 
 | 
| sl@0 |    206 | #endif
 | 
| sl@0 |    207 | 
 |