cwctype.pass.cpp revision bc8d3f97eb5c958007f2713238472e0c1c8fe02
1//===----------------------------------------------------------------------===// 2// 3// ��������������������The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// 9 10// <cwctype> 11 12#include <cwctype> 13#include <type_traits> 14 15#ifndef WEOF 16#error WEOF not defined 17#endif 18 19#ifdef iswalnum 20#error iswalnum defined 21#endif 22 23#ifdef iswalpha 24#error iswalpha defined 25#endif 26 27#ifdef iswblank 28#error iswblank defined 29#endif 30 31#ifdef iswcntrl 32#error iswcntrl defined 33#endif 34 35#ifdef iswdigit 36#error iswdigit defined 37#endif 38 39#ifdef iswgraph 40#error iswgraph defined 41#endif 42 43#ifdef iswlower 44#error iswlower defined 45#endif 46 47#ifdef iswprint 48#error iswprint defined 49#endif 50 51#ifdef iswpunct 52#error iswpunct defined 53#endif 54 55#ifdef iswspace 56#error iswspace defined 57#endif 58 59#ifdef iswupper 60#error iswupper defined 61#endif 62 63#ifdef iswxdigit 64#error iswxdigit defined 65#endif 66 67#ifdef iswctype 68#error iswctype defined 69#endif 70 71#ifdef wctype 72#error wctype defined 73#endif 74 75#ifdef towlower 76#error towlower defined 77#endif 78 79#ifdef towupper 80#error towupper defined 81#endif 82 83#ifdef towctrans 84#error towctrans defined 85#endif 86 87#ifdef wctrans 88#error wctrans defined 89#endif 90 91int main() 92{ 93 std::wint_t w = 0; 94 std::wctrans_t wctr = 0; 95 std::wctype_t wct = 0; 96 static_assert((std::is_same<decltype(std::iswalnum(w)), int>::value), ""); 97 static_assert((std::is_same<decltype(std::iswalpha(w)), int>::value), ""); 98 static_assert((std::is_same<decltype(std::iswblank(w)), int>::value), ""); 99 static_assert((std::is_same<decltype(std::iswcntrl(w)), int>::value), ""); 100 static_assert((std::is_same<decltype(std::iswdigit(w)), int>::value), ""); 101 static_assert((std::is_same<decltype(std::iswgraph(w)), int>::value), ""); 102 static_assert((std::is_same<decltype(std::iswlower(w)), int>::value), ""); 103 static_assert((std::is_same<decltype(std::iswprint(w)), int>::value), ""); 104 static_assert((std::is_same<decltype(std::iswpunct(w)), int>::value), ""); 105 static_assert((std::is_same<decltype(std::iswspace(w)), int>::value), ""); 106 static_assert((std::is_same<decltype(std::iswupper(w)), int>::value), ""); 107 static_assert((std::is_same<decltype(std::iswxdigit(w)), int>::value), ""); 108 static_assert((std::is_same<decltype(std::iswctype(w, wct)), int>::value), ""); 109 static_assert((std::is_same<decltype(std::wctype("")), std::wctype_t>::value), ""); 110 static_assert((std::is_same<decltype(std::towlower(w)), std::wint_t>::value), ""); 111 static_assert((std::is_same<decltype(std::towupper(w)), std::wint_t>::value), ""); 112 static_assert((std::is_same<decltype(std::towctrans(w, wctr)), std::wint_t>::value), ""); 113 static_assert((std::is_same<decltype(std::wctrans("")), std::wctrans_t>::value), ""); 114} 115