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