git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@103516 91177308-0d34-0410-b5e6-96231b3b80d8
		
			
				
	
	
		
			196 lines
		
	
	
		
			7.0 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			196 lines
		
	
	
		
			7.0 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
// -*- C++ -*-
 | 
						|
//===--------------------------- cwchar -----------------------------------===//
 | 
						|
//
 | 
						|
//                     The LLVM Compiler Infrastructure
 | 
						|
//
 | 
						|
// This file is distributed under the University of Illinois Open Source
 | 
						|
// License. See LICENSE.TXT for details.
 | 
						|
//
 | 
						|
//===----------------------------------------------------------------------===//
 | 
						|
 | 
						|
#ifndef _LIBCPP_CWCHAR
 | 
						|
#define _LIBCPP_CWCHAR
 | 
						|
 | 
						|
/*
 | 
						|
    cwchar synopsis
 | 
						|
 | 
						|
Macros:
 | 
						|
 | 
						|
    NULL
 | 
						|
    WCHAR_MAX
 | 
						|
    WCHAR_MIN
 | 
						|
    WEOF
 | 
						|
 
 | 
						|
namespace std
 | 
						|
{
 | 
						|
 | 
						|
Types:
 | 
						|
 | 
						|
    mbstate_t
 | 
						|
    size_t
 | 
						|
    tm
 | 
						|
    wint_t
 | 
						|
 | 
						|
int fwprintf(FILE* restrict stream, const wchar_t* restrict format, ...);
 | 
						|
int fwscanf(FILE* restrict stream, const wchar_t* restrict format, ...);
 | 
						|
int swprintf(wchar_t* restrict s, size_t n, const wchar_t* restrict format, ...);
 | 
						|
int swscanf(const wchar_t* restrict s, const wchar_t* restrict format, ...);
 | 
						|
int vfwprintf(FILE* restrict stream, const wchar_t* restrict format, va_list arg);
 | 
						|
int vfwscanf(FILE* restrict stream, const wchar_t* restrict format, va_list arg);  // C99
 | 
						|
int vswprintf(wchar_t* restrict s, size_t n, const wchar_t* restrict format, va_list arg);
 | 
						|
int vswscanf(const wchar_t* restrict s, const wchar_t* restrict format, va_list arg);  // C99
 | 
						|
int vwprintf(const wchar_t* restrict format, va_list arg);
 | 
						|
int vwscanf(const wchar_t* restrict format, va_list arg);  // C99
 | 
						|
int wprintf(const wchar_t* restrict format, ...);
 | 
						|
int wscanf(const wchar_t* restrict format, ...);
 | 
						|
wint_t fgetwc(FILE* stream);
 | 
						|
wchar_t* fgetws(wchar_t* restrict s, int n, FILE* restrict stream);
 | 
						|
wint_t fputwc(wchar_t c, FILE* stream);
 | 
						|
int fputws(const wchar_t* restrict s, FILE* restrict stream);
 | 
						|
int fwide(FILE* stream, int mode);
 | 
						|
wint_t getwc(FILE* stream);
 | 
						|
wint_t getwchar(); 
 | 
						|
wint_t putwc(wchar_t c, FILE* stream);
 | 
						|
wint_t putwchar(wchar_t c);
 | 
						|
wint_t ungetwc(wint_t c, FILE* stream);
 | 
						|
double wcstod(const wchar_t* restrict nptr, wchar_t** restrict endptr);
 | 
						|
float wcstof(const wchar_t* restrict nptr, wchar_t** restrict endptr);         // C99
 | 
						|
long double wcstold(const wchar_t* restrict nptr, wchar_t** restrict endptr);  // C99
 | 
						|
long wcstol(const wchar_t* restrict nptr, wchar_t** restrict endptr, int base);
 | 
						|
long long wcstoll(const wchar_t* restrict nptr, wchar_t** restrict endptr, int base);  // C99
 | 
						|
unsigned long wcstoul(const wchar_t* restrict nptr, wchar_t** restrict endptr, int base);
 | 
						|
unsigned long long wcstoull(const wchar_t* restrict nptr, wchar_t** restrict endptr, int base);  // C99
 | 
						|
wchar_t* wcscpy(wchar_t* restrict s1, const wchar_t* restrict s2);
 | 
						|
wchar_t* wcsncpy(wchar_t* restrict s1, const wchar_t* restrict s2, size_t n);
 | 
						|
wchar_t* wcscat(wchar_t* restrict s1, const wchar_t* restrict s2);
 | 
						|
wchar_t* wcsncat(wchar_t* restrict s1, const wchar_t* restrict s2, size_t n);
 | 
						|
int wcscmp(const wchar_t* s1, const wchar_t* s2);
 | 
						|
int wcscoll(const wchar_t* s1, const wchar_t* s2);
 | 
						|
int wcsncmp(const wchar_t* s1, const wchar_t* s2, size_t n);
 | 
						|
size_t wcsxfrm(wchar_t* restrict s1, const wchar_t* restrict s2, size_t n);
 | 
						|
const wchar_t* wcschr(const wchar_t* s, wchar_t c);
 | 
						|
      wchar_t* wcschr(      wchar_t* s, wchar_t c);
 | 
						|
size_t wcscspn(const wchar_t* s1, const wchar_t* s2);
 | 
						|
size_t wcslen(const wchar_t* s);
 | 
						|
const wchar_t* wcspbrk(const wchar_t* s1, const wchar_t* s2);
 | 
						|
      wchar_t* wcspbrk(      wchar_t* s1, const wchar_t* s2);
 | 
						|
const wchar_t* wcsrchr(const wchar_t* s, wchar_t c);
 | 
						|
      wchar_t* wcsrchr(      wchar_t* s, wchar_t c);
 | 
						|
size_t wcsspn(const wchar_t* s1, const wchar_t* s2);
 | 
						|
const wchar_t* wcsstr(const wchar_t* s1, const wchar_t* s2);
 | 
						|
      wchar_t* wcsstr(      wchar_t* s1, const wchar_t* s2);
 | 
						|
wchar_t* wcstok(wchar_t* restrict s1, const wchar_t* restrict s2, wchar_t** restrict ptr);
 | 
						|
const wchar_t* wmemchr(const wchar_t* s, wchar_t c, size_t n);
 | 
						|
      wchar_t* wmemchr(      wchar_t* s, wchar_t c, size_t n);
 | 
						|
int wmemcmp(wchar_t* restrict s1, const wchar_t* restrict s2, size_t n);
 | 
						|
wchar_t* wmemcpy(wchar_t* restrict s1, const wchar_t* restrict s2, size_t n);
 | 
						|
wchar_t* wmemmove(wchar_t* s1, const wchar_t* s2, size_t n);
 | 
						|
wchar_t* wmemset(wchar_t* s, wchar_t c, size_t n);
 | 
						|
size_t wcsftime(wchar_t* restrict s, size_t maxsize, const wchar_t* restrict format,
 | 
						|
                const tm* restrict timeptr);
 | 
						|
wint_t btowc(int c);
 | 
						|
int wctob(wint_t c);
 | 
						|
int mbsinit(const mbstate_t* ps);
 | 
						|
size_t mbrlen(const char* restrict s, size_t n, mbstate_t* restrict ps);
 | 
						|
size_t mbrtowc(wchar_t* restrict pwc, const char* restrict s, size_t n, mbstate_t* restrict ps); 
 | 
						|
size_t wcrtomb(char* restrict s, wchar_t wc, mbstate_t* restrict ps);
 | 
						|
size_t mbsrtowcs(wchar_t* restrict dst, const char** restrict src, size_t len,
 | 
						|
                 mbstate_t* restrict ps); 
 | 
						|
size_t wcsrtombs(char* restrict dst, const wchar_t** restrict src, size_t len,
 | 
						|
                 mbstate_t* restrict ps);
 | 
						|
 | 
						|
}  // std
 | 
						|
 | 
						|
*/
 | 
						|
 | 
						|
