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_CWCTYPE 11#define _LIBCPP_CWCTYPE 12 13/* 14 cwctype synopsis 15 16Macros: 17 18 WEOF 19 20namespace std 21{ 22 23Types: 24 25 wint_t 26 wctrans_t 27 wctype_t 28 29int iswalnum(wint_t wc); 30int iswalpha(wint_t wc); 31int iswblank(wint_t wc); // C99 32int iswcntrl(wint_t wc); 33int iswdigit(wint_t wc); 34int iswgraph(wint_t wc); 35int iswlower(wint_t wc); 36int iswprint(wint_t wc); 37int iswpunct(wint_t wc); 38int iswspace(wint_t wc); 39int iswupper(wint_t wc); 40int iswxdigit(wint_t wc); 41int iswctype(wint_t wc, wctype_t desc); 42wctype_t wctype(const char* property); 43wint_t towlower(wint_t wc); 44wint_t towupper(wint_t wc); 45wint_t towctrans(wint_t wc, wctrans_t desc); 46wctrans_t wctrans(const char* property); 47 48} // std 49 50*/ 51 52#include <__config> 53#include <cctype> 54 55#include <wctype.h> 56 57#ifndef _LIBCPP_WCTYPE_H 58# error <cwctype> tried including <wctype.h> but didn't find libc++'s <wctype.h> header. \ 59 This usually means that your header search paths are not configured properly. \ 60 The header search paths should contain the C++ Standard Library headers before \ 61 any C Standard Library, and you are probably using compiler flags that make that \ 62 not be the case. 63#endif 64 65#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) 66# pragma GCC system_header 67#endif 68 69_LIBCPP_BEGIN_NAMESPACE_STD 70 71#if defined(_LIBCPP_INCLUDED_C_LIBRARY_WCTYPE_H) 72using ::wint_t _LIBCPP_USING_IF_EXISTS; 73using ::wctrans_t _LIBCPP_USING_IF_EXISTS; 74using ::wctype_t _LIBCPP_USING_IF_EXISTS; 75using ::iswalnum _LIBCPP_USING_IF_EXISTS; 76using ::iswalpha _LIBCPP_USING_IF_EXISTS; 77using ::iswblank _LIBCPP_USING_IF_EXISTS; 78using ::iswcntrl _LIBCPP_USING_IF_EXISTS; 79using ::iswdigit _LIBCPP_USING_IF_EXISTS; 80using ::iswgraph _LIBCPP_USING_IF_EXISTS; 81using ::iswlower _LIBCPP_USING_IF_EXISTS; 82using ::iswprint _LIBCPP_USING_IF_EXISTS; 83using ::iswpunct _LIBCPP_USING_IF_EXISTS; 84using ::iswspace _LIBCPP_USING_IF_EXISTS; 85using ::iswupper _LIBCPP_USING_IF_EXISTS; 86using ::iswxdigit _LIBCPP_USING_IF_EXISTS; 87using ::iswctype _LIBCPP_USING_IF_EXISTS; 88using ::wctype _LIBCPP_USING_IF_EXISTS; 89using ::towlower _LIBCPP_USING_IF_EXISTS; 90using ::towupper _LIBCPP_USING_IF_EXISTS; 91using ::towctrans _LIBCPP_USING_IF_EXISTS; 92using ::wctrans _LIBCPP_USING_IF_EXISTS; 93#endif // _LIBCPP_INCLUDED_C_LIBRARY_WCTYPE_H 94 95_LIBCPP_END_NAMESPACE_STD 96 97#endif // _LIBCPP_CWCTYPE 98