208 lines
4.0 KiB
C++
208 lines
4.0 KiB
C++
/*
|
|
*
|
|
* 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
|
|
|