55template <
typename Func>
76 return ::ReadConsoleInputW(
94 return ::ReadConsoleW(
109 [lpcNumberOfEvents]()
111 return ::GetNumberOfConsoleInputEvents(
127 return ::PeekConsoleInputA(
143 return ::GetConsoleMode(
157 return ::SetConsoleMode(
#define _CRT_LINKER_FORCE_INCLUDE(name)
const HANDLE _console_invalid_handle
const HANDLE _console_uninitialized_handle
static TAGREF LPCWSTR LPDWORD LPVOID lpBuffer
#define ERROR_INVALID_HANDLE
BOOL __cdecl __dcrt_read_console(_Out_ LPVOID lpBuffer, _In_ DWORD nNumberOfCharsToRead, _Out_ LPDWORD lpNumberOfCharsRead)
static BOOL console_input_reopen_and_retry(Func const &fp)
BOOL __cdecl __dcrt_read_console_input(_Out_ PINPUT_RECORD lpBuffer, _In_ DWORD nLength, _Out_ LPDWORD lpNumberOfEventsRead)
BOOL __cdecl __dcrt_peek_console_input_a(_Out_ PINPUT_RECORD lpBuffer, _In_ DWORD nLength, _Out_ LPDWORD lpNumberOfEventsRead)
static HANDLE __dcrt_lowio_console_input_handle
BOOL __cdecl __dcrt_get_input_console_mode(_Out_ LPDWORD lpMode)
BOOL __cdecl __dcrt_get_number_of_console_input_events(_Out_ LPDWORD lpcNumberOfEvents)
BOOL __cdecl __dcrt_lowio_ensure_console_input_initialized()
static void __dcrt_lowio_initialize_console_input()
void __cdecl __dcrt_terminate_console_input()
BOOL __cdecl __dcrt_set_input_console_mode(_In_ DWORD dwMode)
DWORD WINAPI GetLastError(void)
_In_ DWORD _Out_ LPDWORD lpNumberOfEventsRead
_In_ DWORD nNumberOfCharsToRead