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/cctype
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 ctype.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: <ccytpe>
37   	//
38   	
39   	#pragma GCC system_header
40   	
41   	#include <bits/c++config.h>
42   	#include <ctype.h>
43   	
44   	#ifndef _GLIBCXX_CCTYPE
45   	#define _GLIBCXX_CCTYPE 1
46   	
47   	// Get rid of those macros defined in <ctype.h> in lieu of real functions.
48   	#undef isalnum
49   	#undef isalpha
50   	#undef iscntrl
51   	#undef isdigit
52   	#undef isgraph
53   	#undef islower
54   	#undef isprint
55   	#undef ispunct
56   	#undef isspace
57   	#undef isupper
58   	#undef isxdigit
59   	#undef tolower
60   	#undef toupper
61   	
62   	namespace std
63   	{
64   	  using ::isalnum;
65   	  using ::isalpha;
66   	  using ::iscntrl;
67   	  using ::isdigit;
68   	  using ::isgraph;
69   	  using ::islower;
70   	  using ::isprint;
71   	  using ::ispunct;
72   	  using ::isspace;
73   	  using ::isupper;
74   	  using ::isxdigit;
75   	  using ::tolower;
76   	  using ::toupper;
77   	} // namespace std
78   	
79   	#if __cplusplus >= 201103L
80   	
81   	#ifdef _GLIBCXX_USE_C99_CTYPE_TR1
82   	
83   	#undef isblank
84   	
85   	namespace std
86   	{
87   	  using ::isblank;
88   	} // namespace std
89   	
90   	#endif // _GLIBCXX_USE_C99_CTYPE_TR1
91   	
92   	#endif // C++11
93   	
94   	#endif
95