master
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#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
38# include <__cxx03/cctype>
39#else
40# include <__config>
41
42# include <ctype.h>
43
44# ifndef _LIBCPP_CTYPE_H
45# error <cctype> tried including <ctype.h> but didn't find libc++'s <ctype.h> header. \
46 This usually means that your header search paths are not configured properly. \
47 The header search paths should contain the C++ Standard Library headers before \
48 any C Standard Library.
49# endif
50
51# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
52# pragma GCC system_header
53# endif
54
55_LIBCPP_BEGIN_NAMESPACE_STD
56
57# ifdef isalnum
58# undef isalnum
59# endif
60
61# ifdef isalpha
62# undef isalpha
63# endif
64
65# ifdef isblank
66# undef isblank
67# endif
68
69# ifdef iscntrl
70# undef iscntrl
71# endif
72
73# ifdef isdigit
74# undef isdigit
75# endif
76
77# ifdef isgraph
78# undef isgraph
79# endif
80
81# ifdef islower
82# undef islower
83# endif
84
85# ifdef isprint
86# undef isprint
87# endif
88
89# ifdef ispunct
90# undef ispunct
91# endif
92
93# ifdef isspace
94# undef isspace
95# endif
96
97# ifdef isupper
98# undef isupper
99# endif
100
101# ifdef isxdigit
102# undef isxdigit
103# endif
104
105# ifdef tolower
106# undef tolower
107# endif
108
109# ifdef toupper
110# undef toupper
111# endif
112
113using ::isalnum _LIBCPP_USING_IF_EXISTS;
114using ::isalpha _LIBCPP_USING_IF_EXISTS;
115using ::isblank _LIBCPP_USING_IF_EXISTS;
116using ::iscntrl _LIBCPP_USING_IF_EXISTS;
117using ::isdigit _LIBCPP_USING_IF_EXISTS;
118using ::isgraph _LIBCPP_USING_IF_EXISTS;
119using ::islower _LIBCPP_USING_IF_EXISTS;
120using ::isprint _LIBCPP_USING_IF_EXISTS;
121using ::ispunct _LIBCPP_USING_IF_EXISTS;
122using ::isspace _LIBCPP_USING_IF_EXISTS;
123using ::isupper _LIBCPP_USING_IF_EXISTS;
124using ::isxdigit _LIBCPP_USING_IF_EXISTS;
125using ::tolower _LIBCPP_USING_IF_EXISTS;
126using ::toupper _LIBCPP_USING_IF_EXISTS;
127
128_LIBCPP_END_NAMESPACE_STD
129#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
130
131#endif // _LIBCPP_CCTYPE