#include <__config>
 | 
						|
#include <cwctype>
 | 
						|
#include <wchar.h>
 | 
						|
 | 
						|
#pragma GCC system_header
 | 
						|
 | 
						|
_LIBCPP_BEGIN_NAMESPACE_STD
 | 
						|
 | 
						|
using ::mbstate_t;
 | 
						|
using ::size_t;
 | 
						|
using ::tm;
 | 
						|
using ::wint_t;
 | 
						|
using ::FILE;
 | 
						|
using ::fwprintf;
 | 
						|
using ::fwscanf;
 | 
						|
using ::swprintf;
 | 
						|
using ::swscanf;
 | 
						|
using ::vfwprintf;
 | 
						|
using ::vfwscanf;
 | 
						|
using ::vswprintf;
 | 
						|
using ::vswscanf;
 | 
						|
using ::vwprintf;
 | 
						|
using ::vwscanf;
 | 
						|
using ::wprintf;
 | 
						|
using ::wscanf;
 | 
						|
using ::fgetwc;
 | 
						|
using ::fgetws;
 | 
						|
using ::fputwc;
 | 
						|
using ::fputws;
 | 
						|
using ::fwide;
 | 
						|
using ::getwc;
 | 
						|
using ::getwchar;
 | 
						|
using ::putwc;
 | 
						|
