class_docstr: I/O abstraction for rendering to Windows consoles.
  (cmd.exe and similar.)
class_docstr_tok: ["I\/O","abstraction","for","rendering","to","Windows","consoles",".","(","cmd.exe","and","similar",".",")"]
docstr: Write to output stream and flush.
docstr_tok: ["Write","to","output","stream","and","flush","."]
code: def flush(self) -> None:
      """
      Write to output stream and flush.
      """
      if not self._buffer:
          # Only flush stdout buffer. (It could be that Python still has
          # something in its buffer. -- We want to be sure to print that in
          # the correct color.)
          self.stdout.flush()
          return
  
      data = "".join(self._buffer)
  
      if _DEBUG_RENDER_OUTPUT:
          self.LOG.write(("%r" % data).encode("utf-8") + b"\n")
          self.LOG.flush()
  
      # Print characters one by one. This appears to be the best solution
      # in order to avoid traces of vertical lines when the completion
      # menu disappears.
      for b in data:
          written = DWORD()
  
          retval = windll.kernel32.WriteConsoleW(
              self.hconsole, b, 1, byref(written), None
          )
          assert retval != 0
  
      self._buffer = []
  
imports: from __future__ import annotations
  import sys
  import os
  from ctypes import ArgumentError, byref, c_char, c_long, c_uint, c_ulong, pointer
  from ctypes.wintypes import DWORD, HANDLE
  from typing import Callable, TextIO, TypeVar
  from prompt_toolkit.cursor_shapes import CursorShape
  from prompt_toolkit.data_structures import Size
  from prompt_toolkit.styles import ANSI_COLOR_NAMES, Attrs
  from prompt_toolkit.utils import get_cwidth
  from prompt_toolkit.win32_types import CONSOLE_SCREEN_BUFFER_INFO, COORD, SMALL_RECT, STD_INPUT_HANDLE, STD_OUTPUT_HANDLE
  from ..utils import SPHINX_AUTODOC_RUNNING
  from .base import Output
  from .color_depth import ColorDepth
label_desc: Use image node_id 24 for calling the Win32Output obj's underlying member method code with example usage: obj.flush() without return types