1// -*- C++ -*-
2//===----------------------------------------------------------------------===//
3//
4// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5// See https://llvm.org/LICENSE.txt for license information.
6// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7//
8//===----------------------------------------------------------------------===//
9
10#ifndef _LIBCPP_CCTYPE
11#define _LIBCPP_CCTYPE
12
13/*
14    cctype synopsis
15
16namespace std
17{
18
19int isalnum(int c);
20int isalpha(int c);
21int isblank(int c);  // C99
22int iscntrl(int c);
23int isdigit(int c);
24int isgraph(int c);
25int islower(int c);
26int isprint(int c);
27int ispunct(int c);
28int isspace(int c);
29int isupper(int c);
30int isxdigit(int c);
31int tolower(int c);
32int toupper(int c);
33
34}  // std
35*/
36
37#include <__assert> // all public C++ headers provide the assertion handler
38#include <__config>
39#include <ctype.h>
40
41#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
42#  pragma GCC system_header
43#endif
44
45_LIBCPP_BEGIN_NAMESPACE_STD
46
47#ifdef isalnum
48#undef isalnum
49#endif
50
51#ifdef isalpha
52#undef isalpha
53#endif
54
55#ifdef isblank
56#undef isblank
57#endif
58
59#ifdef iscntrl
60#undef iscntrl
61#endif
62
63#ifdef isdigit
64#undef isdigit
65#endif
66
67#ifdef isgraph
68#undef isgraph
69#endif
70
71#ifdef islower
72#undef islower
73#endif
74
75#ifdef isprint
76#undef isprint
77#endif
78
79#ifdef ispunct
80#undef ispunct
81#endif
82
83#ifdef isspace
84#undef isspace
85#endif
86
87#ifdef isupper
88#undef isupper
89#endif
90
91#ifdef isxdigit
92#undef isxdigit
93#endif
94
95#ifdef tolower
96#undef tolower
97#endif
98
99#ifdef toupper
100#undef toupper
101#endif
102
103
104using ::isalnum _LIBCPP_USING_IF_EXISTS;
105using ::isalpha _LIBCPP_USING_IF_EXISTS;
106using ::isblank _LIBCPP_USING_IF_EXISTS;
107using ::iscntrl _LIBCPP_USING_IF_EXISTS;
108using ::isdigit _LIBCPP_USING_IF_EXISTS;
109using ::isgraph _LIBCPP_USING_IF_EXISTS;
110using ::islower _LIBCPP_USING_IF_EXISTS;
111using ::isprint _LIBCPP_USING_IF_EXISTS;
112using ::ispunct _LIBCPP_USING_IF_EXISTS;
113using ::isspace _LIBCPP_USING_IF_EXISTS;
114using ::isupper _LIBCPP_USING_IF_EXISTS;
115using ::isxdigit _LIBCPP_USING_IF_EXISTS;
116using ::tolower _LIBCPP_USING_IF_EXISTS;
117using ::toupper _LIBCPP_USING_IF_EXISTS;
118
119_LIBCPP_END_NAMESPACE_STD
120
121#endif // _LIBCPP_CCTYPE
122