|
|
|||
File indexing completed on 2026-05-03 08:14:08
0001 // -*- C++ -*- 0002 //===----------------------------------------------------------------------===// 0003 // 0004 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 0005 // See https://llvm.org/LICENSE.txt for license information. 0006 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 0007 // 0008 //===----------------------------------------------------------------------===// 0009 0010 #ifndef _LIBCPP_WCTYPE_H 0011 #define _LIBCPP_WCTYPE_H 0012 0013 /* 0014 wctype.h synopsis 0015 0016 Macros: 0017 0018 WEOF 0019 0020 Types: 0021 0022 wint_t 0023 wctrans_t 0024 wctype_t 0025 0026 int iswalnum(wint_t wc); 0027 int iswalpha(wint_t wc); 0028 int iswblank(wint_t wc); // C99 0029 int iswcntrl(wint_t wc); 0030 int iswdigit(wint_t wc); 0031 int iswgraph(wint_t wc); 0032 int iswlower(wint_t wc); 0033 int iswprint(wint_t wc); 0034 int iswpunct(wint_t wc); 0035 int iswspace(wint_t wc); 0036 int iswupper(wint_t wc); 0037 int iswxdigit(wint_t wc); 0038 int iswctype(wint_t wc, wctype_t desc); 0039 wctype_t wctype(const char* property); 0040 wint_t towlower(wint_t wc); 0041 wint_t towupper(wint_t wc); 0042 wint_t towctrans(wint_t wc, wctrans_t desc); 0043 wctrans_t wctrans(const char* property); 0044 0045 */ 0046 0047 #if defined(__cplusplus) && __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS) 0048 # include <__cxx03/wctype.h> 0049 #else 0050 # include <__config> 0051 0052 # if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) 0053 # pragma GCC system_header 0054 # endif 0055 0056 // TODO: 0057 // In the future, we should unconditionally include_next <wctype.h> here and instead 0058 // have a mode under which the library does not need libc++'s <wctype.h> or <cwctype> 0059 // at all (i.e. a mode without wchar_t). As it stands, we need to do that to completely 0060 // bypass the using declarations in <cwctype> when we did not include <wctype.h>. 0061 // Otherwise, a using declaration like `using ::wint_t` in <cwctype> will refer to 0062 // nothing (with using_if_exists), and if we include another header that defines one 0063 // of these declarations (e.g. <wchar.h>), the second `using ::wint_t` with using_if_exists 0064 // will fail because it does not refer to the same declaration. 0065 # if __has_include_next(<wctype.h>) 0066 # include_next <wctype.h> 0067 # define _LIBCPP_INCLUDED_C_LIBRARY_WCTYPE_H 0068 # endif 0069 0070 # ifdef __cplusplus 0071 0072 # undef iswalnum 0073 # undef iswalpha 0074 # undef iswblank 0075 # undef iswcntrl 0076 # undef iswdigit 0077 # undef iswgraph 0078 # undef iswlower 0079 # undef iswprint 0080 # undef iswpunct 0081 # undef iswspace 0082 # undef iswupper 0083 # undef iswxdigit 0084 # undef iswctype 0085 # undef wctype 0086 # undef towlower 0087 # undef towupper 0088 # undef towctrans 0089 # undef wctrans 0090 0091 # endif // __cplusplus 0092 #endif // defined(__cplusplus) && __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS) 0093 0094 #endif // _LIBCPP_WCTYPE_H
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|