File Index Symbol Index

//
// wchar.h
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// All of the types, macros, and function declarations for all wide-character
// related functionality. Most of the functionality is in the #included
// <corecrt_wxxxx.h> headers, which are also #included by other public headers.
//
#pragma once
#ifndef _INC_WCHAR // include guard for 3rd party interop
#define _INC_WCHAR
#include <corecrt.h> #include <corecrt_memcpy_s.h> #include <corecrt_wconio.h> #include <corecrt_wctype.h> #include <corecrt_wdirect.h> #include <corecrt_wio.h> #include <corecrt_wprocess.h> #include <corecrt_wstdio.h>
#include <corecrt_wstdlib.h> #include <corecrt_wstring.h> #include <corecrt_wtime.h> #include <sys/stat.h>
#include <sys/types.h>
#include <vcruntime_string.h>
#define WCHAR_MIN 0x0000
#define WCHAR_MAX 0xffff
typedef
wchar_t
_Wint_t
;
#if _CRT_FUNCTIONS_REQUIRED
_Check_return_opt_ _Success_(return != 0) _Ret_z_
);
_Check_return_opt_
); ); ); );
_Success_(return == 0)
);
_Success_(return == 0)
);
_Success_(return == 0)
); );
#if __STDC_WANT_SECURE_LIB__
_Success_(return == 0)
);
_Success_(return == 0)
);
#endif // __STDC_WANT_SECURE_LIB__
) {
return
(
_M
); } ) { } ) {
for
(;
0
<
_N
; ++
_S
, --
_N
)
if
(*
_S
==
_C
)
return
0
; } ) {
for
(;
0
<
_N
; ++
_S1
, ++
_S2
, --
_N
)
if
(*
_S1
!= *
_S2
)
return
*
_S1
< *
_S2
? -
1
:
1
;
return
0
; }
_Post_equal_to_(_S1)
_At_buffer_(_S1, _Iter_, _N, _Post_satisfies_(_S1[_Iter_] == _S2[_Iter_]))
) {
return
(
wchar_t
*)
memcpy
(
_S1
,
_S2
,
_N
*
sizeof
(
wchar_t
)); } ) {
return
(
wchar_t
*)
memmove
(
_S1
,
_S2
,
_N
*
sizeof
(
wchar_t
)); }
_Post_equal_to_(_S)
_At_buffer_(_S, _Iter_, _N, _Post_satisfies_(_S[_Iter_] == _C))
) {
wchar_t
*
_Su
=
_S
;
for
(;
0
<
_N
; ++
_Su
, --
_N
) { *
_Su
=
_C
; }
return
_S
; }
#ifdef __cplusplus
) {
wchar_t
const
*
const
_SC
=
_S
;
return
const_cast
<
wchar_t
*>(
wmemchr
(
_SC
,
_C
,
_N
)); }
#endif // __cplusplus
#endif // _CRT_FUNCTIONS_REQUIRED