
c++
// terminal cursor control
void set_row(std::size_t); // move cursor to row
void set_column(std::size_t); // move cursor to column
void cursor_next(std::size_t); // moves cursor to beginning of next line, N lines down (default N=1)
void cursor_prev(std::size_t); // moves cursor to beginning of previous line, N lines up (default N=1)
void cursor_up(std::size_t); // move the cursor up N lines (default N=1)
void cursor_down(std::size_t); // move the cursor down N lines (default N=1)
void cursor_right(std::size_t); // move the cursor forward N columns (default N=1)
void cursor_left(std::size_t); // move the cursor backward N columns (default N=1)
void cursor_position_report(); // the ANSI code to generate a cursor position report
void cursor_off(); // hide cursor
void cursor_on(); // show cursor
cursor_pos_t cursor_position(); // returns the current cursor position (row, column)
void cursor_move(std::size_t, std::size_t); // move cursor by the given row and column
void cursor_set(std::size_t, std::size_t); // move cursor to given row and columnc++
// clear functions
void clear_screen(); // clear screen
//void clear_buffer(); // clear screen and the scroll-back buffer
void clear_to_eol(); // clear from cursor position to the end of the line
void clear_to_eof(); // clear from cursor position to the end of the screen
void clear_to_sol(); // clear from cursor position to the start of the line
void clear_to_sof(); // clear from cursor position to the start of the screen
void clear_line(); // clear the entire line where the cursor is located
void clear_partial(); // clear from a specific (Y, X) and a custom (width, height) *idea from Newtrodit*Ctrl-VCtrl-VCtrl-OIEXTENIXONCtrl+SCtrl-QICRNLCtrl-Mgetch_n()OPOSTshowkey -a