• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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