57template <
typename Character>
61 __crt_cached_ptd_host&
ptd
70 if (
stream.has_big_buffer())
74 int const chars_to_write =
static_cast<int>(
stream->_ptr -
stream->_base);
76 stream->_cnt =
stream->_bufsiz -
static_cast<int>(
sizeof(Character));
78 int chars_written = 0;
79 if (chars_to_write > 0)
90 return stdio_traits::eof;
95 *
reinterpret_cast<Character*
>(
stream->_base) =
c;
96 return chars_written == chars_to_write;
112template <
typename Character>
116 __crt_cached_ptd_host&
ptd
121 unsigned const character_mask = (1 << (
CHAR_BIT *
sizeof(Character))) - 1;
131 return stdio_traits::eof;
133 else if (
stream.is_string_backed())
137 return stdio_traits::eof;
153 if (switch_to_write_mode)
161 return stdio_traits::eof;
171 if (!
stream.has_any_buffer())
187 return stdio_traits::eof;
190 return c & character_mask;
198 __crt_cached_ptd_host&
ptd
209 __crt_cached_ptd_host&
ptd
static bool __cdecl write_buffer_nolock(Character const c, __crt_stdio_stream const stream, __crt_cached_ptd_host &ptd)
static int __cdecl common_flush_and_write_nolock(int const c, __crt_stdio_stream const stream, __crt_cached_ptd_host &ptd)
int __cdecl __acrt_stdio_flush_and_write_wide_nolock(int const c, FILE *const stream, __crt_cached_ptd_host &ptd)
static bool __cdecl stream_is_at_end_of_file_nolock(__crt_stdio_stream const stream)
int __cdecl __acrt_stdio_flush_and_write_narrow_nolock(int const c, FILE *const stream, __crt_cached_ptd_host &ptd)
void __cdecl __acrt_stdio_allocate_buffer_nolock(FILE *const public_stream)
bool __acrt_should_use_temporary_buffer(FILE *const stream)
int __cdecl _write_internal(_In_ int _FileHandle, _In_reads_bytes_(_MaxCharCount) void const *_Buf, _In_ unsigned int _MaxCharCount, _Inout_ __crt_cached_ptd_host &_Ptd)
_In_ size_t const _In_ int _In_ bool const _In_ unsigned const _In_ __acrt_rounding_mode const _Inout_ __crt_cached_ptd_host & ptd
#define INVALID_HANDLE_VALUE
BOOL WINAPI SetFilePointerEx(HANDLE hFile, LARGE_INTEGER liDistanceToMove, PLARGE_INTEGER lpNewFilePointer, DWORD dwMoveMethod)
_Check_return_ _CRTIMP int __cdecl _fileno(_In_ FILE *_File)
_CRTIMP intptr_t __cdecl _get_osfhandle(_In_ int _FileHandle)
__int64 CDECL _lseeki64(int fd, __int64 offset, int whence)