_cwctype.h 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  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. #ifndef _STLP_INTERNAL_CWCTYPE
  16. #define _STLP_INTERNAL_CWCTYPE
  17. #if defined (__BORLANDC__) && !defined (_STLP_INTERNAL_CCTYPE)
  18. # include <stl/_cctype.h>
  19. #endif
  20. #if !defined (_STLP_WCE_EVC3)
  21. # if defined (_STLP_USE_NEW_C_HEADERS)
  22. # if defined (_STLP_HAS_INCLUDE_NEXT)
  23. # include_next <cwctype>
  24. # else
  25. # include _STLP_NATIVE_CPP_C_HEADER(cwctype)
  26. # endif
  27. # if defined (__MSL__)
  28. namespace std {
  29. typedef wchar_t wctrans_t;
  30. wint_t towctrans(wint_t c, wctrans_t value);
  31. wctrans_t wctrans(const char *name);
  32. }
  33. using std::wctrans_t;
  34. using std::towctrans;
  35. using std::wctrans;
  36. # endif
  37. # else
  38. # include <wctype.h>
  39. # endif
  40. # if defined (_STLP_IMPORT_VENDOR_CSTD) && !defined (__hpux)
  41. # if defined (_STLP_USE_GLIBC) && !(defined (_GLIBCPP_USE_WCHAR_T) || defined (_GLIBCXX_USE_WCHAR_T)) || \
  42. defined (__sun) || defined (__FreeBSD__) || \
  43. defined (__CYGWIN__) || \
  44. defined (__MINGW32__) && ((__MINGW32_MAJOR_VERSION < 3) || (__MINGW32_MAJOR_VERSION == 3) && (__MINGW32_MINOR_VERSION <= 0))
  45. //We take wide functions from global namespace:
  46. # define _STLP_VENDOR_CSTD_WFUNC
  47. # else
  48. # define _STLP_VENDOR_CSTD_WFUNC _STLP_VENDOR_CSTD
  49. # endif
  50. _STLP_BEGIN_NAMESPACE
  51. using _STLP_VENDOR_CSTD_WFUNC::wctype_t;
  52. using _STLP_VENDOR_CSTD_WFUNC::wint_t;
  53. # if !defined (_STLP_NO_CSTD_FUNCTION_IMPORTS)
  54. # if !defined (__BORLANDC__) && !defined (__MSL__)
  55. using _STLP_VENDOR_CSTD_WFUNC::wctrans_t;
  56. # if !defined (_STLP_SGX_CONFIG)
  57. # if !defined (__DMC__) && (!defined(_WIN32_WCE) || (_WIN32_WCE < 400))
  58. using _STLP_VENDOR_CSTD_WFUNC::towctrans;
  59. using _STLP_VENDOR_CSTD_WFUNC::wctrans;
  60. using _STLP_VENDOR_CSTD_WFUNC::wctype;
  61. # endif
  62. using _STLP_VENDOR_CSTD_WFUNC::iswctype;
  63. # endif
  64. # endif
  65. # if !defined (_STLP_SGX_CONFIG)
  66. using _STLP_VENDOR_CSTD_WFUNC::iswalnum;
  67. using _STLP_VENDOR_CSTD_WFUNC::iswalpha;
  68. using _STLP_VENDOR_CSTD_WFUNC::iswcntrl;
  69. using _STLP_VENDOR_CSTD_WFUNC::iswdigit;
  70. using _STLP_VENDOR_CSTD_WFUNC::iswgraph;
  71. using _STLP_VENDOR_CSTD_WFUNC::iswlower;
  72. using _STLP_VENDOR_CSTD_WFUNC::iswprint;
  73. using _STLP_VENDOR_CSTD_WFUNC::iswpunct;
  74. using _STLP_VENDOR_CSTD_WFUNC::iswspace;
  75. using _STLP_VENDOR_CSTD_WFUNC::iswupper;
  76. using _STLP_VENDOR_CSTD_WFUNC::iswxdigit;
  77. using _STLP_VENDOR_CSTD_WFUNC::towlower;
  78. using _STLP_VENDOR_CSTD_WFUNC::towupper;
  79. # endif
  80. # endif /* _STLP_NO_CSTD_FUNCTION_IMPORTS */
  81. _STLP_END_NAMESPACE
  82. # endif /* _STLP_IMPORT_VENDOR_CSTD */
  83. #endif /* _STLP_WCE_EVC3 */
  84. #endif /* _STLP_INTERNAL_CWCTYPE */