cxx/include/cwctype
Richard Smith d8b2456344 Remove unnecessary inline functions capturing the contents of C library macros.
The C standard requires that these be provided as functions even if they're
also provided as macros, and a strict reading of the C++ standard library rules
suggests that (for instance) &::isdigit == &::std::isdigit, so these wrappers
are technically non-conforming.


git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@249475 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-06 22:03:22 +00:00

106 lines
1.9 KiB
C++

// -*- C++ -*-
//===--------------------------- cwctype ----------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is dual licensed under the MIT and the University of Illinois Open
// Source Licenses. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
#ifndef _LIBCPP_CWCTYPE
#define _LIBCPP_CWCTYPE
/*
cwctype synopsis
Macros:
WEOF
namespace std
{
Types:
wint_t
wctrans_t
wctype_t
int iswalnum(wint_t wc);
int iswalpha(wint_t wc);
int iswblank(wint_t wc); // C99
int iswcntrl(wint_t wc);
int iswdigit(wint_t wc);
int iswgraph(wint_t wc);
int iswlower(wint_t wc);
int iswprint(wint_t wc);
int iswpunct(wint_t wc);
int iswspace(wint_t wc);
int iswupper(wint_t wc);
int iswxdigit(wint_t wc);
int iswctype(wint_t wc, wctype_t desc);
wctype_t wctype(const char* property);
wint_t towlower(wint_t wc);
wint_t towupper(wint_t wc);
wint_t towctrans(wint_t wc, wctrans_t desc);
wctrans_t wctrans(const char* property);
} // std
*/
#include <__config>
#include <cctype>
#include <wctype.h>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
#pragma GCC system_header
#endif
_LIBCPP_BEGIN_NAMESPACE_STD
using ::wint_t;
using ::wctrans_t;
using ::wctype_t;
#undef iswalnum
using ::iswalnum;
#undef iswalpha
using ::iswalpha;
#undef iswblank
using ::iswblank;
#undef iswcntrl
using ::iswcntrl;
#undef iswdigit
using ::iswdigit;
#undef iswgraph
using ::iswgraph;
#undef iswlower
using ::iswlower;
#undef iswprint
using ::iswprint;
#undef iswpunct
using ::iswpunct;
#undef iswspace
using ::iswspace;
#undef iswupper
using ::iswupper;
#undef iswxdigit
using ::iswxdigit;
#undef iswctype
using ::iswctype;
#undef wctype
using ::wctype;
#undef towlower
using ::towlower;
#undef towupper
using ::towupper;
#undef towctrans
using ::towctrans;
#undef wctrans
using ::wctrans;
_LIBCPP_END_NAMESPACE_STD
#endif // _LIBCPP_CWCTYPE