cctype revision 227825
1300811Sian// -*- C++ -*-
2300811Sian//===---------------------------- cctype ----------------------------------===//
3300811Sian//
4300811Sian//                     The LLVM Compiler Infrastructure
5300811Sian//
6300811Sian// This file is dual licensed under the MIT and the University of Illinois Open
7300811Sian// Source Licenses. See LICENSE.TXT for details.
8300811Sian//
9300811Sian//===----------------------------------------------------------------------===//
10300811Sian
11300811Sian#ifndef _LIBCPP_CCTYPE
12300811Sian#define _LIBCPP_CCTYPE
13300811Sian
14300811Sian/*
15300811Sian    cctype synopsis
16300811Sian
17300811Siannamespace std
18300811Sian{
19300811Sian
20300811Sianint isalnum(int c);
21300811Sianint isalpha(int c);
22300811Sianint isblank(int c);  // C99
23300811Sianint iscntrl(int c);
24300811Sianint isdigit(int c);
25300811Sianint isgraph(int c);
26300811Sianint islower(int c);
27300811Sianint isprint(int c);
28300811Sianint ispunct(int c);
29300811Sianint isspace(int c);
30300811Sianint isupper(int c);
31300811Sianint isxdigit(int c);
32300811Sianint tolower(int c);
33300811Sianint toupper(int c);
34300811Sian
35300811Sian}  // std
36300823Sian*/
37300811Sian
38300811Sian#include <__config>
39300811Sian#include <ctype.h>
40300811Sian#if defined(_MSC_VER)
41#include "support/win32/support.h"
42#endif // _MSC_VER
43
44#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
45#pragma GCC system_header
46#endif
47
48_LIBCPP_BEGIN_NAMESPACE_STD
49
50#ifdef isalnum
51inline _LIBCPP_INLINE_VISIBILITY int __libcpp_isalnum(int __c) {return isalnum(__c);}
52#undef isalnum
53inline _LIBCPP_INLINE_VISIBILITY int isalnum(int __c) {return __libcpp_isalnum(__c);}
54#else  // isalnum
55using ::isalnum;
56#endif  // isalnum
57
58#ifdef isalpha
59inline _LIBCPP_INLINE_VISIBILITY int __libcpp_isalpha(int __c) {return isalpha(__c);}
60#undef isalpha
61inline _LIBCPP_INLINE_VISIBILITY int isalpha(int __c) {return __libcpp_isalpha(__c);}
62#else  // isalpha
63using ::isalpha;
64#endif  // isalpha
65
66#ifdef isblank
67inline _LIBCPP_INLINE_VISIBILITY int __libcpp_isblank(int __c) {return isblank(__c);}
68#undef isblank
69inline _LIBCPP_INLINE_VISIBILITY int isblank(int __c) {return __libcpp_isblank(__c);}
70#else  // isblank
71using ::isblank;
72#endif  // isblank
73
74#ifdef iscntrl
75inline _LIBCPP_INLINE_VISIBILITY int __libcpp_iscntrl(int __c) {return iscntrl(__c);}
76#undef iscntrl
77inline _LIBCPP_INLINE_VISIBILITY int iscntrl(int __c) {return __libcpp_iscntrl(__c);}
78#else  // iscntrl
79using ::iscntrl;
80#endif  // iscntrl
81
82#ifdef isdigit
83inline _LIBCPP_INLINE_VISIBILITY int __libcpp_isdigit(int __c) {return isdigit(__c);}
84#undef isdigit
85inline _LIBCPP_INLINE_VISIBILITY int isdigit(int __c) {return __libcpp_isdigit(__c);}
86#else  // isdigit
87using ::isdigit;
88#endif  // isdigit
89
90#ifdef isgraph
91inline _LIBCPP_INLINE_VISIBILITY int __libcpp_isgraph(int __c) {return isgraph(__c);}
92#undef isgraph
93inline _LIBCPP_INLINE_VISIBILITY int isgraph(int __c) {return __libcpp_isgraph(__c);}
94#else  // isgraph
95using ::isgraph;
96#endif  // isgraph
97
98#ifdef islower
99inline _LIBCPP_INLINE_VISIBILITY int __libcpp_islower(int __c) {return islower(__c);}
100#undef islower
101inline _LIBCPP_INLINE_VISIBILITY int islower(int __c) {return __libcpp_islower(__c);}
102#else  // islower
103using ::islower;
104#endif  // islower
105
106#ifdef isprint
107inline _LIBCPP_INLINE_VISIBILITY int __libcpp_isprint(int __c) {return isprint(__c);}
108#undef isprint
109inline _LIBCPP_INLINE_VISIBILITY int isprint(int __c) {return __libcpp_isprint(__c);}
110#else  // isprint
111using ::isprint;
112#endif  // isprint
113
114#ifdef ispunct
115inline _LIBCPP_INLINE_VISIBILITY int __libcpp_ispunct(int __c) {return ispunct(__c);}
116#undef ispunct
117inline _LIBCPP_INLINE_VISIBILITY int ispunct(int __c) {return __libcpp_ispunct(__c);}
118#else  // ispunct
119using ::ispunct;
120#endif  // ispunct
121
122#ifdef isspace
123inline _LIBCPP_INLINE_VISIBILITY int __libcpp_isspace(int __c) {return isspace(__c);}
124#undef isspace
125inline _LIBCPP_INLINE_VISIBILITY int isspace(int __c) {return __libcpp_isspace(__c);}
126#else  // isspace
127using ::isspace;
128#endif  // isspace
129
130#ifdef isupper
131inline _LIBCPP_INLINE_VISIBILITY int __libcpp_isupper(int __c) {return isupper(__c);}
132#undef isupper
133inline _LIBCPP_INLINE_VISIBILITY int isupper(int __c) {return __libcpp_isupper(__c);}
134#else  // isupper
135using ::isupper;
136#endif  // isupper
137
138#ifdef isxdigit
139inline _LIBCPP_INLINE_VISIBILITY int __libcpp_isxdigit(int __c) {return isxdigit(__c);}
140#undef isxdigit
141inline _LIBCPP_INLINE_VISIBILITY int isxdigit(int __c) {return __libcpp_isxdigit(__c);}
142#else  // isxdigit
143using ::isxdigit;
144#endif  // isxdigit
145
146#ifdef tolower
147inline _LIBCPP_INLINE_VISIBILITY int __libcpp_tolower(int __c) {return tolower(__c);}
148#undef tolower
149inline _LIBCPP_INLINE_VISIBILITY int tolower(int __c) {return __libcpp_tolower(__c);}
150#else  // tolower
151using ::tolower;
152#endif  // tolower
153
154#ifdef toupper
155inline _LIBCPP_INLINE_VISIBILITY int __libcpp_toupper(int __c) {return toupper(__c);}
156#undef toupper
157inline _LIBCPP_INLINE_VISIBILITY int toupper(int __c) {return __libcpp_toupper(__c);}
158#else  // toupper
159using ::toupper;
160#endif  // toupper
161
162_LIBCPP_END_NAMESPACE_STD
163
164#endif  // _LIBCPP_CCTYPE
165