1 // -*- C++ -*- forwarding header.
3 // Copyright (C) 1997-1999, 2000 Free Software Foundation, Inc.
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 2, or (at your option)
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.
16 // You should have received a copy of the GNU General Public License along
17 // with this library; see the file COPYING. If not, write to the Free
18 // Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
21 // As a special exception, you may use this file as part of a free software
22 // library without restriction. Specifically, if other files instantiate
23 // templates or use macros or inline functions from this file, or you compile
24 // this file and link it with other files to produce an executable, this
25 // file does not by itself cause the resulting executable to be covered by
26 // the GNU General Public License. This exception does not however
27 // invalidate any other reasons why the executable file might be covered by
28 // the GNU General Public License.
31 // ISO C++ 14882: <ccytpe>
37 // This keeps isanum, et al from being propagated as macros.
42 # include_next <ctype.h>
44 // Sequester the C non-inline implementations in the _C_Swamp::
45 // namespace, and provide C++ inlines for them in the std:: namespace
50 // NB: If not using namespaces, can't have any of these definitions,
51 // as they will duplicate what's in the global namespace.
55 _S_toupper_helper(int __c) { return toupper(__c); }
58 toupper(int __c) { return _S_toupper_helper(__c); }
61 toupper(int __c) { return ::toupper(__c); }
66 _S_tolower_helper(int __c) { return tolower(__c); }
69 tolower(int __c) { return _S_tolower_helper(__c); }
72 tolower(int __c) { return ::tolower(__c); }
77 _S_isspace_helper(int __c) { return isspace(__c); }
80 isspace(int __c) { return _S_isspace_helper(__c); }
83 isspace(int __c) { return ::isspace(__c); }
88 _S_isprint_helper(int __c) { return isprint(__c); }
91 isprint(int __c) { return _S_isprint_helper(__c); }
94 isprint(int __c) { return ::isprint(__c); }
99 _S_iscntrl_helper(int __c) { return iscntrl(__c); }
102 iscntrl(int __c) { return _S_iscntrl_helper(__c); }
105 iscntrl(int __c) { return ::iscntrl(__c); }
110 _S_isupper_helper(int __c) { return isupper(__c); }
113 isupper(int __c) { return _S_isupper_helper(__c); }
116 isupper(int __c) { return ::isupper(__c); }
121 _S_islower_helper(int __c) { return islower(__c); }
124 islower(int __c) { return _S_islower_helper(__c); }
127 islower(int __c) { return ::islower(__c); }
132 _S_isalpha_helper(int __c) { return isalpha(__c); }
135 isalpha(int __c) { return _S_isalpha_helper(__c); }
138 isalpha(int __c) { return ::isalpha(__c); }
143 _S_isdigit_helper(int __c) { return isdigit(__c); }
146 isdigit(int __c) { return _S_isdigit_helper(__c); }
149 isdigit(int __c) { return ::isdigit(__c); }
154 _S_ispunct_helper(int __c) { return ispunct(__c); }
157 ispunct(int __c) { return _S_ispunct_helper(__c); }
160 ispunct(int __c) { return ::ispunct(__c); }
165 _S_isxdigit_helper(int __c) { return isxdigit(__c); }
168 isxdigit(int __c) { return _S_isxdigit_helper(__c); }
171 isxdigit(int __c) { return ::isxdigit(__c); }
176 _S_isalnum_helper(int __c) { return isalnum(__c); }
179 isalnum(int __c) { return _S_isalnum_helper(__c); }
182 isalnum(int __c) { return ::isalnum(__c); }
187 _S_isgraph_helper(int __c) { return isgraph(__c); }
190 isgraph(int __c) { return _S_isgraph_helper(__c); }
193 isgraph(int __c) { return ::isgraph(__c); }
198 #endif // _CPP_CCTYPE