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. #pragma GCC system_header
  40.  
  41. #include <bits/c++config.h>
  42.  
  43. #if _GLIBCXX_HAVE_WCTYPE_H
  44.  
  45. #if __GLIBC__ == 2 && __GLIBC_MINOR__ < 10
  46. // Work around glibc BZ 9694
  47. #include <stddef.h>
  48. #endif
  49.  
  50. #include <wctype.h>
  51. #endif // _GLIBCXX_HAVE_WCTYPE_H
  52.  
  53. #ifndef _GLIBCXX_CWCTYPE
  54. #define _GLIBCXX_CWCTYPE 1
  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 ::wctrans_t;
  83.   using ::wctype_t;
  84.   using ::wint_t;
  85.  
  86.   using ::iswalnum;
  87.   using ::iswalpha;
  88. #if _GLIBCXX_HAVE_ISWBLANK
  89.   using ::iswblank;
  90. #endif
  91.   using ::iswcntrl;
  92.   using ::iswctype;
  93.   using ::iswdigit;
  94.   using ::iswgraph;
  95.   using ::iswlower;
  96.   using ::iswprint;
  97.   using ::iswpunct;
  98.   using ::iswspace;
  99.   using ::iswupper;
  100.   using ::iswxdigit;
  101.   using ::towctrans;
  102.   using ::towlower;
  103.   using ::towupper;
  104.   using ::wctrans;
  105.   using ::wctype;
  106. } // namespace
  107.  
  108. #endif //_GLIBCXX_USE_WCHAR_T
  109.  
  110. #endif // _GLIBCXX_CWCTYPE
  111.