]> git.buserror.net Git - polintos/scott/priv.git/blob - include/c++/stl/stl/_cwctype.h
Add STLport 5.1.4
[polintos/scott/priv.git] / include / c++ / stl / stl / _cwctype.h
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 (N_PLAT_NLM)
26 #      include _STLP_NATIVE_CPP_C_HEADER(cwctype)
27 #    else
28        // see comments in stlport/cwchar about wint_t on Novell
29 #      include _STLP_NATIVE_CPP_C_HEADER(wchar_t.h)
30 #      include _STLP_NATIVE_C_HEADER(stddef.h)
31 #      include _STLP_NATIVE_C_HEADER(stdio.h)
32 #    endif
33 #    if defined (__MSL__) && !defined (N_PLAT_NLM)
34 namespace std {
35   typedef wchar_t wctrans_t;
36   wint_t towctrans(wint_t c, wctrans_t value);
37   wctrans_t wctrans(const char *name);
38 }
39 using std::wctrans_t;
40 using std::towctrans;
41 using std::wctrans;
42 #    endif
43 #  else
44 #    include _STLP_NATIVE_C_HEADER(wctype.h)
45 #  endif
46
47 #  if defined (_STLP_IMPORT_VENDOR_CSTD)
48
49 #    if defined (_STLP_USE_GLIBC) && !(defined (_GLIBCPP_USE_WCHAR_T) || defined (_GLIBCXX_USE_WCHAR_T)) || \
50         defined (__sun) || defined (__FreeBSD__) || \
51         defined (__MINGW32__) && ((__MINGW32_MAJOR_VERSION < 3) || (__MINGW32_MAJOR_VERSION == 3) && (__MINGW32_MINOR_VERSION <= 0))
52 //We take wide functions from global namespace:
53 #      define _STLP_VENDOR_CSTD_WFUNC
54 #    else
55 #      define _STLP_VENDOR_CSTD_WFUNC _STLP_VENDOR_CSTD
56 #    endif
57
58 _STLP_BEGIN_NAMESPACE
59 using _STLP_VENDOR_CSTD_WFUNC::wctype_t;
60 using _STLP_VENDOR_CSTD_WFUNC::wint_t;
61 #    if !defined (_STLP_NO_CSTD_FUNCTION_IMPORTS)
62 #      if !defined (__BORLANDC__) && !defined (__MSL__)
63 using _STLP_VENDOR_CSTD_WFUNC::wctrans_t;
64 #        if !defined (__DMC__) && (!defined(_WIN32_WCE) || _WIN32_WCE<0x500)
65 using _STLP_VENDOR_CSTD_WFUNC::towctrans;
66 using _STLP_VENDOR_CSTD_WFUNC::wctrans;
67 using _STLP_VENDOR_CSTD_WFUNC::wctype;
68 #        endif
69 using _STLP_VENDOR_CSTD_WFUNC::iswctype;
70 #      endif
71 #      if !defined(N_PLAT_NLM)
72 using _STLP_VENDOR_CSTD_WFUNC::iswalnum;
73 using _STLP_VENDOR_CSTD_WFUNC::iswalpha;
74 using _STLP_VENDOR_CSTD_WFUNC::iswcntrl;
75
76 using _STLP_VENDOR_CSTD_WFUNC::iswdigit;
77 using _STLP_VENDOR_CSTD_WFUNC::iswgraph;
78 using _STLP_VENDOR_CSTD_WFUNC::iswlower;
79 using _STLP_VENDOR_CSTD_WFUNC::iswprint;
80 using _STLP_VENDOR_CSTD_WFUNC::iswpunct;
81 using _STLP_VENDOR_CSTD_WFUNC::iswspace;
82 using _STLP_VENDOR_CSTD_WFUNC::iswupper;
83 using _STLP_VENDOR_CSTD_WFUNC::iswxdigit;
84
85 using _STLP_VENDOR_CSTD_WFUNC::towlower;
86 using _STLP_VENDOR_CSTD_WFUNC::towupper;
87 #      endif /* !N_PLAT_NLM */
88 #    endif /* _STLP_NO_CSTD_FUNCTION_IMPORTS */
89 _STLP_END_NAMESPACE
90 #  endif /* _STLP_IMPORT_VENDOR_CSTD */
91 #endif /* _STLP_WCE_EVC3 */
92
93 #endif /* _STLP_INTERNAL_CWCTYPE */