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 111using ::isalnum _LIBCPP_USING_IF_EXISTS; 112using ::isalpha _LIBCPP_USING_IF_EXISTS; 113using ::isblank _LIBCPP_USING_IF_EXISTS; 114using ::iscntrl _LIBCPP_USING_IF_EXISTS; 115using ::isdigit _LIBCPP_USING_IF_EXISTS; 116using ::isgraph _LIBCPP_USING_IF_EXISTS; 117using ::islower _LIBCPP_USING_IF_EXISTS; 118using ::isprint _LIBCPP_USING_IF_EXISTS; 119using ::ispunct _LIBCPP_USING_IF_EXISTS; 120using ::isspace _LIBCPP_USING_IF_EXISTS; 121using ::isupper _LIBCPP_USING_IF_EXISTS; 122using ::isxdigit _LIBCPP_USING_IF_EXISTS; 123using ::tolower _LIBCPP_USING_IF_EXISTS; 124using ::toupper _LIBCPP_USING_IF_EXISTS; 125 126_LIBCPP_END_NAMESPACE_STD 127 128#endif // _LIBCPP_CCTYPE 129