blob: 22d6c49be9e17710c68f52884ccf61aa022e36e1 [file] [log] [blame]
Richard Smithceeace92015-10-08 20:36:30 +00001// -*- 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
17int isalnum(int c);
18int isalpha(int c);
19int isblank(int c); // C99
20int iscntrl(int c);
21int isdigit(int c);
22int isgraph(int c);
23int islower(int c);
24int isprint(int c);
25int ispunct(int c);
26int isspace(int c);
27int isupper(int c);
28int isxdigit(int c);
29int tolower(int c);
30int toupper(int c);
31*/
32
33#include <__config>
Richard Smithceeace92015-10-08 20:36:30 +000034
35#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
36#pragma GCC system_header
37#endif
38
Richard Smith45bae0b2015-10-09 00:26:50 +000039#include_next <ctype.h>
40
Richard Smithceeace92015-10-08 20:36:30 +000041#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.
46extern "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