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