1    	// -*- C++ -*- forwarding header.
2    	
3    	// Copyright (C) 1997-2013 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