[IRBuilder] Refactor FMF interface (#121657)
[llvm-project.git] / libcxx / include / cctype
blobabe0ec44e3a642697ef3919cbec2e9f40ec9683c
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 //===----------------------------------------------------------------------===//
10 #ifndef _LIBCPP_CCTYPE
11 #define _LIBCPP_CCTYPE
14     cctype synopsis
16 namespace std
19 int isalnum(int c);
20 int isalpha(int c);
21 int isblank(int c);  // C99
22 int iscntrl(int c);
23 int isdigit(int c);
24 int isgraph(int c);
25 int islower(int c);
26 int isprint(int c);
27 int ispunct(int c);
28 int isspace(int c);
29 int isupper(int c);
30 int isxdigit(int c);
31 int tolower(int c);
32 int toupper(int c);
34 }  // std
37 #if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
38 #  include <__cxx03/cctype>
39 #else
40 #  include <__config>
42 #  include <ctype.h>
44 #  ifndef _LIBCPP_CTYPE_H
45 #   error <cctype> tried including <ctype.h> but didn't find libc++'s <ctype.h> header. \
46           This usually means that your header search paths are not configured properly.  \
47           The header search paths should contain the C++ Standard Library headers before \
48           any C Standard Library.
49 #  endif
51 #  if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
52 #    pragma GCC system_header
53 #  endif
55 _LIBCPP_BEGIN_NAMESPACE_STD
57 #  ifdef isalnum
58 #    undef isalnum
59 #  endif
61 #  ifdef isalpha
62 #    undef isalpha
63 #  endif
65 #  ifdef isblank
66 #    undef isblank
67 #  endif
69 #  ifdef iscntrl
70 #    undef iscntrl
71 #  endif
73 #  ifdef isdigit
74 #    undef isdigit
75 #  endif
77 #  ifdef isgraph
78 #    undef isgraph
79 #  endif
81 #  ifdef islower
82 #    undef islower
83 #  endif
85 #  ifdef isprint
86 #    undef isprint
87 #  endif
89 #  ifdef ispunct
90 #    undef ispunct
91 #  endif
93 #  ifdef isspace
94 #    undef isspace
95 #  endif
97 #  ifdef isupper
98 #    undef isupper
99 #  endif
101 #  ifdef isxdigit
102 #    undef isxdigit
103 #  endif
105 #  ifdef tolower
106 #    undef tolower
107 #  endif
109 #  ifdef toupper
110 #    undef toupper
111 #  endif
113 using ::isalnum _LIBCPP_USING_IF_EXISTS;
114 using ::isalpha _LIBCPP_USING_IF_EXISTS;
115 using ::isblank _LIBCPP_USING_IF_EXISTS;
116 using ::iscntrl _LIBCPP_USING_IF_EXISTS;
117 using ::isdigit _LIBCPP_USING_IF_EXISTS;
118 using ::isgraph _LIBCPP_USING_IF_EXISTS;
119 using ::islower _LIBCPP_USING_IF_EXISTS;
120 using ::isprint _LIBCPP_USING_IF_EXISTS;
121 using ::ispunct _LIBCPP_USING_IF_EXISTS;
122 using ::isspace _LIBCPP_USING_IF_EXISTS;
123 using ::isupper _LIBCPP_USING_IF_EXISTS;
124 using ::isxdigit _LIBCPP_USING_IF_EXISTS;
125 using ::tolower _LIBCPP_USING_IF_EXISTS;
126 using ::toupper _LIBCPP_USING_IF_EXISTS;
128 _LIBCPP_END_NAMESPACE_STD
129 #endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
131 #endif // _LIBCPP_CCTYPE