1// -*- C++ -*- 2//===--------------------------- cwctype ----------------------------------===// 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_CWCTYPE 12#define _LIBCPP_CWCTYPE 13 14/* 15 cwctype synopsis 16 17Macros: 18 19 WEOF 20 21namespace std 22{ 23 24Types: 25 26 wint_t 27 wctrans_t 28 wctype_t 29 30int iswalnum(wint_t wc); 31int iswalpha(wint_t wc); 32int iswblank(wint_t wc); // C99 33int iswcntrl(wint_t wc); 34int iswdigit(wint_t wc); 35int iswgraph(wint_t wc); 36int iswlower(wint_t wc); 37int iswprint(wint_t wc); 38int iswpunct(wint_t wc); 39int iswspace(wint_t wc); 40int iswupper(wint_t wc); 41int iswxdigit(wint_t wc); 42int iswctype(wint_t wc, wctype_t desc); 43wctype_t wctype(const char* property); 44wint_t towlower(wint_t wc); 45wint_t towupper(wint_t wc); 46wint_t towctrans(wint_t wc, wctrans_t desc); 47wctrans_t wctrans(const char* property); 48 49} // std 50 51*/ 52 53#include <__config> 54#include <cctype> 55#include <wctype.h> 56 57#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) 58#pragma GCC system_header 59#endif 60 61_LIBCPP_BEGIN_NAMESPACE_STD 62 63using ::wint_t; 64using ::wctrans_t; 65using ::wctype_t; 66 67#ifdef iswalnum 68inline _LIBCPP_INLINE_VISIBILITY int __libcpp_iswalnum(wint_t __wc) {return iswalnum(__wc);} 69#undef iswalnum 70inline _LIBCPP_INLINE_VISIBILITY int iswalnum(wint_t __wc) {return __libcpp_iswalnum(__wc);} 71#else // iswalnum 72using ::iswalnum; 73#endif 74 75#ifdef iswalpha 76inline _LIBCPP_INLINE_VISIBILITY int __libcpp_iswalpha(wint_t __wc) {return iswalpha(__wc);} 77#undef iswalpha 78inline _LIBCPP_INLINE_VISIBILITY int iswalpha(wint_t __wc) {return __libcpp_iswalpha(__wc);} 79#else // iswalpha 80using ::iswalpha; 81#endif 82 83#ifdef iswblank 84inline _LIBCPP_INLINE_VISIBILITY int __libcpp_iswblank(wint_t __wc) {return iswblank(__wc);} 85#undef iswblank 86inline _LIBCPP_INLINE_VISIBILITY int iswblank(wint_t __wc) {return __libcpp_iswblank(__wc);} 87#else // iswblank 88using ::iswblank; 89#endif 90 91#ifdef iswcntrl 92inline _LIBCPP_INLINE_VISIBILITY int __libcpp_iswcntrl(wint_t __wc) {return iswcntrl(__wc);} 93#undef iswcntrl 94inline _LIBCPP_INLINE_VISIBILITY int iswcntrl(wint_t __wc) {return __libcpp_iswcntrl(__wc);} 95#else // iswcntrl 96using ::iswcntrl; 97#endif 98 99#ifdef iswdigit 100inline _LIBCPP_INLINE_VISIBILITY int __libcpp_iswdigit(wint_t __wc) {return iswdigit(__wc);} 101#undef iswdigit 102inline _LIBCPP_INLINE_VISIBILITY int iswdigit(wint_t __wc) {return __libcpp_iswdigit(__wc);} 103#else // iswdigit 104using ::iswdigit; 105#endif 106 107#ifdef iswgraph 108inline _LIBCPP_INLINE_VISIBILITY int __libcpp_iswgraph(wint_t __wc) {return iswgraph(__wc);} 109#undef iswgraph 110inline _LIBCPP_INLINE_VISIBILITY int iswgraph(wint_t __wc) {return __libcpp_iswgraph(__wc);} 111#else // iswgraph 112using ::iswgraph; 113#endif 114 115#ifdef iswlower 116inline _LIBCPP_INLINE_VISIBILITY int __libcpp_iswlower(wint_t __wc) {return iswlower(__wc);} 117#undef iswlower 118inline _LIBCPP_INLINE_VISIBILITY int iswlower(wint_t __wc) {return __libcpp_iswlower(__wc);} 119#else // iswlower 120using ::iswlower; 121#endif 122 123#ifdef iswprint 124inline _LIBCPP_INLINE_VISIBILITY int __libcpp_iswprint(wint_t __wc) {return iswprint(__wc);} 125#undef iswprint 126inline _LIBCPP_INLINE_VISIBILITY int iswprint(wint_t __wc) {return __libcpp_iswprint(__wc);} 127#else // iswprint 128using ::iswprint; 129#endif 130 131#ifdef iswpunct 132inline _LIBCPP_INLINE_VISIBILITY int __libcpp_iswpunct(wint_t __wc) {return iswpunct(__wc);} 133#undef iswpunct 134inline _LIBCPP_INLINE_VISIBILITY int iswpunct(wint_t __wc) {return __libcpp_iswpunct(__wc);} 135#else // iswpunct 136using ::iswpunct; 137#endif 138 139#ifdef iswspace 140inline _LIBCPP_INLINE_VISIBILITY int __libcpp_iswspace(wint_t __wc) {return iswspace(__wc);} 141#undef iswspace 142inline _LIBCPP_INLINE_VISIBILITY int iswspace(wint_t __wc) {return __libcpp_iswspace(__wc);} 143#else // iswspace 144using ::iswspace; 145#endif 146 147#ifdef iswupper 148inline _LIBCPP_INLINE_VISIBILITY int __libcpp_iswupper(wint_t __wc) {return iswupper(__wc);} 149#undef iswupper 150inline _LIBCPP_INLINE_VISIBILITY int iswupper(wint_t __wc) {return __libcpp_iswupper(__wc);} 151#else // iswupper 152using ::iswupper; 153#endif 154 155#ifdef iswxdigit 156inline _LIBCPP_INLINE_VISIBILITY int __libcpp_iswxdigit(wint_t __wc) {return iswxdigit(__wc);} 157#undef iswxdigit 158inline _LIBCPP_INLINE_VISIBILITY int iswxdigit(wint_t __wc) {return __libcpp_iswxdigit(__wc);} 159#else // iswxdigit 160using ::iswxdigit; 161#endif 162 163#ifdef iswctype 164inline _LIBCPP_INLINE_VISIBILITY int __libcpp_iswctype(wint_t __w, wctype_t __d) {return iswctype(__w, __d);} 165#undef iswctype 166inline _LIBCPP_INLINE_VISIBILITY int iswctype(wint_t __w, wctype_t __d) {return __libcpp_iswctype(__w, __d);} 167#else // iswctype 168using ::iswctype; 169#endif 170 171#ifdef wctype 172inline _LIBCPP_INLINE_VISIBILITY wctype_t __libcpp_wctype(const char* __p) {return wctype(__p);} 173#undef wctype 174inline _LIBCPP_INLINE_VISIBILITY wctype_t wctype(const char* __p) {return __libcpp_wctype(__p);} 175#else // wctype 176using ::wctype; 177#endif 178 179#ifdef towlower 180inline _LIBCPP_INLINE_VISIBILITY wint_t __libcpp_towlower(wint_t __wc) {return towlower(__wc);} 181#undef towlower 182inline _LIBCPP_INLINE_VISIBILITY wint_t towlower(wint_t __wc) {return __libcpp_towlower(__wc);} 183#else // towlower 184using ::towlower; 185#endif 186 187#ifdef towupper 188inline _LIBCPP_INLINE_VISIBILITY wint_t __libcpp_towupper(wint_t __wc) {return towupper(__wc);} 189#undef towupper 190inline _LIBCPP_INLINE_VISIBILITY wint_t towupper(wint_t __wc) {return __libcpp_towupper(__wc);} 191#else // towupper 192using ::towupper; 193#endif 194 195#ifdef towctrans 196inline _LIBCPP_INLINE_VISIBILITY wint_t __libcpp_towctrans(wint_t __wc, wctype_t __d) {return towctrans(__wc, __d);} 197#undef towctrans 198inline _LIBCPP_INLINE_VISIBILITY wint_t towctrans(wint_t __wc, wctype_t __d) {return __libcpp_towctrans(__wc, __d);} 199#else // towctrans 200using ::towctrans; 201#endif 202 203#ifdef wctrans 204inline _LIBCPP_INLINE_VISIBILITY wctrans_t __libcpp_wctrans(const char* __p) {return wctrans(__p);} 205#undef wctrans 206inline _LIBCPP_INLINE_VISIBILITY wctrans_t wctrans(const char* __p) {return __libcpp_wctrans(__p);} 207#else // wctrans 208using ::wctrans; 209#endif 210 211_LIBCPP_END_NAMESPACE_STD 212 213#endif // _LIBCPP_CWCTYPE 214