File Index Symbol Index

//
// corecrt_memory.h
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// The buffer (memory) manipulation library. These declarations are split out
// so that they may be included by both <string.h> and <memory.h>. <string.h>
// does not include <memory.h> to avoid introducing conflicts with other user
// headers named <memory.h>.
//
#pragma once
#include <corecrt.h> #include <corecrt_memcpy_s.h>
#include <vcruntime_string.h>
#ifndef __midl
_Check_return_
);
_Check_return_
);
#if !defined RC_INVOKED && __STDC_WANT_SECURE_LIB__
#if defined __cplusplus && _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_MEMORY
extern "C++"
{
template <size_t _Size, typename _DstType>
inline typename _CrtEnableIf<(_Size > 1), void *>::_Type __cdecl memcpy(
_DstType (&_Dst)[_Size],
_In_reads_bytes_opt_(_SrcSize) void const* _Src,
_In_ size_t _SrcSize
) _CRT_SECURE_CPP_NOTHROW
{
return memcpy_s(_Dst, _Size * sizeof(_DstType), _Src, _SrcSize) == 0 ? _Dst : 0;
}
} #endif
#if defined __cplusplus && _CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES_MEMORY
extern "C++"
{
template <size_t _Size, typename _DstType>
inline errno_t __CRTDECL memcpy_s(
_DstType (&_Dst)[_Size],
_In_reads_bytes_opt_(_SrcSize) void const* _Src,
_In_ rsize_t _SrcSize
) _CRT_SECURE_CPP_NOTHROW
{
return memcpy_s(_Dst, _Size * sizeof(_DstType), _Src, _SrcSize);
}
} #endif
#endif // !defined RC_INVOKED && __STDC_WANT_SECURE_LIB__
#if _CRT_INTERNAL_NONSTDC_NAMES
); );
#endif // _CRT_INTERNAL_NONSTDC_NAMES
#if defined __cplusplus
) {
void
const
*
const
_Pvc
=
_Pv
;
return
const_cast
<
void
*>(
memchr
(
_Pvc
,
_C
,
_N
)); }
#endif
#endif // !__midl