Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | RSS feed

  1. // -*- C++ -*- forwarding header.
  2.  
  3. // Copyright (C) 1997-2015 Free Software Foundation, Inc.
  4. //
  5. // This file is part of the GNU ISO C++ Library.  This library is free
  6. // software; you can redistribute it and/or modify it under the
  7. // terms of the GNU General Public License as published by the
  8. // Free Software Foundation; either version 3, or (at your option)
  9. // any later version.
  10.  
  11. // This library is distributed in the hope that it will be useful,
  12. // but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14. // GNU General Public License for more details.
  15.  
  16. // Under Section 7 of GPL version 3, you are granted additional
  17. // permissions described in the GCC Runtime Library Exception, version
  18. // 3.1, as published by the Free Software Foundation.
  19.  
  20. // You should have received a copy of the GNU General Public License and
  21. // a copy of the GCC Runtime Library Exception along with this program;
  22. // see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
  23. // <http://www.gnu.org/licenses/>.
  24.  
  25. /** @file include/cwctype
  26.  *  This is a Standard C++ Library file.  You should @c #include this file
  27.  *  in your programs, rather than any of the @a *.h implementation files.
  28.  *
  29.  *  This is the C++ version of the Standard C Library header @c wctype.h,
  30.  *  and its contents are (mostly) the same as that header, but are all
  31.  *  contained in the namespace @c std (except for names which are defined
  32.  *  as macros in C).
  33.  */
  34.  
  35. //
  36. // ISO C++ 14882: <cwctype>
  37. //
  38.  
  39. #ifndef _GLIBCXX_CWCTYPE
  40. #define _GLIBCXX_CWCTYPE 1
  41.  
  42. #pragma GCC system_header
  43.  
  44. #include <bits/c++config.h>
  45.  
  46. #if _GLIBCXX_HAVE_WCTYPE_H
  47.  
  48. #if __GLIBC__ == 2 && __GLIBC_MINOR__ < 10
  49. // Work around glibc BZ 9694
  50. #include <stddef.h>
  51. #endif
  52.  
  53. #include <wctype.h>
  54. #endif // _GLIBCXX_HAVE_WCTYPE_H
  55.  
  56. // Get rid of those macros defined in <wctype.h> in lieu of real functions.
  57. #undef iswalnum
  58. #undef iswalpha
  59. #if _GLIBCXX_HAVE_ISWBLANK
  60. # undef iswblank
  61. #endif
  62. #undef iswcntrl
  63. #undef iswctype
  64. #undef iswdigit
  65. #undef iswgraph
  66. #undef iswlower
  67. #undef iswprint
  68. #undef iswpunct
  69. #undef iswspace
  70. #undef iswupper
  71. #undef iswxdigit
  72. #undef towctrans
  73. #undef towlower
  74. #undef towupper
  75. #undef wctrans
  76. #undef wctype
  77.  
  78. #if _GLIBCXX_USE_WCHAR_T
  79.  
  80. namespace std
  81. {
  82.   using ::wint_t;         // cwchar
  83.  
  84.   using ::wctype_t;
  85.   using ::wctrans_t;
  86.  
  87.   using ::iswalnum;
  88.   using ::iswalpha;
  89. #if _GLIBCXX_HAVE_ISWBLANK
  90.   using ::iswblank;
  91. #endif
  92.   using ::iswcntrl;
  93.   using ::iswctype;
  94.   using ::iswdigit;
  95.   using ::iswgraph;
  96.   using ::iswlower;
  97.   using ::iswprint;
  98.   using ::iswpunct;
  99.   using ::iswspace;
  100.   using ::iswupper;
  101.   using ::iswxdigit;
  102.   using ::towctrans;
  103.   using ::towlower;
  104.   using ::towupper;
  105.   using ::wctrans;
  106.   using ::wctype;
  107. } // namespace std
  108.  
  109. #endif //_GLIBCXX_USE_WCHAR_T
  110.  
  111. #endif
  112.