1/*
2 * Copyright (c) 1999
3 * Boris Fomitchev
4 *
5 * This material is provided "as is", with absolutely no warranty expressed
6 * or implied. Any use is at your own risk.
7 *
8 * Permission to use or copy this software for any purpose is hereby granted
9 * without fee, provided the above notices are retained on all copies.
10 * Permission to modify the code and to distribute modified code is granted,
11 * provided the above notices are retained, and a notice that the code was
12 * modified is included with the above copyright notice.
13 *
14 */
15
16#ifndef _STLP_INTERNAL_CWCTYPE
17#define _STLP_INTERNAL_CWCTYPE
18
19#if defined (__BORLANDC__) && !defined (_STLP_INTERNAL_CCTYPE)
20#  include <stl/_cctype.h>
21#endif
22
23#if !defined (_STLP_WCE_EVC3)
24#  if defined (_STLP_USE_NEW_C_HEADERS)
25#    if defined (_STLP_HAS_INCLUDE_NEXT)
26#      include_next <cwctype>
27#    else
28#      include _STLP_NATIVE_CPP_C_HEADER(cwctype)
29#    endif
30#    if defined (__MSL__)
31namespace std {
32  typedef wchar_t wctrans_t;
33  wint_t towctrans(wint_t c, wctrans_t value);
34  wctrans_t wctrans(const char *name);
35}
36using std::wctrans_t;
37using std::towctrans;
38using std::wctrans;
39#    endif
40#  else
41#    include <wctype.h>
42#  endif
43
44#  if defined (_STLP_IMPORT_VENDOR_CSTD) && !defined (__hpux)
45
46#    if defined (_STLP_USE_GLIBC) && !(defined (_GLIBCPP_USE_WCHAR_T) || defined (_GLIBCXX_USE_WCHAR_T)) || \
47        defined (__sun) || defined (__FreeBSD__) || \
48        defined (__CYGWIN__) || \
49        defined (__MINGW32__) && ((__MINGW32_MAJOR_VERSION < 3) || (__MINGW32_MAJOR_VERSION == 3) && (__MINGW32_MINOR_VERSION <= 0))
50//We take wide functions from global namespace:
51#      define _STLP_VENDOR_CSTD_WFUNC
52#    else
53#      define _STLP_VENDOR_CSTD_WFUNC _STLP_VENDOR_CSTD
54#    endif
55
56_STLP_BEGIN_NAMESPACE
57using _STLP_VENDOR_CSTD_WFUNC::wctype_t;
58using _STLP_VENDOR_CSTD_WFUNC::wint_t;
59#    if !defined (_STLP_NO_CSTD_FUNCTION_IMPORTS)
60#      if !defined (__BORLANDC__) && !defined (__MSL__)
61using _STLP_VENDOR_CSTD_WFUNC::wctrans_t;
62#        if !defined (__DMC__) && (!defined(_WIN32_WCE) || (_WIN32_WCE < 400))
63using _STLP_VENDOR_CSTD_WFUNC::towctrans;
64using _STLP_VENDOR_CSTD_WFUNC::wctrans;
65using _STLP_VENDOR_CSTD_WFUNC::wctype;
66#        endif
67using _STLP_VENDOR_CSTD_WFUNC::iswctype;
68#      endif
69using _STLP_VENDOR_CSTD_WFUNC::iswalnum;
70using _STLP_VENDOR_CSTD_WFUNC::iswalpha;
71using _STLP_VENDOR_CSTD_WFUNC::iswcntrl;
72
73using _STLP_VENDOR_CSTD_WFUNC::iswdigit;
74using _STLP_VENDOR_CSTD_WFUNC::iswgraph;
75using _STLP_VENDOR_CSTD_WFUNC::iswlower;
76using _STLP_VENDOR_CSTD_WFUNC::iswprint;
77using _STLP_VENDOR_CSTD_WFUNC::iswpunct;
78using _STLP_VENDOR_CSTD_WFUNC::iswspace;
79using _STLP_VENDOR_CSTD_WFUNC::iswupper;
80using _STLP_VENDOR_CSTD_WFUNC::iswxdigit;
81
82using _STLP_VENDOR_CSTD_WFUNC::towlower;
83using _STLP_VENDOR_CSTD_WFUNC::towupper;
84#    endif /* _STLP_NO_CSTD_FUNCTION_IMPORTS */
85_STLP_END_NAMESPACE
86#  endif /* _STLP_IMPORT_VENDOR_CSTD */
87#endif /* _STLP_WCE_EVC3 */
88
89#endif /* _STLP_INTERNAL_CWCTYPE */
90