1 // -*- C++ -*- 2 //===---------------------------- ctype.h ---------------------------------===// 3 // 4 // The LLVM Compiler Infrastructure 5 // 6 // This file is dual licensed under the MIT and the University of Illinois Open 7 // Source Licenses. See LICENSE.TXT for details. 8 // 9 //===----------------------------------------------------------------------===// 10 11 #ifndef _LIBCPP_CTYPE_H 12 #define _LIBCPP_CTYPE_H 13 14 /* 15 ctype.h synopsis 16 17 int isalnum(int c); 18 int isalpha(int c); 19 int isblank(int c); // C99 20 int iscntrl(int c); 21 int isdigit(int c); 22 int isgraph(int c); 23 int islower(int c); 24 int isprint(int c); 25 int ispunct(int c); 26 int isspace(int c); 27 int isupper(int c); 28 int isxdigit(int c); 29 int tolower(int c); 30 int toupper(int c); 31 */ 32 33 #include <__config> 34 35 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) 36 #pragma GCC system_header 37 #endif 38 39 #include_next <ctype.h> 40 41 #ifdef __cplusplus 42 43 #if defined(_LIBCPP_MSVCRT) 44 // We support including .h headers inside 'extern "C"' contexts, so switch 45 // back to C++ linkage before including these C++ headers. 46 extern "C++" { 47 #include "support/win32/support.h" 48 #include "support/win32/locale_win32.h" 49 } 50 #endif // _LIBCPP_MSVCRT 51 52 #undef isalnum 53 #undef isalpha 54 #undef isblank 55 #undef iscntrl 56 #undef isdigit 57 #undef isgraph 58 #undef islower 59 #undef isprint 60 #undef ispunct 61 #undef isspace 62 #undef isupper 63 #undef isxdigit 64 #undef tolower 65 #undef toupper 66 67 #endif 68 69 #endif // _LIBCPP_CTYPE_H 70