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