using ::putwchar;
 | 
						|
using ::ungetwc;
 | 
						|
using ::wcstod;
 | 
						|
using ::wcstof;
 | 
						|
using ::wcstold;
 | 
						|
using ::wcstol;
 | 
						|
using ::wcstoll;
 | 
						|
using ::wcstoul;
 | 
						|
using ::wcstoull;
 | 
						|
using ::wcscpy;
 | 
						|
using ::wcsncpy;
 | 
						|
using ::wcscat;
 | 
						|
using ::wcsncat;
 | 
						|
using ::wcscmp;
 | 
						|
using ::wcscoll;
 | 
						|
using ::wcsncmp;
 | 
						|
using ::wcsxfrm;
 | 
						|
 | 
						|
inline _LIBCPP_INLINE_VISIBILITY const wchar_t* wcschr(const wchar_t* __s, wchar_t __c) {return ::wcschr(__s, __c);}
 | 
						|
inline _LIBCPP_INLINE_VISIBILITY       wchar_t* wcschr(      wchar_t* __s, wchar_t __c) {return ::wcschr(__s, __c);}
 | 
						|
 | 
						|
using ::wcscspn;
 | 
						|
using ::wcslen;
 | 
						|
 | 
						|
inline _LIBCPP_INLINE_VISIBILITY const wchar_t* wcspbrk(const wchar_t* __s1, const wchar_t* __s2) {return ::wcspbrk(__s1, __s2);}
 | 
						|
inline _LIBCPP_INLINE_VISIBILITY       wchar_t* wcspbrk(      wchar_t* __s1, const wchar_t* __s2) {return ::wcspbrk(__s1, __s2);}
 | 
						|
 | 
						|
inline _LIBCPP_INLINE_VISIBILITY const wchar_t* wcsrchr(const wchar_t* __s, wchar_t __c) {return ::wcsrchr(__s, __c);}
 | 
						|
inline _LIBCPP_INLINE_VISIBILITY       wchar_t* wcsrchr(      wchar_t* __s, wchar_t __c) {return ::wcsrchr(__s, __c);}
 | 
						|
 | 
						|
using ::wcsspn;
 | 
						|
 | 
						|
inline _LIBCPP_INLINE_VISIBILITY const wchar_t* wcsstr(const wchar_t* __s1, const wchar_t* __s2) {return ::wcsstr(__s1, __s2);}
 | 
						|
inline _LIBCPP_INLINE_VISIBILITY       wchar_t* wcsstr(      wchar_t* __s1, const wchar_t* __s2) {return ::wcsstr(__s1, __s2);}
 | 
						|
 | 
						|
using ::wcstok;
 | 
						|
 | 
						|
inline _LIBCPP_INLINE_VISIBILITY const wchar_t* wmemchr(const wchar_t* __s, wchar_t __c, size_t __n) {return ::wmemchr(__s, __c, __n);}
 | 
						|
inline _LIBCPP_INLINE_VISIBILITY       wchar_t* wmemchr(      wchar_t* __s, wchar_t __c, size_t __n) {return ::wmemchr(__s, __c, __n);}
 | 
						|
 | 
						|
using ::wmemcmp;
 | 
						|
using ::wmemcpy;
 | 
						|
using ::wmemmove;
 | 
						|
using ::wmemset;
 | 
						|
using ::wcsftime;
 | 
						|
using ::btowc;
 | 
						|
using ::wctob;
 | 
						|
using ::mbsinit;
 | 
						|
using ::mbrlen;
 | 
						|
using ::mbrtowc;
 | 
						|
using ::wcrtomb;
 | 
						|
using ::mbsrtowcs;
 | 
						|
using ::wcsrtombs;
 | 
						|
 | 
						|
_LIBCPP_END_NAMESPACE_STD
 | 
						|
 | 
						|
#endif  // _LIBCPP_CWCHAR
 |