Chris@16: /* Chris@16: * Chris@16: * Copyright (c) 1998-2002 Chris@16: * John Maddock Chris@16: * Chris@16: * Use, modification and distribution are subject to the Chris@16: * Boost Software License, Version 1.0. (See accompanying file Chris@16: * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) Chris@16: * Chris@16: */ Chris@16: Chris@16: /* Chris@16: * LOCATION: see http://www.boost.org for most recent version. Chris@16: * FILE boost/regex/config/cwchar.hpp Chris@16: * VERSION see Chris@16: * DESCRIPTION: regex wide character string fixes. Chris@16: */ Chris@16: Chris@16: #ifndef BOOST_REGEX_CONFIG_CWCHAR_HPP Chris@16: #define BOOST_REGEX_CONFIG_CWCHAR_HPP Chris@16: Chris@16: #include Chris@16: #include Chris@16: #include Chris@16: Chris@16: #if defined(__STD_RWCOMPILER_H__) || defined(_RWSTD_VER) Chris@16: // apparently this is required for the RW STL on Linux: Chris@16: #undef iswalnum Chris@16: #undef iswalpha Chris@16: #undef iswblank Chris@16: #undef iswcntrl Chris@16: #undef iswdigit Chris@16: #undef iswgraph Chris@16: #undef iswlower Chris@16: #undef iswprint Chris@16: #undef iswprint Chris@16: #undef iswpunct Chris@16: #undef iswspace Chris@16: #undef iswupper Chris@16: #undef iswxdigit Chris@16: #undef iswctype Chris@16: #undef towlower Chris@16: #undef towupper Chris@16: #undef towctrans Chris@16: #undef wctrans Chris@16: #undef wctype Chris@16: #endif Chris@16: Chris@16: namespace std{ Chris@16: Chris@16: #ifndef BOOST_NO_STDC_NAMESPACE Chris@16: extern "C"{ Chris@16: #endif Chris@16: Chris@16: #ifdef iswalnum Chris@16: inline int (iswalnum)(wint_t i) Chris@16: { return iswalnum(i); } Chris@16: #undef iswalnum Chris@16: #elif defined(BOOST_NO_STDC_NAMESPACE) Chris@16: using ::iswalnum; Chris@16: #endif Chris@16: Chris@16: #ifdef iswalpha Chris@16: inline int (iswalpha)(wint_t i) Chris@16: { return iswalpha(i); } Chris@16: #undef iswalpha Chris@16: #elif defined(BOOST_NO_STDC_NAMESPACE) Chris@16: using ::iswalpha; Chris@16: #endif Chris@16: Chris@16: #ifdef iswcntrl Chris@16: inline int (iswcntrl)(wint_t i) Chris@16: { return iswcntrl(i); } Chris@16: #undef iswcntrl Chris@16: #elif defined(BOOST_NO_STDC_NAMESPACE) Chris@16: using ::iswcntrl; Chris@16: #endif Chris@16: Chris@16: #ifdef iswdigit Chris@16: inline int (iswdigit)(wint_t i) Chris@16: { return iswdigit(i); } Chris@16: #undef iswdigit Chris@16: #elif defined(BOOST_NO_STDC_NAMESPACE) Chris@16: using ::iswdigit; Chris@16: #endif Chris@16: Chris@16: #ifdef iswgraph Chris@16: inline int (iswgraph)(wint_t i) Chris@16: { return iswgraph(i); } Chris@16: #undef iswgraph Chris@16: #elif defined(BOOST_NO_STDC_NAMESPACE) Chris@16: using ::iswgraph; Chris@16: #endif Chris@16: Chris@16: #ifdef iswlower Chris@16: inline int (iswlower)(wint_t i) Chris@16: { return iswlower(i); } Chris@16: #undef iswlower Chris@16: #elif defined(BOOST_NO_STDC_NAMESPACE) Chris@16: using ::iswlower; Chris@16: #endif Chris@16: Chris@16: #ifdef iswprint Chris@16: inline int (iswprint)(wint_t i) Chris@16: { return iswprint(i); } Chris@16: #undef iswprint Chris@16: #elif defined(BOOST_NO_STDC_NAMESPACE) Chris@16: using ::iswprint; Chris@16: #endif Chris@16: Chris@16: #ifdef iswpunct Chris@16: inline int (iswpunct)(wint_t i) Chris@16: { return iswpunct(i); } Chris@16: #undef iswpunct Chris@16: #elif defined(BOOST_NO_STDC_NAMESPACE) Chris@16: using ::iswpunct; Chris@16: #endif Chris@16: Chris@16: #ifdef iswspace Chris@16: inline int (iswspace)(wint_t i) Chris@16: { return iswspace(i); } Chris@16: #undef iswspace Chris@16: #elif defined(BOOST_NO_STDC_NAMESPACE) Chris@16: using ::iswspace; Chris@16: #endif Chris@16: Chris@16: #ifdef iswupper Chris@16: inline int (iswupper)(wint_t i) Chris@16: { return iswupper(i); } Chris@16: #undef iswupper Chris@16: #elif defined(BOOST_NO_STDC_NAMESPACE) Chris@16: using ::iswupper; Chris@16: #endif Chris@16: Chris@16: #ifdef iswxdigit Chris@16: inline int (iswxdigit)(wint_t i) Chris@16: { return iswxdigit(i); } Chris@16: #undef iswxdigit Chris@16: #elif defined(BOOST_NO_STDC_NAMESPACE) Chris@16: using ::iswxdigit; Chris@16: #endif Chris@16: Chris@16: #ifdef towlower Chris@16: inline wint_t (towlower)(wint_t i) Chris@16: { return towlower(i); } Chris@16: #undef towlower Chris@16: #elif defined(BOOST_NO_STDC_NAMESPACE) Chris@16: using ::towlower; Chris@16: #endif Chris@16: Chris@16: #ifdef towupper Chris@16: inline wint_t (towupper)(wint_t i) Chris@16: { return towupper(i); } Chris@16: #undef towupper Chris@16: #elif defined(BOOST_NO_STDC_NAMESPACE) Chris@16: using :: towupper; Chris@16: #endif Chris@16: Chris@16: #ifdef wcscmp Chris@16: inline int (wcscmp)(const wchar_t *p1, const wchar_t *p2) Chris@16: { return wcscmp(p1,p2); } Chris@16: #undef wcscmp Chris@16: #elif defined(BOOST_NO_STDC_NAMESPACE) Chris@16: using ::wcscmp; Chris@16: #endif Chris@16: Chris@16: #ifdef wcscoll Chris@16: inline int (wcscoll)(const wchar_t *p1, const wchar_t *p2) Chris@16: { return wcscoll(p1,p2); } Chris@16: #undef wcscoll Chris@16: #elif defined(BOOST_NO_STDC_NAMESPACE) && !defined(UNDER_CE) Chris@16: using ::wcscoll; Chris@16: #endif Chris@16: Chris@16: #ifdef wcscpy Chris@16: inline wchar_t *(wcscpy)(wchar_t *p1, const wchar_t *p2) Chris@16: { return wcscpy(p1,p2); } Chris@16: #undef wcscpy Chris@16: #elif defined(BOOST_NO_STDC_NAMESPACE) Chris@16: using ::wcscpy; Chris@16: #endif Chris@16: Chris@16: #ifdef wcslen Chris@16: inline size_t (wcslen)(const wchar_t *p) Chris@16: { return wcslen(p); } Chris@16: #undef wcslen Chris@16: #elif defined(BOOST_NO_STDC_NAMESPACE) Chris@16: using ::wcslen; Chris@16: #endif Chris@16: Chris@16: #ifdef wcsxfrm Chris@16: size_t wcsxfrm(wchar_t *p1, const wchar_t *p2, size_t s) Chris@16: { return wcsxfrm(p1,p2,s); } Chris@16: #undef wcsxfrm Chris@16: #elif defined(BOOST_NO_STDC_NAMESPACE) Chris@16: using ::wcsxfrm; Chris@16: #endif Chris@16: Chris@16: Chris@16: #ifndef BOOST_NO_STDC_NAMESPACE Chris@16: } // extern "C" Chris@16: #endif Chris@16: Chris@16: } // namespace std Chris@16: Chris@16: #endif Chris@16: