master
  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#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 38#  include <__cxx03/cctype>
 39#else
 40#  include <__config>
 41
 42#  include <ctype.h>
 43
 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
 50
 51#  if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 52#    pragma GCC system_header
 53#  endif
 54
 55_LIBCPP_BEGIN_NAMESPACE_STD
 56
 57#  ifdef isalnum
 58#    undef isalnum
 59#  endif
 60
 61#  ifdef isalpha
 62#    undef isalpha
 63#  endif
 64
 65#  ifdef isblank
 66#    undef isblank
 67#  endif
 68
 69#  ifdef iscntrl
 70#    undef iscntrl
 71#  endif
 72
 73#  ifdef isdigit
 74#    undef isdigit
 75#  endif
 76
 77#  ifdef isgraph
 78#    undef isgraph
 79#  endif
 80
 81#  ifdef islower
 82#    undef islower
 83#  endif
 84
 85#  ifdef isprint
 86#    undef isprint
 87#  endif
 88
 89#  ifdef ispunct
 90#    undef ispunct
 91#  endif
 92
 93#  ifdef isspace
 94#    undef isspace
 95#  endif
 96
 97#  ifdef isupper
 98#    undef isupper
 99#  endif
100
101#  ifdef isxdigit
102#    undef isxdigit
103#  endif
104
105#  ifdef tolower
106#    undef tolower
107#  endif
108
109#  ifdef toupper
110#    undef toupper
111#  endif
112
113using ::isalnum _LIBCPP_USING_IF_EXISTS;
114using ::isalpha _LIBCPP_USING_IF_EXISTS;
115using ::isblank _LIBCPP_USING_IF_EXISTS;
116using ::iscntrl _LIBCPP_USING_IF_EXISTS;
117using ::isdigit _LIBCPP_USING_IF_EXISTS;
118using ::isgraph _LIBCPP_USING_IF_EXISTS;
119using ::islower _LIBCPP_USING_IF_EXISTS;
120using ::isprint _LIBCPP_USING_IF_EXISTS;
121using ::ispunct _LIBCPP_USING_IF_EXISTS;
122using ::isspace _LIBCPP_USING_IF_EXISTS;
123using ::isupper _LIBCPP_USING_IF_EXISTS;
124using ::isxdigit _LIBCPP_USING_IF_EXISTS;
125using ::tolower _LIBCPP_USING_IF_EXISTS;
126using ::toupper _LIBCPP_USING_IF_EXISTS;
127
128_LIBCPP_END_NAMESPACE_STD
129#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
130
131#endif // _LIBCPP_CCTYPE