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