changeset 0:dff751fb985c

initial revision
author John W. Eaton <jwe@octave.org>
date Mon, 13 May 2019 09:48:06 -0500
parents
children 08df60a01bc1
files Makefile NOTES calc.pro gui-main.cpp gui-main.h main.cpp main.h make-log parse.h parse.yy tty-main.cpp tty-main.h
diffstat 12 files changed, 7540 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Makefile	Mon May 13 09:48:06 2019 -0500
@@ -0,0 +1,4 @@
+include calc.mk
+
+parse.cpp: parse.yy
+	bison -o parse.cpp parse.yy
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/NOTES	Mon May 13 09:48:06 2019 -0500
@@ -0,0 +1,74 @@
+Current terminal widget:
+
+  * Run Octave in a separate thread.  On unixy, interact through pty.
+    On Windows systems, use hidden console and mirror contents in Qt
+    widget.
+
+    Octave interpreter sees input directly, same as for normal
+    terminal application.  Good, because no change in the way Octave
+    accepts and parses input.  Bad because GUI is not in control of
+    input and must arrange to communicate across threads.
+
+    Terminal window can (in theory) be used to run other applications
+    started from the system command (for example).  This feature works
+    well enough for us to use less running as a separate process to
+    handle paging output, but it doesn't work for all applications.
+    For example, I am not able to run editors like Emacs or vi in the
+    GUI terminal window.
+
+    To make less work as the pager on Unixy systems, the Octave must
+    fork, call setsid in the child to detach from the controlling
+    terminal, and then exec the GUI.
+
+    GUI must deal with threads when communicating with the
+    interpreter.
+
+Proposal:
+
+  * GUI terminal widget is in control of input.
+
+    Use callback interface for readline to handle command line
+    editing.
+
+    Use push parser to parse lines as they become available.  Push
+    parser will return status of parse, either complete or needing
+    more input.
+
+    Uses the following readline callbacks to manage input and update
+    the display.  We may need more in the future to handle other
+    features.
+
+      rl_getc_function
+      rl_redisplay_function
+      rl_completion_display_matches_hook
+
+      rl_prep_term_function (do nothing)
+      rl_deprep_term_function (do nothing)
+
+   Call rl_callback_handler_install to setup readlines
+   callback mode.  This sets the initial prompt and provides a pointer
+   to a function that readline should call when a complete line of
+   input is available.
+
+   Call rl_callback_read_char when a character is available for
+   readline to handle.  We currently store the character to read in a
+   global value, then rl_get_function returns that character to
+   readline.
+
+   Call rl_callback_handler_remove when shutting down.
+
+   To avoid global variables, it would be helpful if we could use
+   lambda functions/functors as callbacks instead of plain C function
+   pointers.
+
+Questions:
+
+  * With this arrangement, would the interpreter have to run in a
+    separtae thread?
+
+  * Example parser currently computes results
+    immediately.  How do we deal with parsing multiple expressions and
+    statements with this method?
+
+  * Do we need text position markers to keep track of the prompt position
+    (beginning of current line) when inserting or clearing text?
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calc.pro	Mon May 13 09:48:06 2019 -0500
@@ -0,0 +1,17 @@
+MAKEFILE = calc.mk
+
+SOURCES = parse.cpp main.cpp gui-main.cpp tty-main.cpp
+
+HEADERS = parse.h gui-main.h tty-main.h
+
+LIBS += -lreadline
+
+CONFIG += qt warn_on debug
+
+QT += widgets
+
+QMAKE_EXTRA_TARGETS += distclean
+distclean.depends = extraclean
+
+QMAKE_EXTRA_TARGETS += extraclean
+extraclean.commands = rm -f parse.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gui-main.cpp	Mon May 13 09:48:06 2019 -0500
@@ -0,0 +1,445 @@
+#include <iostream>
+#include <sstream>
+#include <string>
+
+#include <cstdlib>
+#include <cstring>
+
+#include <QApplication>
+#include <QKeyEvent>
+#include <QTextDocument>
+#include <QTextEdit>
+
+#include "gui-main.h"
+
+#include "gui-main.h"
+#include "parse.h"
+
+#include <readline/readline.h>
+#include <readline/history.h>
+
+namespace gui
+{
+  static int available_char = 0;
+
+  static inline int ctrl (int c)
+  {
+    return c & 0x1f;
+  }
+
+  static command_window *calc_interaction_window = 0;
+
+  static int getc (FILE *)
+  {
+    int tmp = available_char;
+    available_char = 0;
+    return tmp;
+  }
+
+  static void redisplay (void)
+  {
+    if (calc_interaction_window)
+      calc_interaction_window->redisplay ();
+  }
+
+  static void prep_term (int)
+  {
+  }
+
+  static void deprep_term (void)
+  {
+  }
+
+  static void accept_line (char *line)
+  {
+    if (calc_interaction_window)
+      calc_interaction_window->accept (line ? line : "");
+  }
+
+  static void display_completion_matches (char **matches, int num_matches,
+                                          int /* max_length */)
+  {
+    if (calc_interaction_window)
+      {
+        std::ostringstream buf;
+
+        if (num_matches > 1)
+          buf << "\n";
+
+        for (int i = 1; i < num_matches; i++)
+          buf << matches[i] << "\n";
+
+        calc_interaction_window->insert_at_end (buf.str ());
+
+        calc_interaction_window->redisplay ();
+      }
+  }
+
+  static void readline_init (void)
+  {
+    rl_initialize ();
+
+    rl_getc_function = getc;
+    rl_redisplay_function = redisplay;
+    rl_prep_term_function = prep_term;
+    rl_deprep_term_function = deprep_term;
+    rl_completion_display_matches_hook = display_completion_matches;
+
+    rl_callback_handler_install (">> ", accept_line);
+  }
+
+  static void readline_fini (void)
+  {
+    rl_callback_handler_remove ();
+  }
+
+  command_window::command_window (QWidget *p)
+    : QTextEdit (p),
+      m_buffer (new QTextDocument ()),
+      beg_mark (), prompt_mark ()
+  {
+    setWindowTitle ("Qt::TextEdit example");
+
+    setMinimumSize (QSize (600, 400));
+
+    setDocument (m_buffer);
+
+    connect (this, SIGNAL (result_available (double)),
+             this, SLOT (handle_result (double)));
+
+    insert_at_end
+      ("Qt Example Calculator.\n"
+       "Available operations: + - * / ^ ()\n"
+       "Semicolon terminates statement.\n"
+       "Up Arrow key moves to previous line in the command history.\n"
+       "Down Arrow key moves to next line in the comand history.\n\n");
+
+    beg_mark = set_mark ();
+  }
+
+  // Accept an input line, parse and possibly execute it.
+
+  void command_window::accept (const std::string& line)
+  {
+    insert_at_end ("\n");
+
+    if (! line.empty ())
+      {
+        add_history (line.c_str ());
+        using_history ();
+
+        // FIXME: what is the right thing to do with status returned
+        // by parser.
+        interpreter::parse_and_execute (line);
+      }
+  }
+
+  // Redisplay current command line.
+
+  void command_window::redisplay (void)
+  {
+    erase_line ();
+
+    std::string line = rl_line_buffer ? rl_line_buffer : "";
+    std::string prompt = (rl_prompt && interpreter::beg_of_stmt) ? rl_prompt : "";
+
+    insert_line (prompt, line);
+
+    scroll_to_bottom ();
+
+    QTextCursor cursor = textCursor ();
+
+    cursor.setPosition (prompt_mark + rl_point, QTextCursor::MoveAnchor);
+
+    setTextCursor (cursor);
+  }
+
+  void command_window::insert_at_end (const std::string& text)
+  {
+    scroll_to_bottom ();
+
+    insert_at_cursor (text);
+  }
+
+  void command_window::emit_result (double value)
+  {
+    emit result_available (value);
+  }
+
+  // FIXME: do we really need this extra function?
+  void command_window::handle_result (double value)
+  {
+    insert_result (value);
+  }
+
+  void command_window::keyPressEvent (QKeyEvent *event)
+  {
+    if (! event)
+      return;
+
+    if (event->type () == QEvent::KeyPress)
+      {
+        int key = event->key ();
+
+        switch (key)
+          {
+          case Qt::Key_Return:
+            key = 0x0A;
+            break;
+
+          case Qt::Key_Backspace:
+            key = 0x08;
+            break;
+
+          case Qt::Key_Tab:
+            key = 0x09;
+            break;
+
+          case Qt::Key_Escape:
+            key = 0x1b;
+            break;
+
+          case Qt::Key_Up:
+          case Qt::Key_Down:
+          case Qt::Key_Right:
+          case Qt::Key_Left:
+            key = do_arrow_key (key);
+            break;
+
+          default:
+            {
+              switch (event->modifiers ())
+                {
+                case Qt::ControlModifier:
+                  if (key > 0x3f && key < 0x7b)
+                    key &= 0x1f;
+                  else
+                    key = -1;
+                  break;
+
+                default:
+                  {
+                    // Don't shoot me, this is just a demo...
+                    QString text = event->text ();
+                    QByteArray latin_text = text.toLatin1 ();
+                    key = latin_text[0];
+                  }
+                  break;
+                }
+            }
+            break;
+          }
+
+        if (key >= 0)
+          {
+            // FIXME: should this emit a signal instead?
+            available_char = key;
+            rl_callback_read_char ();
+            return;
+          }
+      }
+  }
+
+  int command_window::do_arrow_key (int arrow_key)
+  {
+    int retval = 0;
+
+    available_char = 0x1b;
+    rl_callback_read_char ();
+
+    available_char = '[';
+    rl_callback_read_char ();
+
+    switch (arrow_key)
+      {
+      case Qt::Key_Up:
+        retval = 'A';
+        break;
+
+      case Qt::Key_Down:
+        retval = 'B';
+        break;
+
+      case Qt::Key_Right:
+        retval = 'C';
+        break;
+
+      case Qt::Key_Left:
+        retval = 'D';
+        break;
+      }
+
+    return retval;
+  }
+
+  // Retrieve a command from the history list and insert it on the
+  // current command.
+
+  void command_window::history (bool up)
+  {
+    HIST_ENTRY *entry = up ? previous_history () : next_history ();
+
+    if (entry)
+      {
+        erase_line ();
+
+        std::string prompt = rl_prompt ? rl_prompt : "";
+
+        insert_line (prompt, entry->line);
+      }
+    else if (! up)
+      erase_line ();
+
+    scroll_to_bottom ();
+  }
+
+  void command_window::erase_line (void)
+  {
+    QTextCursor cursor = textCursor ();
+
+    cursor.movePosition (QTextCursor::End);
+    cursor.select (QTextCursor::LineUnderCursor);
+    cursor.removeSelectedText ();
+
+    setTextCursor (cursor);
+  }
+
+  void command_window::insert_at_cursor (const std::string& text)
+  {
+    QTextCursor cursor = textCursor ();
+
+    cursor.insertText (QString::fromStdString (text));
+
+    setTextCursor (cursor);
+  }
+
+  void command_window::insert_line (const std::string& prompt,
+                                    const std::string& line)
+  {
+    beg_mark = set_mark ();
+
+    insert_at_cursor (prompt);
+
+    prompt_mark = set_mark ();
+
+    insert_at_cursor (line);
+  }
+
+  int command_window::set_mark (void)
+  {
+    return textCursor ().position ();
+  }
+
+  void command_window::insert_result (double value)
+  {
+    std::ostringstream buf;
+    buf << "ans = " << value << "\n";
+
+    insert_at_cursor (buf.str ());
+
+    beg_mark = set_mark ();
+
+    scroll_to_bottom ();
+  }
+
+  void command_window::scroll_to_bottom (void)
+  {
+    QTextCursor cursor = textCursor ();
+
+    cursor.movePosition (QTextCursor::End);
+
+    setTextCursor (cursor);
+  }
+
+  int main (int argc, char *argv[])
+  {
+    interpreter::parser_init ();
+
+    QApplication app (argc, argv);
+
+    calc_interaction_window = new command_window ();
+
+    calc_interaction_window->show ();
+
+    readline_init ();
+
+    int status = app.exec ();
+
+    readline_fini ();
+
+    interpreter::parser_fini ();
+
+    return status;
+  }
+
+  void emit_result (double value)
+  {
+    calc_interaction_window->emit_result (value);
+  }
+}
+
+// -- Variable: rl_getc_func_t * rl_getc_function
+//     If non-zero, Readline will call indirectly through this pointer to
+//     get a character from the input stream.  By default, it is set to
+//     `rl_getc', the default Readline character input function (*note
+//     Character Input::).
+
+// -- Variable: rl_voidfunc_t * rl_redisplay_function
+//     If non-zero, Readline will call indirectly through this pointer to
+//     update the display with the current contents of the editing buffer.
+//     By default, it is set to `rl_redisplay', the default Readline
+//     redisplay function (*note Redisplay::).
+
+// -- Variable: rl_vintfunc_t * rl_prep_term_function
+//     If non-zero, Readline will call indirectly through this pointer to
+//     initialize the terminal.  The function takes a single argument, an
+//     `int' flag that says whether or not to use eight-bit characters.
+//     By default, this is set to `rl_prep_terminal' (*note Terminal
+//     Management::).
+
+// -- Variable: rl_voidfunc_t * rl_deprep_term_function
+//     If non-zero, Readline will call indirectly through this pointer to
+//     reset the terminal.  This function should undo the effects of
+//     `rl_prep_term_function'.  By default, this is set to
+//     `rl_deprep_terminal' (*note Terminal Management::).
+
+// -- Function: void rl_callback_handler_install (const char *prompt,
+//          rl_vcpfunc_t *lhandler)
+//     Set up the terminal for readline I/O and display the initial
+//     expanded value of PROMPT.  Save the value of LHANDLER to use as a
+//     function to call when a complete line of input has been entered.
+//     The function takes the text of the line as an argument.
+
+// -- Function: void rl_callback_read_char (void)
+//     Whenever an application determines that keyboard input is
+//     available, it should call `rl_callback_read_char()', which will
+//     read the next character from the current input source.  If that
+//     character completes the line, `rl_callback_read_char' will invoke
+//     the LHANDLER function saved by `rl_callback_handler_install' to
+//     process the line.  Before calling the LHANDLER function, the
+//     terminal settings are reset to the values they had before calling
+//     `rl_callback_handler_install'.  If the LHANDLER function returns,
+//     the terminal settings are modified for Readline's use again.
+//     `EOF' is  indicated by calling LHANDLER with a `NULL' line.
+
+// -- Function: void rl_callback_handler_remove (void)
+//     Restore the terminal to its initial state and remove the line
+//     handler.  This may be called from within a callback as well as
+//     independently.  If the LHANDLER installed by
+//     `rl_callback_handler_install' does not exit the program, either
+//     this function or the function referred to by the value of
+//     `rl_deprep_term_function' should be called before the program
+//     exits to reset the terminal settings.
+
+// -- Variable: rl_compdisp_func_t * rl_completion_display_matches_hook
+//     If non-zero, then this is the address of a function to call when
+//     completing a word would normally display the list of possible
+//     matches.  This function is called in lieu of Readline displaying
+//     the list.  It takes three arguments: (`char **'MATCHES, `int'
+//     NUM_MATCHES, `int' MAX_LENGTH) where MATCHES is the array of
+//     matching strings, NUM_MATCHES is the number of strings in that
+//     array, and MAX_LENGTH is the length of the longest string in that
+//     array.  Readline provides a convenience function,
+//     `rl_display_match_list', that takes care of doing the display to
+//     Readline's output stream.  That function may be called from this
+//     hook.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gui-main.h	Mon May 13 09:48:06 2019 -0500
@@ -0,0 +1,83 @@
+#if ! defined (gui_main_h)
+#define gui_main_h 1
+
+#include <iostream>
+#include <sstream>
+#include <string>
+
+#include <cstdlib>
+#include <cstring>
+
+#include <QApplication>
+#include <QTextDocument>
+#include <QTextEdit>
+
+namespace gui
+{
+  class command_window : public QTextEdit
+  {
+    Q_OBJECT
+
+  public:
+
+    command_window (QWidget *p = nullptr);
+
+    virtual ~command_window (void) = default;
+
+    // Accept an input line, parse and possibly execute it.
+
+    void accept (const std::string& line);
+
+    // Redisplay current command line.
+
+    void redisplay (void);
+
+    void insert_at_end (const std::string& text);
+
+    void emit_result (double value);
+
+  signals:
+
+    void result_available (double value);
+
+  public slots:
+
+    void handle_result (double value);
+
+  protected:
+
+    void keyPressEvent (QKeyEvent *event);
+
+    int do_arrow_key (int arrow_key);
+
+    // Retrieve a command from the history list and insert it on the
+    // current command.
+
+    void history (bool up);
+
+    void erase_line (void);
+
+    void insert_at_cursor (const std::string& text);
+
+    void insert_line (const std::string& prompt, const std::string& line);
+
+    int set_mark (void);
+
+    void insert_result (double value);
+
+    void scroll_to_bottom (void);
+
+    // Child widgets:
+
+    QTextDocument *m_buffer;
+
+    int beg_mark;
+    int prompt_mark;
+  };
+
+  extern int main (int argc, char **argv);
+
+  extern void emit_result (double value);
+}
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Mon May 13 09:48:06 2019 -0500
@@ -0,0 +1,34 @@
+#include <string>
+
+#include <readline/history.h>
+
+#include "gui-main.h"
+#include "tty-main.h"
+
+int tty_mode = false;
+
+int
+main (int argc, char **argv)
+{
+  int new_argc = 0;
+
+  char **new_argv = new char* [argc + 1];
+
+  new_argv[new_argc++] = argv[0];
+
+  for (int i = 1; i < argc; i++)
+    {
+      if (argv[i] == std::string ("--tty"))
+        tty_mode = true;
+      else
+        new_argv[new_argc++] = argv[i];
+    }
+
+  int status = tty_mode
+    ? tty::main (new_argc, new_argv)
+    : gui::main (new_argc, new_argv);
+
+  delete [] new_argv;
+
+  return status;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.h	Mon May 13 09:48:06 2019 -0500
@@ -0,0 +1,1 @@
+extern int tty_mode;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make-log	Mon May 13 09:48:06 2019 -0500
@@ -0,0 +1,6613 @@
+g++ -c -pipe -g -Wall -W -D_REENTRANT -fPIC -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I. -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -I. -isystem /usr/include/libdrm -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -o gui-main.o gui-main.cpp
+gui-main.cpp:1:1: error: ‘include’ does not name a type
+ include <iostream>
+ ^~~~~~~
+In file included from /usr/include/c++/8/iosfwd:40,
+                 from /usr/include/c++/8/ios:38,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/postypes.h:98:11: error: ‘ptrdiff_t’ does not name a type
+   typedef ptrdiff_t streamsize; // Signed integral type
+           ^~~~~~~~~
+/usr/include/c++/8/bits/postypes.h:98:11: note: ‘ptrdiff_t’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
+/usr/include/c++/8/bits/postypes.h:41:1:
++#include <cstddef>
+ 
+/usr/include/c++/8/bits/postypes.h:98:11:
+   typedef ptrdiff_t streamsize; // Signed integral type
+           ^~~~~~~~~
+In file included from /usr/include/c++/8/bits/exception_ptr.h:40,
+                 from /usr/include/c++/8/exception:143,
+                 from /usr/include/c++/8/ios:39,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/new:120:31: error: declaration of ‘operator new’ as non-function
+ void* operator new(std::size_t) _GLIBCXX_THROW (std::bad_alloc)
+                               ^
+/usr/include/c++/8/new:120:25: error: ‘size_t’ is not a member of ‘std’
+ void* operator new(std::size_t) _GLIBCXX_THROW (std::bad_alloc)
+                         ^~~~~~
+/usr/include/c++/8/new:120:25: note: suggested alternative:
+In file included from /usr/include/wchar.h:35,
+                 from /usr/include/c++/8/cwchar:44,
+                 from /usr/include/c++/8/bits/postypes.h:40,
+                 from /usr/include/c++/8/iosfwd:40,
+                 from /usr/include/c++/8/ios:38,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/lib/gcc/x86_64-linux-gnu/8/include/stddef.h:216:23: note:   ‘size_t’
+ typedef __SIZE_TYPE__ size_t;
+                       ^~~~~~
+In file included from /usr/include/c++/8/bits/exception_ptr.h:40,
+                 from /usr/include/c++/8/exception:143,
+                 from /usr/include/c++/8/ios:39,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/new:121:41: error: attributes after parenthesized initializer ignored [-fpermissive]
+   __attribute__((__externally_visible__));
+                                         ^
+/usr/include/c++/8/new:122:33: error: declaration of ‘operator new []’ as non-function
+ void* operator new[](std::size_t) _GLIBCXX_THROW (std::bad_alloc)
+                                 ^
+/usr/include/c++/8/new:122:27: error: ‘size_t’ is not a member of ‘std’
+ void* operator new[](std::size_t) _GLIBCXX_THROW (std::bad_alloc)
+                           ^~~~~~
+/usr/include/c++/8/new:122:27: note: suggested alternative:
+In file included from /usr/include/wchar.h:35,
+                 from /usr/include/c++/8/cwchar:44,
+                 from /usr/include/c++/8/bits/postypes.h:40,
+                 from /usr/include/c++/8/iosfwd:40,
+                 from /usr/include/c++/8/ios:38,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/lib/gcc/x86_64-linux-gnu/8/include/stddef.h:216:23: note:   ‘size_t’
+ typedef __SIZE_TYPE__ size_t;
+                       ^~~~~~
+In file included from /usr/include/c++/8/bits/exception_ptr.h:40,
+                 from /usr/include/c++/8/exception:143,
+                 from /usr/include/c++/8/ios:39,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/new:123:41: error: attributes after parenthesized initializer ignored [-fpermissive]
+   __attribute__((__externally_visible__));
+                                         ^
+/usr/include/c++/8/new:129:34: error: ‘std::size_t’ has not been declared
+ void operator delete(void*, std::size_t) _GLIBCXX_USE_NOEXCEPT
+                                  ^~~~~~
+/usr/include/c++/8/new:131:36: error: ‘std::size_t’ has not been declared
+ void operator delete[](void*, std::size_t) _GLIBCXX_USE_NOEXCEPT
+                                    ^~~~~~
+/usr/include/c++/8/new:134:25: error: declaration of ‘operator new’ as non-function
+ void* operator new(std::size_t, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT
+                         ^~~~~~
+/usr/include/c++/8/new:134:25: error: ‘size_t’ is not a member of ‘std’
+/usr/include/c++/8/new:134:25: note: suggested alternative:
+In file included from /usr/include/wchar.h:35,
+                 from /usr/include/c++/8/cwchar:44,
+                 from /usr/include/c++/8/bits/postypes.h:40,
+                 from /usr/include/c++/8/iosfwd:40,
+                 from /usr/include/c++/8/ios:38,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/lib/gcc/x86_64-linux-gnu/8/include/stddef.h:216:23: note:   ‘size_t’
+ typedef __SIZE_TYPE__ size_t;
+                       ^~~~~~
+In file included from /usr/include/c++/8/bits/exception_ptr.h:40,
+                 from /usr/include/c++/8/exception:143,
+                 from /usr/include/c++/8/ios:39,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/new:134:33: error: expected primary-expression before ‘const’
+ void* operator new(std::size_t, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT
+                                 ^~~~~
+/usr/include/c++/8/new:136:27: error: declaration of ‘operator new []’ as non-function
+ void* operator new[](std::size_t, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT
+                           ^~~~~~
+/usr/include/c++/8/new:136:27: error: ‘size_t’ is not a member of ‘std’
+/usr/include/c++/8/new:136:27: note: suggested alternative:
+In file included from /usr/include/wchar.h:35,
+                 from /usr/include/c++/8/cwchar:44,
+                 from /usr/include/c++/8/bits/postypes.h:40,
+                 from /usr/include/c++/8/iosfwd:40,
+                 from /usr/include/c++/8/ios:38,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/lib/gcc/x86_64-linux-gnu/8/include/stddef.h:216:23: note:   ‘size_t’
+ typedef __SIZE_TYPE__ size_t;
+                       ^~~~~~
+In file included from /usr/include/c++/8/bits/exception_ptr.h:40,
+                 from /usr/include/c++/8/exception:143,
+                 from /usr/include/c++/8/ios:39,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/new:136:35: error: expected primary-expression before ‘const’
+ void* operator new[](std::size_t, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT
+                                   ^~~~~
+/usr/include/c++/8/new:168:32: error: declaration of ‘operator new’ as non-function
+ inline void* operator new(std::size_t, void* __p) _GLIBCXX_USE_NOEXCEPT
+                                ^~~~~~
+/usr/include/c++/8/new:168:32: error: ‘size_t’ is not a member of ‘std’
+/usr/include/c++/8/new:168:32: note: suggested alternative:
+In file included from /usr/include/wchar.h:35,
+                 from /usr/include/c++/8/cwchar:44,
+                 from /usr/include/c++/8/bits/postypes.h:40,
+                 from /usr/include/c++/8/iosfwd:40,
+                 from /usr/include/c++/8/ios:38,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/lib/gcc/x86_64-linux-gnu/8/include/stddef.h:216:23: note:   ‘size_t’
+ typedef __SIZE_TYPE__ size_t;
+                       ^~~~~~
+In file included from /usr/include/c++/8/bits/exception_ptr.h:40,
+                 from /usr/include/c++/8/exception:143,
+                 from /usr/include/c++/8/ios:39,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/new:168:40: error: expected primary-expression before ‘void’
+ inline void* operator new(std::size_t, void* __p) _GLIBCXX_USE_NOEXCEPT
+                                        ^~~~
+/usr/include/c++/8/new:170:34: error: declaration of ‘operator new []’ as non-function
+ inline void* operator new[](std::size_t, void* __p) _GLIBCXX_USE_NOEXCEPT
+                                  ^~~~~~
+/usr/include/c++/8/new:170:34: error: ‘size_t’ is not a member of ‘std’
+/usr/include/c++/8/new:170:34: note: suggested alternative:
+In file included from /usr/include/wchar.h:35,
+                 from /usr/include/c++/8/cwchar:44,
+                 from /usr/include/c++/8/bits/postypes.h:40,
+                 from /usr/include/c++/8/iosfwd:40,
+                 from /usr/include/c++/8/ios:38,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/lib/gcc/x86_64-linux-gnu/8/include/stddef.h:216:23: note:   ‘size_t’
+ typedef __SIZE_TYPE__ size_t;
+                       ^~~~~~
+In file included from /usr/include/c++/8/bits/exception_ptr.h:40,
+                 from /usr/include/c++/8/exception:143,
+                 from /usr/include/c++/8/ios:39,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/new:170:42: error: expected primary-expression before ‘void’
+ inline void* operator new[](std::size_t, void* __p) _GLIBCXX_USE_NOEXCEPT
+                                          ^~~~
+In file included from /usr/include/c++/8/bits/move.h:55,
+                 from /usr/include/c++/8/bits/nested_exception.h:40,
+                 from /usr/include/c++/8/exception:144,
+                 from /usr/include/c++/8/ios:39,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/type_traits:350:31: error: ‘std::size_t’ has not been declared
+   template<typename _Tp, std::size_t _Size>
+                               ^~~~~~
+/usr/include/c++/8/type_traits:351:25: error: ‘_Size’ was not declared in this scope
+     struct is_array<_Tp[_Size]>
+                         ^~~~~
+/usr/include/c++/8/type_traits:351:31: error: template argument 1 is invalid
+     struct is_array<_Tp[_Size]>
+                               ^
+/usr/include/c++/8/type_traits:549:42: error: ‘nullptr_t’ is not a member of ‘std’
+     struct __is_null_pointer_helper<std::nullptr_t>
+                                          ^~~~~~~~~
+/usr/include/c++/8/type_traits:549:42: note: suggested alternative:
+In file included from /usr/include/c++/8/bits/cxxabi_init_exception.h:38,
+                 from /usr/include/c++/8/bits/exception_ptr.h:38,
+                 from /usr/include/c++/8/exception:143,
+                 from /usr/include/c++/8/ios:39,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/lib/gcc/x86_64-linux-gnu/8/include/stddef.h:444:29: note:   ‘nullptr_t’
+   typedef decltype(nullptr) nullptr_t;
+                             ^~~~~~~~~
+In file included from /usr/include/c++/8/bits/move.h:55,
+                 from /usr/include/c++/8/bits/nested_exception.h:40,
+                 from /usr/include/c++/8/exception:144,
+                 from /usr/include/c++/8/ios:39,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/type_traits:549:42: error: ‘nullptr_t’ is not a member of ‘std’
+     struct __is_null_pointer_helper<std::nullptr_t>
+                                          ^~~~~~~~~
+/usr/include/c++/8/type_traits:549:42: note: suggested alternative:
+In file included from /usr/include/c++/8/bits/cxxabi_init_exception.h:38,
+                 from /usr/include/c++/8/bits/exception_ptr.h:38,
+                 from /usr/include/c++/8/exception:143,
+                 from /usr/include/c++/8/ios:39,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/lib/gcc/x86_64-linux-gnu/8/include/stddef.h:444:29: note:   ‘nullptr_t’
+   typedef decltype(nullptr) nullptr_t;
+                             ^~~~~~~~~
+In file included from /usr/include/c++/8/bits/move.h:55,
+                 from /usr/include/c++/8/bits/nested_exception.h:40,
+                 from /usr/include/c++/8/exception:144,
+                 from /usr/include/c++/8/ios:39,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/type_traits:549:51: error: template argument 1 is invalid
+     struct __is_null_pointer_helper<std::nullptr_t>
+                                                   ^
+/usr/include/c++/8/type_traits:1289:37: error: ‘size_t’ is not a member of ‘std’
+     : public integral_constant<std::size_t, alignof(_Tp)> { };
+                                     ^~~~~~
+/usr/include/c++/8/type_traits:1289:37: note: suggested alternative:
+In file included from /usr/include/wchar.h:35,
+                 from /usr/include/c++/8/cwchar:44,
+                 from /usr/include/c++/8/bits/postypes.h:40,
+                 from /usr/include/c++/8/iosfwd:40,
+                 from /usr/include/c++/8/ios:38,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/lib/gcc/x86_64-linux-gnu/8/include/stddef.h:216:23: note:   ‘size_t’
+ typedef __SIZE_TYPE__ size_t;
+                       ^~~~~~
+In file included from /usr/include/c++/8/bits/move.h:55,
+                 from /usr/include/c++/8/bits/nested_exception.h:40,
+                 from /usr/include/c++/8/exception:144,
+                 from /usr/include/c++/8/ios:39,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/type_traits:1289:37: error: ‘size_t’ is not a member of ‘std’
+     : public integral_constant<std::size_t, alignof(_Tp)> { };
+                                     ^~~~~~
+/usr/include/c++/8/type_traits:1289:37: note: suggested alternative:
+In file included from /usr/include/wchar.h:35,
+                 from /usr/include/c++/8/cwchar:44,
+                 from /usr/include/c++/8/bits/postypes.h:40,
+                 from /usr/include/c++/8/iosfwd:40,
+                 from /usr/include/c++/8/ios:38,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/lib/gcc/x86_64-linux-gnu/8/include/stddef.h:216:23: note:   ‘size_t’
+ typedef __SIZE_TYPE__ size_t;
+                       ^~~~~~
+In file included from /usr/include/c++/8/bits/move.h:55,
+                 from /usr/include/c++/8/bits/nested_exception.h:40,
+                 from /usr/include/c++/8/exception:144,
+                 from /usr/include/c++/8/ios:39,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/type_traits:1289:57: error: template argument 1 is invalid
+     : public integral_constant<std::size_t, alignof(_Tp)> { };
+                                                         ^
+/usr/include/c++/8/type_traits:1289:57: note: invalid template non-type parameter
+/usr/include/c++/8/type_traits:1294:37: error: ‘size_t’ is not a member of ‘std’
+     : public integral_constant<std::size_t, 0> { };
+                                     ^~~~~~
+/usr/include/c++/8/type_traits:1294:37: note: suggested alternative:
+In file included from /usr/include/wchar.h:35,
+                 from /usr/include/c++/8/cwchar:44,
+                 from /usr/include/c++/8/bits/postypes.h:40,
+                 from /usr/include/c++/8/iosfwd:40,
+                 from /usr/include/c++/8/ios:38,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/lib/gcc/x86_64-linux-gnu/8/include/stddef.h:216:23: note:   ‘size_t’
+ typedef __SIZE_TYPE__ size_t;
+                       ^~~~~~
+In file included from /usr/include/c++/8/bits/move.h:55,
+                 from /usr/include/c++/8/bits/nested_exception.h:40,
+                 from /usr/include/c++/8/exception:144,
+                 from /usr/include/c++/8/ios:39,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/type_traits:1294:37: error: ‘size_t’ is not a member of ‘std’
+     : public integral_constant<std::size_t, 0> { };
+                                     ^~~~~~
+/usr/include/c++/8/type_traits:1294:37: note: suggested alternative:
+In file included from /usr/include/wchar.h:35,
+                 from /usr/include/c++/8/cwchar:44,
+                 from /usr/include/c++/8/bits/postypes.h:40,
+                 from /usr/include/c++/8/iosfwd:40,
+                 from /usr/include/c++/8/ios:38,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/lib/gcc/x86_64-linux-gnu/8/include/stddef.h:216:23: note:   ‘size_t’
+ typedef __SIZE_TYPE__ size_t;
+                       ^~~~~~
+In file included from /usr/include/c++/8/bits/move.h:55,
+                 from /usr/include/c++/8/bits/nested_exception.h:40,
+                 from /usr/include/c++/8/exception:144,
+                 from /usr/include/c++/8/ios:39,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/type_traits:1294:46: error: template argument 1 is invalid
+     : public integral_constant<std::size_t, 0> { };
+                                              ^
+/usr/include/c++/8/type_traits:1294:46: note: invalid template non-type parameter
+/usr/include/c++/8/type_traits:1296:31: error: ‘std::size_t’ has not been declared
+   template<typename _Tp, std::size_t _Size>
+                               ^~~~~~
+/usr/include/c++/8/type_traits:1297:21: error: ‘_Size’ was not declared in this scope
+     struct rank<_Tp[_Size]>
+                     ^~~~~
+/usr/include/c++/8/type_traits:1297:27: error: template argument 1 is invalid
+     struct rank<_Tp[_Size]>
+                           ^
+/usr/include/c++/8/type_traits:1298:37: error: ‘size_t’ is not a member of ‘std’
+     : public integral_constant<std::size_t, 1 + rank<_Tp>::value> { };
+                                     ^~~~~~
+/usr/include/c++/8/type_traits:1298:37: note: suggested alternative:
+In file included from /usr/include/wchar.h:35,
+                 from /usr/include/c++/8/cwchar:44,
+                 from /usr/include/c++/8/bits/postypes.h:40,
+                 from /usr/include/c++/8/iosfwd:40,
+                 from /usr/include/c++/8/ios:38,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/lib/gcc/x86_64-linux-gnu/8/include/stddef.h:216:23: note:   ‘size_t’
+ typedef __SIZE_TYPE__ size_t;
+                       ^~~~~~
+In file included from /usr/include/c++/8/bits/move.h:55,
+                 from /usr/include/c++/8/bits/nested_exception.h:40,
+                 from /usr/include/c++/8/exception:144,
+                 from /usr/include/c++/8/ios:39,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/type_traits:1298:37: error: ‘size_t’ is not a member of ‘std’
+     : public integral_constant<std::size_t, 1 + rank<_Tp>::value> { };
+                                     ^~~~~~
+/usr/include/c++/8/type_traits:1298:37: note: suggested alternative:
+In file included from /usr/include/wchar.h:35,
+                 from /usr/include/c++/8/cwchar:44,
+                 from /usr/include/c++/8/bits/postypes.h:40,
+                 from /usr/include/c++/8/iosfwd:40,
+                 from /usr/include/c++/8/ios:38,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/lib/gcc/x86_64-linux-gnu/8/include/stddef.h:216:23: note:   ‘size_t’
+ typedef __SIZE_TYPE__ size_t;
+                       ^~~~~~
+In file included from /usr/include/c++/8/bits/move.h:55,
+                 from /usr/include/c++/8/bits/nested_exception.h:40,
+                 from /usr/include/c++/8/exception:144,
+                 from /usr/include/c++/8/ios:39,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/type_traits:1298:65: error: template argument 1 is invalid
+     : public integral_constant<std::size_t, 1 + rank<_Tp>::value> { };
+                                                                 ^
+/usr/include/c++/8/type_traits:1298:65: note: invalid template non-type parameter
+/usr/include/c++/8/type_traits:1302:37: error: ‘size_t’ is not a member of ‘std’
+     : public integral_constant<std::size_t, 1 + rank<_Tp>::value> { };
+                                     ^~~~~~
+/usr/include/c++/8/type_traits:1302:37: note: suggested alternative:
+In file included from /usr/include/wchar.h:35,
+                 from /usr/include/c++/8/cwchar:44,
+                 from /usr/include/c++/8/bits/postypes.h:40,
+                 from /usr/include/c++/8/iosfwd:40,
+                 from /usr/include/c++/8/ios:38,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/lib/gcc/x86_64-linux-gnu/8/include/stddef.h:216:23: note:   ‘size_t’
+ typedef __SIZE_TYPE__ size_t;
+                       ^~~~~~
+In file included from /usr/include/c++/8/bits/move.h:55,
+                 from /usr/include/c++/8/bits/nested_exception.h:40,
+                 from /usr/include/c++/8/exception:144,
+                 from /usr/include/c++/8/ios:39,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/type_traits:1302:37: error: ‘size_t’ is not a member of ‘std’
+     : public integral_constant<std::size_t, 1 + rank<_Tp>::value> { };
+                                     ^~~~~~
+/usr/include/c++/8/type_traits:1302:37: note: suggested alternative:
+In file included from /usr/include/wchar.h:35,
+                 from /usr/include/c++/8/cwchar:44,
+                 from /usr/include/c++/8/bits/postypes.h:40,
+                 from /usr/include/c++/8/iosfwd:40,
+                 from /usr/include/c++/8/ios:38,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/lib/gcc/x86_64-linux-gnu/8/include/stddef.h:216:23: note:   ‘size_t’
+ typedef __SIZE_TYPE__ size_t;
+                       ^~~~~~
+In file included from /usr/include/c++/8/bits/move.h:55,
+                 from /usr/include/c++/8/bits/nested_exception.h:40,
+                 from /usr/include/c++/8/exception:144,
+                 from /usr/include/c++/8/ios:39,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/type_traits:1302:65: error: template argument 1 is invalid
+     : public integral_constant<std::size_t, 1 + rank<_Tp>::value> { };
+                                                                 ^
+/usr/include/c++/8/type_traits:1302:65: note: invalid template non-type parameter
+/usr/include/c++/8/type_traits:1307:37: error: ‘size_t’ is not a member of ‘std’
+     : public integral_constant<std::size_t, 0> { };
+                                     ^~~~~~
+/usr/include/c++/8/type_traits:1307:37: note: suggested alternative:
+In file included from /usr/include/wchar.h:35,
+                 from /usr/include/c++/8/cwchar:44,
+                 from /usr/include/c++/8/bits/postypes.h:40,
+                 from /usr/include/c++/8/iosfwd:40,
+                 from /usr/include/c++/8/ios:38,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/lib/gcc/x86_64-linux-gnu/8/include/stddef.h:216:23: note:   ‘size_t’
+ typedef __SIZE_TYPE__ size_t;
+                       ^~~~~~
+In file included from /usr/include/c++/8/bits/move.h:55,
+                 from /usr/include/c++/8/bits/nested_exception.h:40,
+                 from /usr/include/c++/8/exception:144,
+                 from /usr/include/c++/8/ios:39,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/type_traits:1307:37: error: ‘size_t’ is not a member of ‘std’
+     : public integral_constant<std::size_t, 0> { };
+                                     ^~~~~~
+/usr/include/c++/8/type_traits:1307:37: note: suggested alternative:
+In file included from /usr/include/wchar.h:35,
+                 from /usr/include/c++/8/cwchar:44,
+                 from /usr/include/c++/8/bits/postypes.h:40,
+                 from /usr/include/c++/8/iosfwd:40,
+                 from /usr/include/c++/8/ios:38,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/lib/gcc/x86_64-linux-gnu/8/include/stddef.h:216:23: note:   ‘size_t’
+ typedef __SIZE_TYPE__ size_t;
+                       ^~~~~~
+In file included from /usr/include/c++/8/bits/move.h:55,
+                 from /usr/include/c++/8/bits/nested_exception.h:40,
+                 from /usr/include/c++/8/exception:144,
+                 from /usr/include/c++/8/ios:39,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/type_traits:1307:46: error: template argument 1 is invalid
+     : public integral_constant<std::size_t, 0> { };
+                                              ^
+/usr/include/c++/8/type_traits:1307:46: note: invalid template non-type parameter
+/usr/include/c++/8/type_traits:1309:47: error: ‘std::size_t’ has not been declared
+   template<typename _Tp, unsigned _Uint, std::size_t _Size>
+                                               ^~~~~~
+/usr/include/c++/8/type_traits:1310:23: error: ‘_Size’ was not declared in this scope
+     struct extent<_Tp[_Size], _Uint>
+                       ^~~~~
+/usr/include/c++/8/type_traits:1310:36: error: template argument 1 is invalid
+     struct extent<_Tp[_Size], _Uint>
+                                    ^
+/usr/include/c++/8/type_traits:1311:37: error: ‘size_t’ is not a member of ‘std’
+     : public integral_constant<std::size_t,
+                                     ^~~~~~
+/usr/include/c++/8/type_traits:1311:37: note: suggested alternative:
+In file included from /usr/include/wchar.h:35,
+                 from /usr/include/c++/8/cwchar:44,
+                 from /usr/include/c++/8/bits/postypes.h:40,
+                 from /usr/include/c++/8/iosfwd:40,
+                 from /usr/include/c++/8/ios:38,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/lib/gcc/x86_64-linux-gnu/8/include/stddef.h:216:23: note:   ‘size_t’
+ typedef __SIZE_TYPE__ size_t;
+                       ^~~~~~
+In file included from /usr/include/c++/8/bits/move.h:55,
+                 from /usr/include/c++/8/bits/nested_exception.h:40,
+                 from /usr/include/c++/8/exception:144,
+                 from /usr/include/c++/8/ios:39,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/type_traits:1311:37: error: ‘size_t’ is not a member of ‘std’
+     : public integral_constant<std::size_t,
+                                     ^~~~~~
+/usr/include/c++/8/type_traits:1311:37: note: suggested alternative:
+In file included from /usr/include/wchar.h:35,
+                 from /usr/include/c++/8/cwchar:44,
+                 from /usr/include/c++/8/bits/postypes.h:40,
+                 from /usr/include/c++/8/iosfwd:40,
+                 from /usr/include/c++/8/ios:38,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/lib/gcc/x86_64-linux-gnu/8/include/stddef.h:216:23: note:   ‘size_t’
+ typedef __SIZE_TYPE__ size_t;
+                       ^~~~~~
+In file included from /usr/include/c++/8/bits/move.h:55,
+                 from /usr/include/c++/8/bits/nested_exception.h:40,
+                 from /usr/include/c++/8/exception:144,
+                 from /usr/include/c++/8/ios:39,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/type_traits:1312:24: error: ‘_Size’ was not declared in this scope
+           _Uint == 0 ? _Size : extent<_Tp,
+                        ^~~~~
+/usr/include/c++/8/type_traits:1313:28: error: template argument 1 is invalid
+           _Uint - 1>::value>
+                            ^
+/usr/include/c++/8/type_traits:1313:28: note: invalid template non-type parameter
+/usr/include/c++/8/type_traits:1318:37: error: ‘size_t’ is not a member of ‘std’
+     : public integral_constant<std::size_t,
+                                     ^~~~~~
+/usr/include/c++/8/type_traits:1318:37: note: suggested alternative:
+In file included from /usr/include/wchar.h:35,
+                 from /usr/include/c++/8/cwchar:44,
+                 from /usr/include/c++/8/bits/postypes.h:40,
+                 from /usr/include/c++/8/iosfwd:40,
+                 from /usr/include/c++/8/ios:38,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/lib/gcc/x86_64-linux-gnu/8/include/stddef.h:216:23: note:   ‘size_t’
+ typedef __SIZE_TYPE__ size_t;
+                       ^~~~~~
+In file included from /usr/include/c++/8/bits/move.h:55,
+                 from /usr/include/c++/8/bits/nested_exception.h:40,
+                 from /usr/include/c++/8/exception:144,
+                 from /usr/include/c++/8/ios:39,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/type_traits:1318:37: error: ‘size_t’ is not a member of ‘std’
+     : public integral_constant<std::size_t,
+                                     ^~~~~~
+/usr/include/c++/8/type_traits:1318:37: note: suggested alternative:
+In file included from /usr/include/wchar.h:35,
+                 from /usr/include/c++/8/cwchar:44,
+                 from /usr/include/c++/8/bits/postypes.h:40,
+                 from /usr/include/c++/8/iosfwd:40,
+                 from /usr/include/c++/8/ios:38,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/lib/gcc/x86_64-linux-gnu/8/include/stddef.h:216:23: note:   ‘size_t’
+ typedef __SIZE_TYPE__ size_t;
+                       ^~~~~~
+In file included from /usr/include/c++/8/bits/move.h:55,
+                 from /usr/include/c++/8/bits/nested_exception.h:40,
+                 from /usr/include/c++/8/exception:144,
+                 from /usr/include/c++/8/ios:39,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/type_traits:1320:31: error: template argument 1 is invalid
+              _Uint - 1>::value>
+                               ^
+/usr/include/c++/8/type_traits:1320:31: note: invalid template non-type parameter
+/usr/include/c++/8/type_traits:1748:31: error: ‘std::size_t’ has not been declared
+   template<typename _Tp, std::size_t _Size>
+                               ^~~~~~
+/usr/include/c++/8/type_traits:1749:30: error: ‘_Size’ was not declared in this scope
+     struct remove_extent<_Tp[_Size]>
+                              ^~~~~
+/usr/include/c++/8/type_traits:1749:36: error: template argument 1 is invalid
+     struct remove_extent<_Tp[_Size]>
+                                    ^
+/usr/include/c++/8/type_traits:1761:31: error: ‘std::size_t’ has not been declared
+   template<typename _Tp, std::size_t _Size>
+                               ^~~~~~
+/usr/include/c++/8/type_traits:1762:35: error: ‘_Size’ was not declared in this scope
+     struct remove_all_extents<_Tp[_Size]>
+                                   ^~~~~
+/usr/include/c++/8/type_traits:1762:41: error: template argument 1 is invalid
+     struct remove_all_extents<_Tp[_Size]>
+                                         ^
+/usr/include/c++/8/type_traits:1820:17: error: ‘std::size_t’ has not been declared
+   template<std::size_t _Len>
+                 ^~~~~~
+/usr/include/c++/8/type_traits:1825:23: error: ‘_Len’ was not declared in this scope
+  unsigned char __data[_Len];
+                       ^~~~
+/usr/include/c++/8/type_traits:1840:17: error: ‘std::size_t’ has not been declared
+   template<std::size_t _Len, std::size_t _Align =
+                 ^~~~~~
+/usr/include/c++/8/type_traits:1840:35: error: ‘std::size_t’ has not been declared
+   template<std::size_t _Len, std::size_t _Align =
+                                   ^~~~~~
+/usr/include/c++/8/type_traits:1841:48: error: ‘_Len’ was not declared in this scope
+     __alignof__(typename __aligned_storage_msa<_Len>::__type)>
+                                                ^~~~
+/usr/include/c++/8/type_traits:1841:52: error: template argument 1 is invalid
+     __alignof__(typename __aligned_storage_msa<_Len>::__type)>
+                                                    ^
+/usr/include/c++/8/type_traits:1846:23: error: ‘_Len’ was not declared in this scope
+  unsigned char __data[_Len];
+                       ^~~~
+/usr/include/c++/8/type_traits:1847:37: error: ‘_Align’ was not declared in this scope
+  struct __attribute__((__aligned__((_Align)))) { } __align;
+                                     ^~~~~~
+In file included from /usr/include/c++/8/bits/stl_algobase.h:62,
+                 from /usr/include/c++/8/bits/char_traits.h:39,
+                 from /usr/include/c++/8/ios:40,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/ext/type_traits.h:162:35: error: ‘bool __gnu_cxx::__is_null_pointer’ redeclared as different kind of symbol
+   __is_null_pointer(std::nullptr_t)
+                                   ^
+/usr/include/c++/8/ext/type_traits.h:157:5: note: previous declaration ‘template<class _Type> bool __gnu_cxx::__is_null_pointer(_Type)’
+     __is_null_pointer(_Type)
+     ^~~~~~~~~~~~~~~~~
+/usr/include/c++/8/ext/type_traits.h:162:26: error: ‘nullptr_t’ is not a member of ‘std’
+   __is_null_pointer(std::nullptr_t)
+                          ^~~~~~~~~
+/usr/include/c++/8/ext/type_traits.h:162:26: note: suggested alternative:
+In file included from /usr/include/c++/8/bits/cxxabi_init_exception.h:38,
+                 from /usr/include/c++/8/bits/exception_ptr.h:38,
+                 from /usr/include/c++/8/exception:143,
+                 from /usr/include/c++/8/ios:39,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/lib/gcc/x86_64-linux-gnu/8/include/stddef.h:444:29: note:   ‘nullptr_t’
+   typedef decltype(nullptr) nullptr_t;
+                             ^~~~~~~~~
+In file included from /usr/include/c++/8/bits/stl_algobase.h:64,
+                 from /usr/include/c++/8/bits/char_traits.h:39,
+                 from /usr/include/c++/8/ios:40,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/stl_pair.h:86:17: error: ‘std::size_t’ has not been declared
+   template<std::size_t...>
+                 ^~~~~~
+/usr/include/c++/8/bits/stl_pair.h:434:41: error: ‘std::size_t’ has not been declared
+       template<typename... _Args1, std::size_t... _Indexes1,
+                                         ^~~~~~
+/usr/include/c++/8/bits/stl_pair.h:435:41: error: ‘std::size_t’ has not been declared
+                typename... _Args2, std::size_t... _Indexes2>
+                                         ^~~~~~
+/usr/include/c++/8/bits/stl_pair.h:437:27: error: ‘_Indexes1’ was not declared in this scope
+              _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>);
+                           ^~~~~~~~~
+/usr/include/c++/8/bits/stl_pair.h:437:27: note: suggested alternative: ‘_Index_tuple’
+              _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>);
+                           ^~~~~~~~~
+                           _Index_tuple
+/usr/include/c++/8/bits/stl_pair.h:437:36: error: expected parameter pack before ‘...’
+              _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>);
+                                    ^~~
+/usr/include/c++/8/bits/stl_pair.h:437:39: error: template argument 1 is invalid
+              _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>);
+                                       ^
+/usr/include/c++/8/bits/stl_pair.h:437:55: error: ‘_Indexes2’ was not declared in this scope
+              _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>);
+                                                       ^~~~~~~~~
+/usr/include/c++/8/bits/stl_pair.h:437:55: note: suggested alternative: ‘_Index_tuple’
+              _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>);
+                                                       ^~~~~~~~~
+                                                       _Index_tuple
+/usr/include/c++/8/bits/stl_pair.h:437:64: error: expected parameter pack before ‘...’
+              _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>);
+                                                                ^~~
+/usr/include/c++/8/bits/stl_pair.h:437:67: error: template argument 1 is invalid
+              _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>);
+                                                                   ^
+In file included from /usr/include/c++/8/ios:40,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/char_traits.h:108:66: error: ‘std::size_t’ has not been declared
+       compare(const char_type* __s1, const char_type* __s2, std::size_t __n);
+                                                                  ^~~~~~
+/usr/include/c++/8/bits/char_traits.h:110:40: error: ‘size_t’ in namespace ‘std’ does not name a type
+       static _GLIBCXX14_CONSTEXPR std::size_t
+                                        ^~~~~~
+/usr/include/c++/8/bits/char_traits.h:114:39: error: ‘std::size_t’ has not been declared
+       find(const char_type* __s, std::size_t __n, const char_type& __a);
+                                       ^~~~~~
+/usr/include/c++/8/bits/char_traits.h:117:57: error: ‘std::size_t’ has not been declared
+       move(char_type* __s1, const char_type* __s2, std::size_t __n);
+                                                         ^~~~~~
+/usr/include/c++/8/bits/char_traits.h:120:57: error: ‘std::size_t’ has not been declared
+       copy(char_type* __s1, const char_type* __s2, std::size_t __n);
+                                                         ^~~~~~
+/usr/include/c++/8/bits/char_traits.h:123:35: error: ‘std::size_t’ has not been declared
+       assign(char_type* __s, std::size_t __n, char_type __a);
+                                   ^~~~~~
+/usr/include/c++/8/bits/char_traits.h:149:64: error: ‘std::size_t’ has not been declared
+     compare(const char_type* __s1, const char_type* __s2, std::size_t __n)
+                                                                ^~~~~~
+/usr/include/c++/8/bits/char_traits.h: In static member function ‘static constexpr int __gnu_cxx::char_traits<_CharT>::compare(const char_type*, const char_type*, int)’:
+/usr/include/c++/8/bits/char_traits.h:151:17: error: ‘size_t’ is not a member of ‘std’
+       for (std::size_t __i = 0; __i < __n; ++__i)
+                 ^~~~~~
+/usr/include/c++/8/bits/char_traits.h:151:17: note: suggested alternative:
+In file included from /usr/include/wchar.h:35,
+                 from /usr/include/c++/8/cwchar:44,
+                 from /usr/include/c++/8/bits/postypes.h:40,
+                 from /usr/include/c++/8/iosfwd:40,
+                 from /usr/include/c++/8/ios:38,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/lib/gcc/x86_64-linux-gnu/8/include/stddef.h:216:23: note:   ‘size_t’
+ typedef __SIZE_TYPE__ size_t;
+                       ^~~~~~
+In file included from /usr/include/c++/8/ios:40,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/char_traits.h:151:33: error: ‘__i’ was not declared in this scope
+       for (std::size_t __i = 0; __i < __n; ++__i)
+                                 ^~~
+/usr/include/c++/8/bits/char_traits.h:151:33: note: suggested alternative: ‘__n’
+       for (std::size_t __i = 0; __i < __n; ++__i)
+                                 ^~~
+                                 __n
+/usr/include/c++/8/bits/char_traits.h: At global scope:
+/usr/include/c++/8/bits/char_traits.h:160:31: error: ‘size_t’ in namespace ‘std’ does not name a type
+     _GLIBCXX14_CONSTEXPR std::size_t
+                               ^~~~~~
+/usr/include/c++/8/bits/char_traits.h:173:37: error: ‘std::size_t’ has not been declared
+     find(const char_type* __s, std::size_t __n, const char_type& __a)
+                                     ^~~~~~
+/usr/include/c++/8/bits/char_traits.h: In static member function ‘static constexpr const char_type* __gnu_cxx::char_traits<_CharT>::find(const char_type*, int, const char_type&)’:
+/usr/include/c++/8/bits/char_traits.h:175:17: error: ‘size_t’ is not a member of ‘std’
+       for (std::size_t __i = 0; __i < __n; ++__i)
+                 ^~~~~~
+/usr/include/c++/8/bits/char_traits.h:175:17: note: suggested alternative:
+In file included from /usr/include/wchar.h:35,
+                 from /usr/include/c++/8/cwchar:44,
+                 from /usr/include/c++/8/bits/postypes.h:40,
+                 from /usr/include/c++/8/iosfwd:40,
+                 from /usr/include/c++/8/ios:38,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/lib/gcc/x86_64-linux-gnu/8/include/stddef.h:216:23: note:   ‘size_t’
+ typedef __SIZE_TYPE__ size_t;
+                       ^~~~~~
+In file included from /usr/include/c++/8/ios:40,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/char_traits.h:175:33: error: ‘__i’ was not declared in this scope
+       for (std::size_t __i = 0; __i < __n; ++__i)
+                                 ^~~
+/usr/include/c++/8/bits/char_traits.h:175:33: note: suggested alternative: ‘__s’
+       for (std::size_t __i = 0; __i < __n; ++__i)
+                                 ^~~
+                                 __s
+/usr/include/c++/8/bits/char_traits.h: At global scope:
+/usr/include/c++/8/bits/char_traits.h:184:55: error: ‘std::size_t’ has not been declared
+     move(char_type* __s1, const char_type* __s2, std::size_t __n)
+                                                       ^~~~~~
+/usr/include/c++/8/bits/char_traits.h:195:55: error: ‘std::size_t’ has not been declared
+     copy(char_type* __s1, const char_type* __s2, std::size_t __n)
+                                                       ^~~~~~
+/usr/include/c++/8/bits/char_traits.h:205:33: error: ‘std::size_t’ has not been declared
+     assign(char_type* __s, std::size_t __n, char_type __a)
+                                 ^~~~~~
+In file included from /usr/include/x86_64-linux-gnu/c++/8/bits/c++allocator.h:33,
+                 from /usr/include/c++/8/bits/allocator.h:46,
+                 from /usr/include/c++/8/string:41,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/ext/new_allocator.h:44:14: error: ‘std::size_t’ has not been declared
+   using std::size_t;
+              ^~~~~~
+/usr/include/c++/8/ext/new_allocator.h:45:14: error: ‘std::ptrdiff_t’ has not been declared
+   using std::ptrdiff_t;
+              ^~~~~~~~~
+In file included from /usr/include/c++/8/string:44,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/ostream_insert.h:45:26: error: ‘streamsize’ has not been declared
+       const _CharT* __s, streamsize __n)
+                          ^~~~~~~~~~
+/usr/include/c++/8/bits/ostream_insert.h: In function ‘void std::__ostream_write(std::basic_ostream<_CharT, _Traits>&, const _CharT*, int)’:
+/usr/include/c++/8/bits/ostream_insert.h:50:13: error: ‘streamsize’ does not name a type; did you mean ‘streambuf’?
+       const streamsize __put = __out.rdbuf()->sputn(__s, __n);
+             ^~~~~~~~~~
+             streambuf
+/usr/include/c++/8/bits/ostream_insert.h:51:11: error: ‘__put’ was not declared in this scope
+       if (__put != __n)
+           ^~~~~
+/usr/include/c++/8/bits/ostream_insert.h:51:11: note: suggested alternative: ‘__out’
+       if (__put != __n)
+           ^~~~~
+           __out
+/usr/include/c++/8/bits/ostream_insert.h: At global scope:
+/usr/include/c++/8/bits/ostream_insert.h:57:59: error: ‘streamsize’ has not been declared
+     __ostream_fill(basic_ostream<_CharT, _Traits>& __out, streamsize __n)
+                                                           ^~~~~~~~~~
+/usr/include/c++/8/bits/ostream_insert.h:77:27: error: ‘streamsize’ has not been declared
+        const _CharT* __s, streamsize __n)
+                           ^~~~~~~~~~
+/usr/include/c++/8/bits/ostream_insert.h: In function ‘std::basic_ostream<_CharT, _Traits>& std::__ostream_insert(std::basic_ostream<_CharT, _Traits>&, const _CharT*, int)’:
+/usr/include/c++/8/bits/ostream_insert.h:87:14: error: ‘streamsize’ does not name a type; did you mean ‘streambuf’?
+        const streamsize __w = __out.width();
+              ^~~~~~~~~~
+              streambuf
+/usr/include/c++/8/bits/ostream_insert.h:88:12: error: ‘__w’ was not declared in this scope
+        if (__w > __n)
+            ^~~
+/usr/include/c++/8/bits/ostream_insert.h:88:12: note: suggested alternative: ‘__s’
+        if (__w > __n)
+            ^~~
+            __s
+/usr/include/c++/8/bits/ostream_insert.h: At global scope:
+/usr/include/c++/8/bits/ostream_insert.h:118:68: error: ‘streamsize’ has not been declared
+   extern template ostream& __ostream_insert(ostream&, const char*, streamsize);
+                                                                    ^~~~~~~~~~
+/usr/include/c++/8/bits/ostream_insert.h:122:11: error: ‘streamsize’ has not been declared
+           streamsize);
+           ^~~~~~~~~~
+In file included from /usr/include/c++/8/ext/alloc_traits.h:36,
+                 from /usr/include/c++/8/bits/basic_string.h:40,
+                 from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/alloc_traits.h:404:36: error: ‘ptrdiff_t’ in namespace ‘std’ does not name a type
+       using difference_type = std::ptrdiff_t;
+                                    ^~~~~~~~~
+/usr/include/c++/8/bits/alloc_traits.h:407:30: error: ‘size_t’ in namespace ‘std’ does not name a type
+       using size_type = std::size_t;
+                              ^~~~~~
+/usr/include/c++/8/bits/alloc_traits.h:407:25: note: suggested alternative: ‘time_put’
+       using size_type = std::size_t;
+                         ^~~
+                         time_put
+/usr/include/c++/8/bits/alloc_traits.h:435:37: error: ‘size_type’ has not been declared
+       allocate(allocator_type& __a, size_type __n)
+                                     ^~~~~~~~~
+/usr/include/c++/8/bits/alloc_traits.h:449:37: error: ‘size_type’ has not been declared
+       allocate(allocator_type& __a, size_type __n, const_void_pointer __hint)
+                                     ^~~~~~~~~
+/usr/include/c++/8/bits/alloc_traits.h:461:52: error: ‘size_type’ has not been declared
+       deallocate(allocator_type& __a, pointer __p, size_type __n)
+                                                    ^~~~~~~~~
+/usr/include/c++/8/bits/alloc_traits.h:494:14: error: ‘size_type’ does not name a type; did you mean ‘true_type’?
+       static size_type
+              ^~~~~~~~~
+              true_type
+In file included from /usr/include/c++/8/bits/basic_string.h:6400,
+                 from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/ext/string_conversions.h:55:51: error: ‘std::size_t’ has not been declared
+     const char* __name, const _CharT* __str, std::size_t* __idx,
+                                                   ^~~~~~
+/usr/include/c++/8/ext/string_conversions.h:99:48: error: ‘std::size_t’ has not been declared
+     __to_xstring(int (*__convf) (_CharT*, std::size_t, const _CharT*,
+                                                ^~~~~~
+/usr/include/c++/8/ext/string_conversions.h:100:31: error: ‘std::size_t’ has not been declared
+      __builtin_va_list), std::size_t __n,
+                               ^~~~~~
+In file included from /usr/include/c++/8/bits/basic_string.h:40,
+                 from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/ext/alloc_traits.h: In instantiation of ‘struct __gnu_cxx::__alloc_traits<std::allocator<char>, char>’:
+/usr/include/c++/8/bits/basic_string.h:80:24:   required from ‘class std::__cxx11::basic_string<char>’
+/usr/include/c++/8/bits/basic_string.h:6411:68:   required from here
+/usr/include/c++/8/ext/alloc_traits.h:61:53: error: no type named ‘size_type’ in ‘struct std::allocator_traits<std::allocator<char> >’
+     typedef typename _Base_type::size_type          size_type;
+                                                     ^~~~~~~~~
+/usr/include/c++/8/ext/alloc_traits.h:62:53: error: no type named ‘difference_type’ in ‘struct std::allocator_traits<std::allocator<char> >’
+     typedef typename _Base_type::difference_type    difference_type;
+                                                     ^~~~~~~~~~~~~~~
+/usr/include/c++/8/ext/alloc_traits.h:70:23: error: no members matching ‘__gnu_cxx::__alloc_traits<std::allocator<char>, char>::_Base_type {aka std::allocator_traits<std::allocator<char> >}::max_size’ in ‘__gnu_cxx::__alloc_traits<std::allocator<char>, char>::_Base_type’ {aka ‘struct std::allocator_traits<std::allocator<char> >’}
+     using _Base_type::max_size;
+                       ^~~~~~~~
+In file included from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/basic_string.h: In function ‘int std::__cxx11::stoi(const string&, size_t*, int)’:
+/usr/include/c++/8/bits/basic_string.h:6412:19: error: no matching function for call to ‘__stoa<long int, int>(long int (*)(const char*, char**, int) throw (), const char [5], const char*, size_t*&, int&)’
+      __idx, __base); }
+                   ^
+In file included from /usr/include/c++/8/bits/basic_string.h:6400,
+                 from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/ext/string_conversions.h:54:5: note: candidate: ‘template<class _TRet, class _Ret, class _CharT, class ... _Base> _Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, int*, _Base ...)’
+     __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...),
+     ^~~~~~
+/usr/include/c++/8/ext/string_conversions.h:54:5: note:   template argument deduction/substitution failed:
+In file included from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/basic_string.h:6412:6: note:   cannot convert ‘__idx’ (type ‘size_t*’ {aka ‘long unsigned int*’}) to type ‘int*’
+      __idx, __base); }
+      ^~~~~
+/usr/include/c++/8/bits/basic_string.h: In function ‘long int std::__cxx11::stol(const string&, size_t*, int)’:
+/usr/include/c++/8/bits/basic_string.h:6417:22: error: no matching function for call to ‘__stoa(long int (*)(const char*, char**, int) throw (), const char [5], const char*, size_t*&, int&)’
+         __idx, __base); }
+                      ^
+In file included from /usr/include/c++/8/bits/basic_string.h:6400,
+                 from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/ext/string_conversions.h:54:5: note: candidate: ‘template<class _TRet, class _Ret, class _CharT, class ... _Base> _Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, int*, _Base ...)’
+     __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...),
+     ^~~~~~
+/usr/include/c++/8/ext/string_conversions.h:54:5: note:   template argument deduction/substitution failed:
+In file included from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/basic_string.h:6417:9: note:   cannot convert ‘__idx’ (type ‘size_t*’ {aka ‘long unsigned int*’}) to type ‘int*’
+         __idx, __base); }
+         ^~~~~
+/usr/include/c++/8/bits/basic_string.h: In function ‘long unsigned int std::__cxx11::stoul(const string&, size_t*, int)’:
+/usr/include/c++/8/bits/basic_string.h:6422:22: error: no matching function for call to ‘__stoa(long unsigned int (*)(const char*, char**, int) throw (), const char [6], const char*, size_t*&, int&)’
+         __idx, __base); }
+                      ^
+In file included from /usr/include/c++/8/bits/basic_string.h:6400,
+                 from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/ext/string_conversions.h:54:5: note: candidate: ‘template<class _TRet, class _Ret, class _CharT, class ... _Base> _Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, int*, _Base ...)’
+     __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...),
+     ^~~~~~
+/usr/include/c++/8/ext/string_conversions.h:54:5: note:   template argument deduction/substitution failed:
+In file included from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/basic_string.h:6422:9: note:   cannot convert ‘__idx’ (type ‘size_t*’ {aka ‘long unsigned int*’}) to type ‘int*’
+         __idx, __base); }
+         ^~~~~
+/usr/include/c++/8/bits/basic_string.h: In function ‘long long int std::__cxx11::stoll(const string&, size_t*, int)’:
+/usr/include/c++/8/bits/basic_string.h:6427:22: error: no matching function for call to ‘__stoa(long long int (*)(const char*, char**, int) throw (), const char [6], const char*, size_t*&, int&)’
+         __idx, __base); }
+                      ^
+In file included from /usr/include/c++/8/bits/basic_string.h:6400,
+                 from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/ext/string_conversions.h:54:5: note: candidate: ‘template<class _TRet, class _Ret, class _CharT, class ... _Base> _Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, int*, _Base ...)’
+     __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...),
+     ^~~~~~
+/usr/include/c++/8/ext/string_conversions.h:54:5: note:   template argument deduction/substitution failed:
+In file included from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/basic_string.h:6427:9: note:   cannot convert ‘__idx’ (type ‘size_t*’ {aka ‘long unsigned int*’}) to type ‘int*’
+         __idx, __base); }
+         ^~~~~
+/usr/include/c++/8/bits/basic_string.h: In function ‘long long unsigned int std::__cxx11::stoull(const string&, size_t*, int)’:
+/usr/include/c++/8/bits/basic_string.h:6432:22: error: no matching function for call to ‘__stoa(long long unsigned int (*)(const char*, char**, int) throw (), const char [7], const char*, size_t*&, int&)’
+         __idx, __base); }
+                      ^
+In file included from /usr/include/c++/8/bits/basic_string.h:6400,
+                 from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/ext/string_conversions.h:54:5: note: candidate: ‘template<class _TRet, class _Ret, class _CharT, class ... _Base> _Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, int*, _Base ...)’
+     __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...),
+     ^~~~~~
+/usr/include/c++/8/ext/string_conversions.h:54:5: note:   template argument deduction/substitution failed:
+In file included from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/basic_string.h:6432:9: note:   cannot convert ‘__idx’ (type ‘size_t*’ {aka ‘long unsigned int*’}) to type ‘int*’
+         __idx, __base); }
+         ^~~~~
+/usr/include/c++/8/bits/basic_string.h: In function ‘float std::__cxx11::stof(const string&, size_t*)’:
+/usr/include/c++/8/bits/basic_string.h:6437:72: error: no matching function for call to ‘__stoa(float (*)(const char*, char**) throw (), const char [5], const char*, size_t*&)’
+   { return __gnu_cxx::__stoa(&std::strtof, "stof", __str.c_str(), __idx); }
+                                                                        ^
+In file included from /usr/include/c++/8/bits/basic_string.h:6400,
+                 from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/ext/string_conversions.h:54:5: note: candidate: ‘template<class _TRet, class _Ret, class _CharT, class ... _Base> _Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, int*, _Base ...)’
+     __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...),
+     ^~~~~~
+/usr/include/c++/8/ext/string_conversions.h:54:5: note:   template argument deduction/substitution failed:
+In file included from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/basic_string.h:6437:67: note:   cannot convert ‘__idx’ (type ‘size_t*’ {aka ‘long unsigned int*’}) to type ‘int*’
+   { return __gnu_cxx::__stoa(&std::strtof, "stof", __str.c_str(), __idx); }
+                                                                   ^~~~~
+/usr/include/c++/8/bits/basic_string.h: In function ‘double std::__cxx11::stod(const string&, size_t*)’:
+/usr/include/c++/8/bits/basic_string.h:6441:72: error: no matching function for call to ‘__stoa(double (*)(const char*, char**) throw (), const char [5], const char*, size_t*&)’
+   { return __gnu_cxx::__stoa(&std::strtod, "stod", __str.c_str(), __idx); }
+                                                                        ^
+In file included from /usr/include/c++/8/bits/basic_string.h:6400,
+                 from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/ext/string_conversions.h:54:5: note: candidate: ‘template<class _TRet, class _Ret, class _CharT, class ... _Base> _Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, int*, _Base ...)’
+     __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...),
+     ^~~~~~
+/usr/include/c++/8/ext/string_conversions.h:54:5: note:   template argument deduction/substitution failed:
+In file included from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/basic_string.h:6441:67: note:   cannot convert ‘__idx’ (type ‘size_t*’ {aka ‘long unsigned int*’}) to type ‘int*’
+   { return __gnu_cxx::__stoa(&std::strtod, "stod", __str.c_str(), __idx); }
+                                                                   ^~~~~
+/usr/include/c++/8/bits/basic_string.h: In function ‘long double std::__cxx11::stold(const string&, size_t*)’:
+/usr/include/c++/8/bits/basic_string.h:6445:74: error: no matching function for call to ‘__stoa(long double (*)(const char*, char**) throw (), const char [6], const char*, size_t*&)’
+   { return __gnu_cxx::__stoa(&std::strtold, "stold", __str.c_str(), __idx); }
+                                                                          ^
+In file included from /usr/include/c++/8/bits/basic_string.h:6400,
+                 from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/ext/string_conversions.h:54:5: note: candidate: ‘template<class _TRet, class _Ret, class _CharT, class ... _Base> _Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, int*, _Base ...)’
+     __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...),
+     ^~~~~~
+/usr/include/c++/8/ext/string_conversions.h:54:5: note:   template argument deduction/substitution failed:
+In file included from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/basic_string.h:6445:69: note:   cannot convert ‘__idx’ (type ‘size_t*’ {aka ‘long unsigned int*’}) to type ‘int*’
+   { return __gnu_cxx::__stoa(&std::strtold, "stold", __str.c_str(), __idx); }
+                                                                     ^~~~~
+/usr/include/c++/8/bits/basic_string.h: In function ‘std::__cxx11::string std::__cxx11::to_string(int)’:
+/usr/include/c++/8/bits/basic_string.h:6455:20: error: no matching function for call to ‘__to_xstring<std::__cxx11::string>(int (*)(char*, size_t, const char*, __va_list_tag*) throw (), long unsigned int, const char [3], int&)’
+         "%d", __val); }
+                    ^
+In file included from /usr/include/c++/8/bits/basic_string.h:6400,
+                 from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/ext/string_conversions.h:99:5: note: candidate: ‘template<class _String, class _CharT> _String __gnu_cxx::__to_xstring(int (*)(_CharT*, int, const _CharT*, __va_list_tag*), int, const _CharT*, ...)’
+     __to_xstring(int (*__convf) (_CharT*, std::size_t, const _CharT*,
+     ^~~~~~~~~~~~
+/usr/include/c++/8/ext/string_conversions.h:99:5: note:   template argument deduction/substitution failed:
+In file included from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/basic_string.h:6455:20: note:   mismatched types ‘int’ and ‘size_t’ {aka ‘long unsigned int’}
+         "%d", __val); }
+                    ^
+/usr/include/c++/8/bits/basic_string.h: In function ‘std::__cxx11::string std::__cxx11::to_string(unsigned int)’:
+/usr/include/c++/8/bits/basic_string.h:6461:20: error: no matching function for call to ‘__to_xstring<std::__cxx11::string>(int (*)(char*, size_t, const char*, __va_list_tag*) throw (), long unsigned int, const char [3], unsigned int&)’
+         "%u", __val); }
+                    ^
+In file included from /usr/include/c++/8/bits/basic_string.h:6400,
+                 from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/ext/string_conversions.h:99:5: note: candidate: ‘template<class _String, class _CharT> _String __gnu_cxx::__to_xstring(int (*)(_CharT*, int, const _CharT*, __va_list_tag*), int, const _CharT*, ...)’
+     __to_xstring(int (*__convf) (_CharT*, std::size_t, const _CharT*,
+     ^~~~~~~~~~~~
+/usr/include/c++/8/ext/string_conversions.h:99:5: note:   template argument deduction/substitution failed:
+In file included from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/basic_string.h:6461:20: note:   mismatched types ‘int’ and ‘size_t’ {aka ‘long unsigned int’}
+         "%u", __val); }
+                    ^
+/usr/include/c++/8/bits/basic_string.h: In function ‘std::__cxx11::string std::__cxx11::to_string(long int)’:
+/usr/include/c++/8/bits/basic_string.h:6466:21: error: no matching function for call to ‘__to_xstring<std::__cxx11::string>(int (*)(char*, size_t, const char*, __va_list_tag*) throw (), long unsigned int, const char [4], long int&)’
+         "%ld", __val); }
+                     ^
+In file included from /usr/include/c++/8/bits/basic_string.h:6400,
+                 from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/ext/string_conversions.h:99:5: note: candidate: ‘template<class _String, class _CharT> _String __gnu_cxx::__to_xstring(int (*)(_CharT*, int, const _CharT*, __va_list_tag*), int, const _CharT*, ...)’
+     __to_xstring(int (*__convf) (_CharT*, std::size_t, const _CharT*,
+     ^~~~~~~~~~~~
+/usr/include/c++/8/ext/string_conversions.h:99:5: note:   template argument deduction/substitution failed:
+In file included from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/basic_string.h:6466:21: note:   mismatched types ‘int’ and ‘size_t’ {aka ‘long unsigned int’}
+         "%ld", __val); }
+                     ^
+/usr/include/c++/8/bits/basic_string.h: In function ‘std::__cxx11::string std::__cxx11::to_string(long unsigned int)’:
+/usr/include/c++/8/bits/basic_string.h:6472:21: error: no matching function for call to ‘__to_xstring<std::__cxx11::string>(int (*)(char*, size_t, const char*, __va_list_tag*) throw (), long unsigned int, const char [4], long unsigned int&)’
+         "%lu", __val); }
+                     ^
+In file included from /usr/include/c++/8/bits/basic_string.h:6400,
+                 from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/ext/string_conversions.h:99:5: note: candidate: ‘template<class _String, class _CharT> _String __gnu_cxx::__to_xstring(int (*)(_CharT*, int, const _CharT*, __va_list_tag*), int, const _CharT*, ...)’
+     __to_xstring(int (*__convf) (_CharT*, std::size_t, const _CharT*,
+     ^~~~~~~~~~~~
+/usr/include/c++/8/ext/string_conversions.h:99:5: note:   template argument deduction/substitution failed:
+In file included from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/basic_string.h:6472:21: note:   mismatched types ‘int’ and ‘size_t’ {aka ‘long unsigned int’}
+         "%lu", __val); }
+                     ^
+/usr/include/c++/8/bits/basic_string.h: In function ‘std::__cxx11::string std::__cxx11::to_string(long long int)’:
+/usr/include/c++/8/bits/basic_string.h:6478:22: error: no matching function for call to ‘__to_xstring<std::__cxx11::string>(int (*)(char*, size_t, const char*, __va_list_tag*) throw (), long unsigned int, const char [5], long long int&)’
+         "%lld", __val); }
+                      ^
+In file included from /usr/include/c++/8/bits/basic_string.h:6400,
+                 from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/ext/string_conversions.h:99:5: note: candidate: ‘template<class _String, class _CharT> _String __gnu_cxx::__to_xstring(int (*)(_CharT*, int, const _CharT*, __va_list_tag*), int, const _CharT*, ...)’
+     __to_xstring(int (*__convf) (_CharT*, std::size_t, const _CharT*,
+     ^~~~~~~~~~~~
+/usr/include/c++/8/ext/string_conversions.h:99:5: note:   template argument deduction/substitution failed:
+In file included from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/basic_string.h:6478:22: note:   mismatched types ‘int’ and ‘size_t’ {aka ‘long unsigned int’}
+         "%lld", __val); }
+                      ^
+/usr/include/c++/8/bits/basic_string.h: In function ‘std::__cxx11::string std::__cxx11::to_string(long long unsigned int)’:
+/usr/include/c++/8/bits/basic_string.h:6484:22: error: no matching function for call to ‘__to_xstring<std::__cxx11::string>(int (*)(char*, size_t, const char*, __va_list_tag*) throw (), long unsigned int, const char [5], long long unsigned int&)’
+         "%llu", __val); }
+                      ^
+In file included from /usr/include/c++/8/bits/basic_string.h:6400,
+                 from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/ext/string_conversions.h:99:5: note: candidate: ‘template<class _String, class _CharT> _String __gnu_cxx::__to_xstring(int (*)(_CharT*, int, const _CharT*, __va_list_tag*), int, const _CharT*, ...)’
+     __to_xstring(int (*__convf) (_CharT*, std::size_t, const _CharT*,
+     ^~~~~~~~~~~~
+/usr/include/c++/8/ext/string_conversions.h:99:5: note:   template argument deduction/substitution failed:
+In file included from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/basic_string.h:6484:22: note:   mismatched types ‘int’ and ‘size_t’ {aka ‘long unsigned int’}
+         "%llu", __val); }
+                      ^
+/usr/include/c++/8/bits/basic_string.h: In function ‘std::__cxx11::string std::__cxx11::to_string(float)’:
+/usr/include/c++/8/bits/basic_string.h:6492:20: error: no matching function for call to ‘__to_xstring<std::__cxx11::string>(int (*)(char*, size_t, const char*, __va_list_tag*) throw (), const int&, const char [3], float&)’
+         "%f", __val);
+                    ^
+In file included from /usr/include/c++/8/bits/basic_string.h:6400,
+                 from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/ext/string_conversions.h:99:5: note: candidate: ‘template<class _String, class _CharT> _String __gnu_cxx::__to_xstring(int (*)(_CharT*, int, const _CharT*, __va_list_tag*), int, const _CharT*, ...)’
+     __to_xstring(int (*__convf) (_CharT*, std::size_t, const _CharT*,
+     ^~~~~~~~~~~~
+/usr/include/c++/8/ext/string_conversions.h:99:5: note:   template argument deduction/substitution failed:
+In file included from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/basic_string.h:6492:20: note:   mismatched types ‘int’ and ‘size_t’ {aka ‘long unsigned int’}
+         "%f", __val);
+                    ^
+/usr/include/c++/8/bits/basic_string.h: In function ‘std::__cxx11::string std::__cxx11::to_string(double)’:
+/usr/include/c++/8/bits/basic_string.h:6501:20: error: no matching function for call to ‘__to_xstring<std::__cxx11::string>(int (*)(char*, size_t, const char*, __va_list_tag*) throw (), const int&, const char [3], double&)’
+         "%f", __val);
+                    ^
+In file included from /usr/include/c++/8/bits/basic_string.h:6400,
+                 from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/ext/string_conversions.h:99:5: note: candidate: ‘template<class _String, class _CharT> _String __gnu_cxx::__to_xstring(int (*)(_CharT*, int, const _CharT*, __va_list_tag*), int, const _CharT*, ...)’
+     __to_xstring(int (*__convf) (_CharT*, std::size_t, const _CharT*,
+     ^~~~~~~~~~~~
+/usr/include/c++/8/ext/string_conversions.h:99:5: note:   template argument deduction/substitution failed:
+In file included from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/basic_string.h:6501:20: note:   mismatched types ‘int’ and ‘size_t’ {aka ‘long unsigned int’}
+         "%f", __val);
+                    ^
+/usr/include/c++/8/bits/basic_string.h: In function ‘std::__cxx11::string std::__cxx11::to_string(long double)’:
+/usr/include/c++/8/bits/basic_string.h:6510:21: error: no matching function for call to ‘__to_xstring<std::__cxx11::string>(int (*)(char*, size_t, const char*, __va_list_tag*) throw (), const int&, const char [4], long double&)’
+         "%Lf", __val);
+                     ^
+In file included from /usr/include/c++/8/bits/basic_string.h:6400,
+                 from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/ext/string_conversions.h:99:5: note: candidate: ‘template<class _String, class _CharT> _String __gnu_cxx::__to_xstring(int (*)(_CharT*, int, const _CharT*, __va_list_tag*), int, const _CharT*, ...)’
+     __to_xstring(int (*__convf) (_CharT*, std::size_t, const _CharT*,
+     ^~~~~~~~~~~~
+/usr/include/c++/8/ext/string_conversions.h:99:5: note:   template argument deduction/substitution failed:
+In file included from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/basic_string.h:6510:21: note:   mismatched types ‘int’ and ‘size_t’ {aka ‘long unsigned int’}
+         "%Lf", __val);
+                     ^
+In file included from /usr/include/c++/8/bits/basic_string.h:40,
+                 from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/ext/alloc_traits.h: In instantiation of ‘struct __gnu_cxx::__alloc_traits<std::allocator<wchar_t>, wchar_t>’:
+/usr/include/c++/8/bits/basic_string.h:80:24:   required from ‘class std::__cxx11::basic_string<wchar_t>’
+/usr/include/c++/8/bits/basic_string.h:6517:68:   required from here
+/usr/include/c++/8/ext/alloc_traits.h:61:53: error: no type named ‘size_type’ in ‘struct std::allocator_traits<std::allocator<wchar_t> >’
+     typedef typename _Base_type::size_type          size_type;
+                                                     ^~~~~~~~~
+/usr/include/c++/8/ext/alloc_traits.h:62:53: error: no type named ‘difference_type’ in ‘struct std::allocator_traits<std::allocator<wchar_t> >’
+     typedef typename _Base_type::difference_type    difference_type;
+                                                     ^~~~~~~~~~~~~~~
+/usr/include/c++/8/ext/alloc_traits.h:70:23: error: no members matching ‘__gnu_cxx::__alloc_traits<std::allocator<wchar_t>, wchar_t>::_Base_type {aka std::allocator_traits<std::allocator<wchar_t> >}::max_size’ in ‘__gnu_cxx::__alloc_traits<std::allocator<wchar_t>, wchar_t>::_Base_type’ {aka ‘struct std::allocator_traits<std::allocator<wchar_t> >’}
+     using _Base_type::max_size;
+                       ^~~~~~~~
+In file included from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/basic_string.h: In function ‘int std::__cxx11::stoi(const wstring&, size_t*, int)’:
+/usr/include/c++/8/bits/basic_string.h:6518:19: error: no matching function for call to ‘__stoa<long int, int>(long int (*)(const wchar_t*, wchar_t**, int) throw (), const char [5], const wchar_t*, size_t*&, int&)’
+      __idx, __base); }
+                   ^
+In file included from /usr/include/c++/8/bits/basic_string.h:6400,
+                 from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/ext/string_conversions.h:54:5: note: candidate: ‘template<class _TRet, class _Ret, class _CharT, class ... _Base> _Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, int*, _Base ...)’
+     __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...),
+     ^~~~~~
+/usr/include/c++/8/ext/string_conversions.h:54:5: note:   template argument deduction/substitution failed:
+In file included from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/basic_string.h:6518:6: note:   cannot convert ‘__idx’ (type ‘size_t*’ {aka ‘long unsigned int*’}) to type ‘int*’
+      __idx, __base); }
+      ^~~~~
+/usr/include/c++/8/bits/basic_string.h: In function ‘long int std::__cxx11::stol(const wstring&, size_t*, int)’:
+/usr/include/c++/8/bits/basic_string.h:6523:22: error: no matching function for call to ‘__stoa(long int (*)(const wchar_t*, wchar_t**, int) throw (), const char [5], const wchar_t*, size_t*&, int&)’
+         __idx, __base); }
+                      ^
+In file included from /usr/include/c++/8/bits/basic_string.h:6400,
+                 from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/ext/string_conversions.h:54:5: note: candidate: ‘template<class _TRet, class _Ret, class _CharT, class ... _Base> _Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, int*, _Base ...)’
+     __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...),
+     ^~~~~~
+/usr/include/c++/8/ext/string_conversions.h:54:5: note:   template argument deduction/substitution failed:
+In file included from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/basic_string.h:6523:9: note:   cannot convert ‘__idx’ (type ‘size_t*’ {aka ‘long unsigned int*’}) to type ‘int*’
+         __idx, __base); }
+         ^~~~~
+/usr/include/c++/8/bits/basic_string.h: In function ‘long unsigned int std::__cxx11::stoul(const wstring&, size_t*, int)’:
+/usr/include/c++/8/bits/basic_string.h:6528:22: error: no matching function for call to ‘__stoa(long unsigned int (*)(const wchar_t*, wchar_t**, int) throw (), const char [6], const wchar_t*, size_t*&, int&)’
+         __idx, __base); }
+                      ^
+In file included from /usr/include/c++/8/bits/basic_string.h:6400,
+                 from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/ext/string_conversions.h:54:5: note: candidate: ‘template<class _TRet, class _Ret, class _CharT, class ... _Base> _Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, int*, _Base ...)’
+     __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...),
+     ^~~~~~
+/usr/include/c++/8/ext/string_conversions.h:54:5: note:   template argument deduction/substitution failed:
+In file included from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/basic_string.h:6528:9: note:   cannot convert ‘__idx’ (type ‘size_t*’ {aka ‘long unsigned int*’}) to type ‘int*’
+         __idx, __base); }
+         ^~~~~
+/usr/include/c++/8/bits/basic_string.h: In function ‘long long int std::__cxx11::stoll(const wstring&, size_t*, int)’:
+/usr/include/c++/8/bits/basic_string.h:6533:22: error: no matching function for call to ‘__stoa(long long int (*)(const wchar_t*, wchar_t**, int) throw (), const char [6], const wchar_t*, size_t*&, int&)’
+         __idx, __base); }
+                      ^
+In file included from /usr/include/c++/8/bits/basic_string.h:6400,
+                 from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/ext/string_conversions.h:54:5: note: candidate: ‘template<class _TRet, class _Ret, class _CharT, class ... _Base> _Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, int*, _Base ...)’
+     __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...),
+     ^~~~~~
+/usr/include/c++/8/ext/string_conversions.h:54:5: note:   template argument deduction/substitution failed:
+In file included from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/basic_string.h:6533:9: note:   cannot convert ‘__idx’ (type ‘size_t*’ {aka ‘long unsigned int*’}) to type ‘int*’
+         __idx, __base); }
+         ^~~~~
+/usr/include/c++/8/bits/basic_string.h: In function ‘long long unsigned int std::__cxx11::stoull(const wstring&, size_t*, int)’:
+/usr/include/c++/8/bits/basic_string.h:6538:22: error: no matching function for call to ‘__stoa(long long unsigned int (*)(const wchar_t*, wchar_t**, int) throw (), const char [7], const wchar_t*, size_t*&, int&)’
+         __idx, __base); }
+                      ^
+In file included from /usr/include/c++/8/bits/basic_string.h:6400,
+                 from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/ext/string_conversions.h:54:5: note: candidate: ‘template<class _TRet, class _Ret, class _CharT, class ... _Base> _Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, int*, _Base ...)’
+     __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...),
+     ^~~~~~
+/usr/include/c++/8/ext/string_conversions.h:54:5: note:   template argument deduction/substitution failed:
+In file included from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/basic_string.h:6538:9: note:   cannot convert ‘__idx’ (type ‘size_t*’ {aka ‘long unsigned int*’}) to type ‘int*’
+         __idx, __base); }
+         ^~~~~
+/usr/include/c++/8/bits/basic_string.h: In function ‘float std::__cxx11::stof(const wstring&, size_t*)’:
+/usr/include/c++/8/bits/basic_string.h:6543:72: error: no matching function for call to ‘__stoa(float (*)(const wchar_t*, wchar_t**) throw (), const char [5], const wchar_t*, size_t*&)’
+   { return __gnu_cxx::__stoa(&std::wcstof, "stof", __str.c_str(), __idx); }
+                                                                        ^
+In file included from /usr/include/c++/8/bits/basic_string.h:6400,
+                 from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/ext/string_conversions.h:54:5: note: candidate: ‘template<class _TRet, class _Ret, class _CharT, class ... _Base> _Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, int*, _Base ...)’
+     __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...),
+     ^~~~~~
+/usr/include/c++/8/ext/string_conversions.h:54:5: note:   template argument deduction/substitution failed:
+In file included from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/basic_string.h:6543:67: note:   cannot convert ‘__idx’ (type ‘size_t*’ {aka ‘long unsigned int*’}) to type ‘int*’
+   { return __gnu_cxx::__stoa(&std::wcstof, "stof", __str.c_str(), __idx); }
+                                                                   ^~~~~
+/usr/include/c++/8/bits/basic_string.h: In function ‘double std::__cxx11::stod(const wstring&, size_t*)’:
+/usr/include/c++/8/bits/basic_string.h:6547:72: error: no matching function for call to ‘__stoa(double (*)(const wchar_t*, wchar_t**) throw (), const char [5], const wchar_t*, size_t*&)’
+   { return __gnu_cxx::__stoa(&std::wcstod, "stod", __str.c_str(), __idx); }
+                                                                        ^
+In file included from /usr/include/c++/8/bits/basic_string.h:6400,
+                 from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/ext/string_conversions.h:54:5: note: candidate: ‘template<class _TRet, class _Ret, class _CharT, class ... _Base> _Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, int*, _Base ...)’
+     __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...),
+     ^~~~~~
+/usr/include/c++/8/ext/string_conversions.h:54:5: note:   template argument deduction/substitution failed:
+In file included from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/basic_string.h:6547:67: note:   cannot convert ‘__idx’ (type ‘size_t*’ {aka ‘long unsigned int*’}) to type ‘int*’
+   { return __gnu_cxx::__stoa(&std::wcstod, "stod", __str.c_str(), __idx); }
+                                                                   ^~~~~
+/usr/include/c++/8/bits/basic_string.h: In function ‘long double std::__cxx11::stold(const wstring&, size_t*)’:
+/usr/include/c++/8/bits/basic_string.h:6551:74: error: no matching function for call to ‘__stoa(long double (*)(const wchar_t*, wchar_t**) throw (), const char [6], const wchar_t*, size_t*&)’
+   { return __gnu_cxx::__stoa(&std::wcstold, "stold", __str.c_str(), __idx); }
+                                                                          ^
+In file included from /usr/include/c++/8/bits/basic_string.h:6400,
+                 from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/ext/string_conversions.h:54:5: note: candidate: ‘template<class _TRet, class _Ret, class _CharT, class ... _Base> _Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, int*, _Base ...)’
+     __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...),
+     ^~~~~~
+/usr/include/c++/8/ext/string_conversions.h:54:5: note:   template argument deduction/substitution failed:
+In file included from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/basic_string.h:6551:69: note:   cannot convert ‘__idx’ (type ‘size_t*’ {aka ‘long unsigned int*’}) to type ‘int*’
+   { return __gnu_cxx::__stoa(&std::wcstold, "stold", __str.c_str(), __idx); }
+                                                                     ^~~~~
+/usr/include/c++/8/bits/basic_string.h: In function ‘std::__cxx11::wstring std::__cxx11::to_wstring(int)’:
+/usr/include/c++/8/bits/basic_string.h:6558:22: error: no matching function for call to ‘__to_xstring<std::__cxx11::wstring>(int (*)(wchar_t*, size_t, const wchar_t*, __va_list_tag*) throw (), long unsigned int, const wchar_t [3], int&)’
+          L"%d", __val); }
+                      ^
+In file included from /usr/include/c++/8/bits/basic_string.h:6400,
+                 from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/ext/string_conversions.h:99:5: note: candidate: ‘template<class _String, class _CharT> _String __gnu_cxx::__to_xstring(int (*)(_CharT*, int, const _CharT*, __va_list_tag*), int, const _CharT*, ...)’
+     __to_xstring(int (*__convf) (_CharT*, std::size_t, const _CharT*,
+     ^~~~~~~~~~~~
+/usr/include/c++/8/ext/string_conversions.h:99:5: note:   template argument deduction/substitution failed:
+In file included from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/basic_string.h:6558:22: note:   mismatched types ‘int’ and ‘size_t’ {aka ‘long unsigned int’}
+          L"%d", __val); }
+                      ^
+/usr/include/c++/8/bits/basic_string.h: In function ‘std::__cxx11::wstring std::__cxx11::to_wstring(unsigned int)’:
+/usr/include/c++/8/bits/basic_string.h:6564:22: error: no matching function for call to ‘__to_xstring<std::__cxx11::wstring>(int (*)(wchar_t*, size_t, const wchar_t*, __va_list_tag*) throw (), long unsigned int, const wchar_t [3], unsigned int&)’
+          L"%u", __val); }
+                      ^
+In file included from /usr/include/c++/8/bits/basic_string.h:6400,
+                 from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/ext/string_conversions.h:99:5: note: candidate: ‘template<class _String, class _CharT> _String __gnu_cxx::__to_xstring(int (*)(_CharT*, int, const _CharT*, __va_list_tag*), int, const _CharT*, ...)’
+     __to_xstring(int (*__convf) (_CharT*, std::size_t, const _CharT*,
+     ^~~~~~~~~~~~
+/usr/include/c++/8/ext/string_conversions.h:99:5: note:   template argument deduction/substitution failed:
+In file included from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/basic_string.h:6564:22: note:   mismatched types ‘int’ and ‘size_t’ {aka ‘long unsigned int’}
+          L"%u", __val); }
+                      ^
+/usr/include/c++/8/bits/basic_string.h: In function ‘std::__cxx11::wstring std::__cxx11::to_wstring(long int)’:
+/usr/include/c++/8/bits/basic_string.h:6569:23: error: no matching function for call to ‘__to_xstring<std::__cxx11::wstring>(int (*)(wchar_t*, size_t, const wchar_t*, __va_list_tag*) throw (), long unsigned int, const wchar_t [4], long int&)’
+          L"%ld", __val); }
+                       ^
+In file included from /usr/include/c++/8/bits/basic_string.h:6400,
+                 from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/ext/string_conversions.h:99:5: note: candidate: ‘template<class _String, class _CharT> _String __gnu_cxx::__to_xstring(int (*)(_CharT*, int, const _CharT*, __va_list_tag*), int, const _CharT*, ...)’
+     __to_xstring(int (*__convf) (_CharT*, std::size_t, const _CharT*,
+     ^~~~~~~~~~~~
+/usr/include/c++/8/ext/string_conversions.h:99:5: note:   template argument deduction/substitution failed:
+In file included from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/basic_string.h:6569:23: note:   mismatched types ‘int’ and ‘size_t’ {aka ‘long unsigned int’}
+          L"%ld", __val); }
+                       ^
+/usr/include/c++/8/bits/basic_string.h: In function ‘std::__cxx11::wstring std::__cxx11::to_wstring(long unsigned int)’:
+/usr/include/c++/8/bits/basic_string.h:6575:23: error: no matching function for call to ‘__to_xstring<std::__cxx11::wstring>(int (*)(wchar_t*, size_t, const wchar_t*, __va_list_tag*) throw (), long unsigned int, const wchar_t [4], long unsigned int&)’
+          L"%lu", __val); }
+                       ^
+In file included from /usr/include/c++/8/bits/basic_string.h:6400,
+                 from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/ext/string_conversions.h:99:5: note: candidate: ‘template<class _String, class _CharT> _String __gnu_cxx::__to_xstring(int (*)(_CharT*, int, const _CharT*, __va_list_tag*), int, const _CharT*, ...)’
+     __to_xstring(int (*__convf) (_CharT*, std::size_t, const _CharT*,
+     ^~~~~~~~~~~~
+/usr/include/c++/8/ext/string_conversions.h:99:5: note:   template argument deduction/substitution failed:
+In file included from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/basic_string.h:6575:23: note:   mismatched types ‘int’ and ‘size_t’ {aka ‘long unsigned int’}
+          L"%lu", __val); }
+                       ^
+/usr/include/c++/8/bits/basic_string.h: In function ‘std::__cxx11::wstring std::__cxx11::to_wstring(long long int)’:
+/usr/include/c++/8/bits/basic_string.h:6581:24: error: no matching function for call to ‘__to_xstring<std::__cxx11::wstring>(int (*)(wchar_t*, size_t, const wchar_t*, __va_list_tag*) throw (), long unsigned int, const wchar_t [5], long long int&)’
+          L"%lld", __val); }
+                        ^
+In file included from /usr/include/c++/8/bits/basic_string.h:6400,
+                 from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/ext/string_conversions.h:99:5: note: candidate: ‘template<class _String, class _CharT> _String __gnu_cxx::__to_xstring(int (*)(_CharT*, int, const _CharT*, __va_list_tag*), int, const _CharT*, ...)’
+     __to_xstring(int (*__convf) (_CharT*, std::size_t, const _CharT*,
+     ^~~~~~~~~~~~
+/usr/include/c++/8/ext/string_conversions.h:99:5: note:   template argument deduction/substitution failed:
+In file included from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/basic_string.h:6581:24: note:   mismatched types ‘int’ and ‘size_t’ {aka ‘long unsigned int’}
+          L"%lld", __val); }
+                        ^
+/usr/include/c++/8/bits/basic_string.h: In function ‘std::__cxx11::wstring std::__cxx11::to_wstring(long long unsigned int)’:
+/usr/include/c++/8/bits/basic_string.h:6587:24: error: no matching function for call to ‘__to_xstring<std::__cxx11::wstring>(int (*)(wchar_t*, size_t, const wchar_t*, __va_list_tag*) throw (), long unsigned int, const wchar_t [5], long long unsigned int&)’
+          L"%llu", __val); }
+                        ^
+In file included from /usr/include/c++/8/bits/basic_string.h:6400,
+                 from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/ext/string_conversions.h:99:5: note: candidate: ‘template<class _String, class _CharT> _String __gnu_cxx::__to_xstring(int (*)(_CharT*, int, const _CharT*, __va_list_tag*), int, const _CharT*, ...)’
+     __to_xstring(int (*__convf) (_CharT*, std::size_t, const _CharT*,
+     ^~~~~~~~~~~~
+/usr/include/c++/8/ext/string_conversions.h:99:5: note:   template argument deduction/substitution failed:
+In file included from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/basic_string.h:6587:24: note:   mismatched types ‘int’ and ‘size_t’ {aka ‘long unsigned int’}
+          L"%llu", __val); }
+                        ^
+/usr/include/c++/8/bits/basic_string.h: In function ‘std::__cxx11::wstring std::__cxx11::to_wstring(float)’:
+/usr/include/c++/8/bits/basic_string.h:6595:22: error: no matching function for call to ‘__to_xstring<std::__cxx11::wstring>(int (*)(wchar_t*, size_t, const wchar_t*, __va_list_tag*) throw (), const int&, const wchar_t [3], float&)’
+          L"%f", __val);
+                      ^
+In file included from /usr/include/c++/8/bits/basic_string.h:6400,
+                 from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/ext/string_conversions.h:99:5: note: candidate: ‘template<class _String, class _CharT> _String __gnu_cxx::__to_xstring(int (*)(_CharT*, int, const _CharT*, __va_list_tag*), int, const _CharT*, ...)’
+     __to_xstring(int (*__convf) (_CharT*, std::size_t, const _CharT*,
+     ^~~~~~~~~~~~
+/usr/include/c++/8/ext/string_conversions.h:99:5: note:   template argument deduction/substitution failed:
+In file included from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/basic_string.h:6595:22: note:   mismatched types ‘int’ and ‘size_t’ {aka ‘long unsigned int’}
+          L"%f", __val);
+                      ^
+/usr/include/c++/8/bits/basic_string.h: In function ‘std::__cxx11::wstring std::__cxx11::to_wstring(double)’:
+/usr/include/c++/8/bits/basic_string.h:6604:22: error: no matching function for call to ‘__to_xstring<std::__cxx11::wstring>(int (*)(wchar_t*, size_t, const wchar_t*, __va_list_tag*) throw (), const int&, const wchar_t [3], double&)’
+          L"%f", __val);
+                      ^
+In file included from /usr/include/c++/8/bits/basic_string.h:6400,
+                 from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/ext/string_conversions.h:99:5: note: candidate: ‘template<class _String, class _CharT> _String __gnu_cxx::__to_xstring(int (*)(_CharT*, int, const _CharT*, __va_list_tag*), int, const _CharT*, ...)’
+     __to_xstring(int (*__convf) (_CharT*, std::size_t, const _CharT*,
+     ^~~~~~~~~~~~
+/usr/include/c++/8/ext/string_conversions.h:99:5: note:   template argument deduction/substitution failed:
+In file included from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/basic_string.h:6604:22: note:   mismatched types ‘int’ and ‘size_t’ {aka ‘long unsigned int’}
+          L"%f", __val);
+                      ^
+/usr/include/c++/8/bits/basic_string.h: In function ‘std::__cxx11::wstring std::__cxx11::to_wstring(long double)’:
+/usr/include/c++/8/bits/basic_string.h:6613:23: error: no matching function for call to ‘__to_xstring<std::__cxx11::wstring>(int (*)(wchar_t*, size_t, const wchar_t*, __va_list_tag*) throw (), const int&, const wchar_t [4], long double&)’
+          L"%Lf", __val);
+                       ^
+In file included from /usr/include/c++/8/bits/basic_string.h:6400,
+                 from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/ext/string_conversions.h:99:5: note: candidate: ‘template<class _String, class _CharT> _String __gnu_cxx::__to_xstring(int (*)(_CharT*, int, const _CharT*, __va_list_tag*), int, const _CharT*, ...)’
+     __to_xstring(int (*__convf) (_CharT*, std::size_t, const _CharT*,
+     ^~~~~~~~~~~~
+/usr/include/c++/8/ext/string_conversions.h:99:5: note:   template argument deduction/substitution failed:
+In file included from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/basic_string.h:6613:23: note:   mismatched types ‘int’ and ‘size_t’ {aka ‘long unsigned int’}
+          L"%Lf", __val);
+                       ^
+In file included from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/basic_string.h: In member function ‘size_t std::hash<std::__cxx11::basic_string<char> >::operator()(const string&) const’:
+/usr/include/c++/8/bits/basic_string.h:6642:54: error: ‘const string’ {aka ‘const class std::__cxx11::basic_string<char>’} has no member named ‘length’
+       { return std::_Hash_impl::hash(__s.data(), __s.length()); }
+                                                      ^~~~~~
+/usr/include/c++/8/bits/basic_string.h: In member function ‘size_t std::hash<std::__cxx11::basic_string<wchar_t> >::operator()(const wstring&) const’:
+/usr/include/c++/8/bits/basic_string.h:6658:42: error: ‘const wstring’ {aka ‘const class std::__cxx11::basic_string<wchar_t>’} has no member named ‘length’
+                                      __s.length() * sizeof(wchar_t)); }
+                                          ^~~~~~
+In file included from /usr/include/c++/8/bits/basic_string.h:40,
+                 from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/ext/alloc_traits.h: In instantiation of ‘struct __gnu_cxx::__alloc_traits<std::allocator<char16_t>, char16_t>’:
+/usr/include/c++/8/bits/basic_string.h:80:24:   required from ‘class std::__cxx11::basic_string<char16_t>’
+/usr/include/c++/8/bits/basic_string.h:6675:41:   required from here
+/usr/include/c++/8/ext/alloc_traits.h:61:53: error: no type named ‘size_type’ in ‘struct std::allocator_traits<std::allocator<char16_t> >’
+     typedef typename _Base_type::size_type          size_type;
+                                                     ^~~~~~~~~
+/usr/include/c++/8/ext/alloc_traits.h:62:53: error: no type named ‘difference_type’ in ‘struct std::allocator_traits<std::allocator<char16_t> >’
+     typedef typename _Base_type::difference_type    difference_type;
+                                                     ^~~~~~~~~~~~~~~
+/usr/include/c++/8/ext/alloc_traits.h:70:23: error: no members matching ‘__gnu_cxx::__alloc_traits<std::allocator<char16_t>, char16_t>::_Base_type {aka std::allocator_traits<std::allocator<char16_t> >}::max_size’ in ‘__gnu_cxx::__alloc_traits<std::allocator<char16_t>, char16_t>::_Base_type’ {aka ‘struct std::allocator_traits<std::allocator<char16_t> >’}
+     using _Base_type::max_size;
+                       ^~~~~~~~
+In file included from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/basic_string.h: In member function ‘size_t std::hash<std::__cxx11::basic_string<char16_t> >::operator()(const u16string&) const’:
+/usr/include/c++/8/bits/basic_string.h:6676:42: error: ‘const u16string’ {aka ‘const class std::__cxx11::basic_string<char16_t>’} has no member named ‘length’
+                                      __s.length() * sizeof(char16_t)); }
+                                          ^~~~~~
+In file included from /usr/include/c++/8/bits/basic_string.h:40,
+                 from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/ext/alloc_traits.h: In instantiation of ‘struct __gnu_cxx::__alloc_traits<std::allocator<char32_t>, char32_t>’:
+/usr/include/c++/8/bits/basic_string.h:80:24:   required from ‘class std::__cxx11::basic_string<char32_t>’
+/usr/include/c++/8/bits/basic_string.h:6690:41:   required from here
+/usr/include/c++/8/ext/alloc_traits.h:61:53: error: no type named ‘size_type’ in ‘struct std::allocator_traits<std::allocator<char32_t> >’
+     typedef typename _Base_type::size_type          size_type;
+                                                     ^~~~~~~~~
+/usr/include/c++/8/ext/alloc_traits.h:62:53: error: no type named ‘difference_type’ in ‘struct std::allocator_traits<std::allocator<char32_t> >’
+     typedef typename _Base_type::difference_type    difference_type;
+                                                     ^~~~~~~~~~~~~~~
+/usr/include/c++/8/ext/alloc_traits.h:70:23: error: no members matching ‘__gnu_cxx::__alloc_traits<std::allocator<char32_t>, char32_t>::_Base_type {aka std::allocator_traits<std::allocator<char32_t> >}::max_size’ in ‘__gnu_cxx::__alloc_traits<std::allocator<char32_t>, char32_t>::_Base_type’ {aka ‘struct std::allocator_traits<std::allocator<char32_t> >’}
+     using _Base_type::max_size;
+                       ^~~~~~~~
+In file included from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/basic_string.h: In member function ‘size_t std::hash<std::__cxx11::basic_string<char32_t> >::operator()(const u32string&) const’:
+/usr/include/c++/8/bits/basic_string.h:6691:42: error: ‘const u32string’ {aka ‘const class std::__cxx11::basic_string<char32_t>’} has no member named ‘length’
+                                      __s.length() * sizeof(char32_t)); }
+                                          ^~~~~~
+/usr/include/c++/8/bits/basic_string.h: In function ‘std::__cxx11::basic_string<char> std::literals::string_literals::operator""s(const char*, size_t)’:
+/usr/include/c++/8/bits/basic_string.h:6712:45: error: no matching function for call to ‘std::__cxx11::basic_string<char>::basic_string(<brace-enclosed initializer list>)’
+     { return basic_string<char>{__str, __len}; }
+                                             ^
+In file included from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/basic_string.h:614:9: note: candidate: ‘template<class _InputIterator, class> std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(_InputIterator, _InputIterator, const _Alloc&)’
+         basic_string(_InputIterator __beg, _InputIterator __end,
+         ^~~~~~~~~~~~
+/usr/include/c++/8/bits/basic_string.h:614:9: note:   template argument deduction/substitution failed:
+In file included from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/basic_string.h:6712:45: note:   deduced conflicting types for parameter ‘_InputIterator’ (‘const char*’ and ‘long unsigned int’)
+     { return basic_string<char>{__str, __len}; }
+                                             ^
+In file included from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/basic_string.h:576:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&, const _Alloc&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’
+       basic_string(basic_string&& __str, const _Alloc& __a)
+       ^~~~~~~~~~~~
+/usr/include/c++/8/bits/basic_string.h:576:7: note:   no known conversion for argument 2 from ‘size_t’ {aka ‘long unsigned int’} to ‘const std::allocator<char>&’
+/usr/include/c++/8/bits/basic_string.h:572:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, const _Alloc&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’
+       basic_string(const basic_string& __str, const _Alloc& __a)
+       ^~~~~~~~~~~~
+/usr/include/c++/8/bits/basic_string.h:572:7: note:   no known conversion for argument 2 from ‘size_t’ {aka ‘long unsigned int’} to ‘const std::allocator<char>&’
+/usr/include/c++/8/bits/basic_string.h:568:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::initializer_list<_Tp>, const _Alloc&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’
+       basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc())
+       ^~~~~~~~~~~~
+/usr/include/c++/8/bits/basic_string.h:568:7: note:   no known conversion for argument 1 from ‘const char*’ to ‘std::initializer_list<char>’
+/usr/include/c++/8/bits/basic_string.h:541:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’
+       basic_string(basic_string&& __str) noexcept
+       ^~~~~~~~~~~~
+/usr/include/c++/8/bits/basic_string.h:541:7: note:   candidate expects 1 argument, 2 provided
+/usr/include/c++/8/bits/basic_string.h:514:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, const _Alloc&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’
+       basic_string(const _CharT* __s, const _Alloc& __a = _Alloc())
+       ^~~~~~~~~~~~
+/usr/include/c++/8/bits/basic_string.h:514:7: note:   no known conversion for argument 2 from ‘size_t’ {aka ‘long unsigned int’} to ‘const std::allocator<char>&’
+/usr/include/c++/8/bits/basic_string.h:437:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’
+       basic_string(const basic_string& __str)
+       ^~~~~~~~~~~~
+/usr/include/c++/8/bits/basic_string.h:437:7: note:   candidate expects 1 argument, 2 provided
+/usr/include/c++/8/bits/basic_string.h:429:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _Alloc&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’
+       basic_string(const _Alloc& __a) _GLIBCXX_NOEXCEPT
+       ^~~~~~~~~~~~
+/usr/include/c++/8/bits/basic_string.h:429:7: note:   candidate expects 1 argument, 2 provided
+/usr/include/c++/8/bits/basic_string.h:420:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string() [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’
+       basic_string()
+       ^~~~~~~~~~~~
+/usr/include/c++/8/bits/basic_string.h:420:7: note:   candidate expects 0 arguments, 2 provided
+In file included from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/basic_string.h: In function ‘std::__cxx11::basic_string<wchar_t> std::literals::string_literals::operator""s(const wchar_t*, size_t)’:
+/usr/include/c++/8/bits/basic_string.h:6718:48: error: no matching function for call to ‘std::__cxx11::basic_string<wchar_t>::basic_string(<brace-enclosed initializer list>)’
+     { return basic_string<wchar_t>{__str, __len}; }
+                                                ^
+In file included from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/basic_string.h:614:9: note: candidate: ‘template<class _InputIterator, class> std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(_InputIterator, _InputIterator, const _Alloc&)’
+         basic_string(_InputIterator __beg, _InputIterator __end,
+         ^~~~~~~~~~~~
+/usr/include/c++/8/bits/basic_string.h:614:9: note:   template argument deduction/substitution failed:
+In file included from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/basic_string.h:6718:48: note:   deduced conflicting types for parameter ‘_InputIterator’ (‘const wchar_t*’ and ‘long unsigned int’)
+     { return basic_string<wchar_t>{__str, __len}; }
+                                                ^
+In file included from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/basic_string.h:576:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&, const _Alloc&) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; _Alloc = std::allocator<wchar_t>]’
+       basic_string(basic_string&& __str, const _Alloc& __a)
+       ^~~~~~~~~~~~
+/usr/include/c++/8/bits/basic_string.h:576:7: note:   no known conversion for argument 2 from ‘size_t’ {aka ‘long unsigned int’} to ‘const std::allocator<wchar_t>&’
+/usr/include/c++/8/bits/basic_string.h:572:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, const _Alloc&) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; _Alloc = std::allocator<wchar_t>]’
+       basic_string(const basic_string& __str, const _Alloc& __a)
+       ^~~~~~~~~~~~
+/usr/include/c++/8/bits/basic_string.h:572:7: note:   no known conversion for argument 2 from ‘size_t’ {aka ‘long unsigned int’} to ‘const std::allocator<wchar_t>&’
+/usr/include/c++/8/bits/basic_string.h:568:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::initializer_list<_Tp>, const _Alloc&) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; _Alloc = std::allocator<wchar_t>]’
+       basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc())
+       ^~~~~~~~~~~~
+/usr/include/c++/8/bits/basic_string.h:568:7: note:   no known conversion for argument 1 from ‘const wchar_t*’ to ‘std::initializer_list<wchar_t>’
+/usr/include/c++/8/bits/basic_string.h:541:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; _Alloc = std::allocator<wchar_t>]’
+       basic_string(basic_string&& __str) noexcept
+       ^~~~~~~~~~~~
+/usr/include/c++/8/bits/basic_string.h:541:7: note:   candidate expects 1 argument, 2 provided
+/usr/include/c++/8/bits/basic_string.h:514:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, const _Alloc&) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; _Alloc = std::allocator<wchar_t>]’
+       basic_string(const _CharT* __s, const _Alloc& __a = _Alloc())
+       ^~~~~~~~~~~~
+/usr/include/c++/8/bits/basic_string.h:514:7: note:   no known conversion for argument 2 from ‘size_t’ {aka ‘long unsigned int’} to ‘const std::allocator<wchar_t>&’
+/usr/include/c++/8/bits/basic_string.h:437:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; _Alloc = std::allocator<wchar_t>]’
+       basic_string(const basic_string& __str)
+       ^~~~~~~~~~~~
+/usr/include/c++/8/bits/basic_string.h:437:7: note:   candidate expects 1 argument, 2 provided
+/usr/include/c++/8/bits/basic_string.h:429:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _Alloc&) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; _Alloc = std::allocator<wchar_t>]’
+       basic_string(const _Alloc& __a) _GLIBCXX_NOEXCEPT
+       ^~~~~~~~~~~~
+/usr/include/c++/8/bits/basic_string.h:429:7: note:   candidate expects 1 argument, 2 provided
+/usr/include/c++/8/bits/basic_string.h:420:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string() [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; _Alloc = std::allocator<wchar_t>]’
+       basic_string()
+       ^~~~~~~~~~~~
+/usr/include/c++/8/bits/basic_string.h:420:7: note:   candidate expects 0 arguments, 2 provided
+In file included from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/basic_string.h: In function ‘std::__cxx11::basic_string<char16_t> std::literals::string_literals::operator""s(const char16_t*, size_t)’:
+/usr/include/c++/8/bits/basic_string.h:6725:49: error: no matching function for call to ‘std::__cxx11::basic_string<char16_t>::basic_string(<brace-enclosed initializer list>)’
+     { return basic_string<char16_t>{__str, __len}; }
+                                                 ^
+In file included from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/basic_string.h:614:9: note: candidate: ‘template<class _InputIterator, class> std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(_InputIterator, _InputIterator, const _Alloc&)’
+         basic_string(_InputIterator __beg, _InputIterator __end,
+         ^~~~~~~~~~~~
+/usr/include/c++/8/bits/basic_string.h:614:9: note:   template argument deduction/substitution failed:
+In file included from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/basic_string.h:6725:49: note:   deduced conflicting types for parameter ‘_InputIterator’ (‘const char16_t*’ and ‘long unsigned int’)
+     { return basic_string<char16_t>{__str, __len}; }
+                                                 ^
+In file included from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/basic_string.h:576:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&, const _Alloc&) [with _CharT = char16_t; _Traits = std::char_traits<char16_t>; _Alloc = std::allocator<char16_t>]’
+       basic_string(basic_string&& __str, const _Alloc& __a)
+       ^~~~~~~~~~~~
+/usr/include/c++/8/bits/basic_string.h:576:7: note:   no known conversion for argument 2 from ‘size_t’ {aka ‘long unsigned int’} to ‘const std::allocator<char16_t>&’
+/usr/include/c++/8/bits/basic_string.h:572:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, const _Alloc&) [with _CharT = char16_t; _Traits = std::char_traits<char16_t>; _Alloc = std::allocator<char16_t>]’
+       basic_string(const basic_string& __str, const _Alloc& __a)
+       ^~~~~~~~~~~~
+/usr/include/c++/8/bits/basic_string.h:572:7: note:   no known conversion for argument 2 from ‘size_t’ {aka ‘long unsigned int’} to ‘const std::allocator<char16_t>&’
+/usr/include/c++/8/bits/basic_string.h:568:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::initializer_list<_Tp>, const _Alloc&) [with _CharT = char16_t; _Traits = std::char_traits<char16_t>; _Alloc = std::allocator<char16_t>]’
+       basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc())
+       ^~~~~~~~~~~~
+/usr/include/c++/8/bits/basic_string.h:568:7: note:   no known conversion for argument 1 from ‘const char16_t*’ to ‘std::initializer_list<char16_t>’
+/usr/include/c++/8/bits/basic_string.h:541:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&) [with _CharT = char16_t; _Traits = std::char_traits<char16_t>; _Alloc = std::allocator<char16_t>]’
+       basic_string(basic_string&& __str) noexcept
+       ^~~~~~~~~~~~
+/usr/include/c++/8/bits/basic_string.h:541:7: note:   candidate expects 1 argument, 2 provided
+/usr/include/c++/8/bits/basic_string.h:514:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, const _Alloc&) [with _CharT = char16_t; _Traits = std::char_traits<char16_t>; _Alloc = std::allocator<char16_t>]’
+       basic_string(const _CharT* __s, const _Alloc& __a = _Alloc())
+       ^~~~~~~~~~~~
+/usr/include/c++/8/bits/basic_string.h:514:7: note:   no known conversion for argument 2 from ‘size_t’ {aka ‘long unsigned int’} to ‘const std::allocator<char16_t>&’
+/usr/include/c++/8/bits/basic_string.h:437:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char16_t; _Traits = std::char_traits<char16_t>; _Alloc = std::allocator<char16_t>]’
+       basic_string(const basic_string& __str)
+       ^~~~~~~~~~~~
+/usr/include/c++/8/bits/basic_string.h:437:7: note:   candidate expects 1 argument, 2 provided
+/usr/include/c++/8/bits/basic_string.h:429:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _Alloc&) [with _CharT = char16_t; _Traits = std::char_traits<char16_t>; _Alloc = std::allocator<char16_t>]’
+       basic_string(const _Alloc& __a) _GLIBCXX_NOEXCEPT
+       ^~~~~~~~~~~~
+/usr/include/c++/8/bits/basic_string.h:429:7: note:   candidate expects 1 argument, 2 provided
+/usr/include/c++/8/bits/basic_string.h:420:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string() [with _CharT = char16_t; _Traits = std::char_traits<char16_t>; _Alloc = std::allocator<char16_t>]’
+       basic_string()
+       ^~~~~~~~~~~~
+/usr/include/c++/8/bits/basic_string.h:420:7: note:   candidate expects 0 arguments, 2 provided
+In file included from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/basic_string.h: In function ‘std::__cxx11::basic_string<char32_t> std::literals::string_literals::operator""s(const char32_t*, size_t)’:
+/usr/include/c++/8/bits/basic_string.h:6730:49: error: no matching function for call to ‘std::__cxx11::basic_string<char32_t>::basic_string(<brace-enclosed initializer list>)’
+     { return basic_string<char32_t>{__str, __len}; }
+                                                 ^
+In file included from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/basic_string.h:614:9: note: candidate: ‘template<class _InputIterator, class> std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(_InputIterator, _InputIterator, const _Alloc&)’
+         basic_string(_InputIterator __beg, _InputIterator __end,
+         ^~~~~~~~~~~~
+/usr/include/c++/8/bits/basic_string.h:614:9: note:   template argument deduction/substitution failed:
+In file included from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/basic_string.h:6730:49: note:   deduced conflicting types for parameter ‘_InputIterator’ (‘const char32_t*’ and ‘long unsigned int’)
+     { return basic_string<char32_t>{__str, __len}; }
+                                                 ^
+In file included from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/basic_string.h:576:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&, const _Alloc&) [with _CharT = char32_t; _Traits = std::char_traits<char32_t>; _Alloc = std::allocator<char32_t>]’
+       basic_string(basic_string&& __str, const _Alloc& __a)
+       ^~~~~~~~~~~~
+/usr/include/c++/8/bits/basic_string.h:576:7: note:   no known conversion for argument 2 from ‘size_t’ {aka ‘long unsigned int’} to ‘const std::allocator<char32_t>&’
+/usr/include/c++/8/bits/basic_string.h:572:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, const _Alloc&) [with _CharT = char32_t; _Traits = std::char_traits<char32_t>; _Alloc = std::allocator<char32_t>]’
+       basic_string(const basic_string& __str, const _Alloc& __a)
+       ^~~~~~~~~~~~
+/usr/include/c++/8/bits/basic_string.h:572:7: note:   no known conversion for argument 2 from ‘size_t’ {aka ‘long unsigned int’} to ‘const std::allocator<char32_t>&’
+/usr/include/c++/8/bits/basic_string.h:568:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::initializer_list<_Tp>, const _Alloc&) [with _CharT = char32_t; _Traits = std::char_traits<char32_t>; _Alloc = std::allocator<char32_t>]’
+       basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc())
+       ^~~~~~~~~~~~
+/usr/include/c++/8/bits/basic_string.h:568:7: note:   no known conversion for argument 1 from ‘const char32_t*’ to ‘std::initializer_list<char32_t>’
+/usr/include/c++/8/bits/basic_string.h:541:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&) [with _CharT = char32_t; _Traits = std::char_traits<char32_t>; _Alloc = std::allocator<char32_t>]’
+       basic_string(basic_string&& __str) noexcept
+       ^~~~~~~~~~~~
+/usr/include/c++/8/bits/basic_string.h:541:7: note:   candidate expects 1 argument, 2 provided
+/usr/include/c++/8/bits/basic_string.h:514:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, const _Alloc&) [with _CharT = char32_t; _Traits = std::char_traits<char32_t>; _Alloc = std::allocator<char32_t>]’
+       basic_string(const _CharT* __s, const _Alloc& __a = _Alloc())
+       ^~~~~~~~~~~~
+/usr/include/c++/8/bits/basic_string.h:514:7: note:   no known conversion for argument 2 from ‘size_t’ {aka ‘long unsigned int’} to ‘const std::allocator<char32_t>&’
+/usr/include/c++/8/bits/basic_string.h:437:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char32_t; _Traits = std::char_traits<char32_t>; _Alloc = std::allocator<char32_t>]’
+       basic_string(const basic_string& __str)
+       ^~~~~~~~~~~~
+/usr/include/c++/8/bits/basic_string.h:437:7: note:   candidate expects 1 argument, 2 provided
+/usr/include/c++/8/bits/basic_string.h:429:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _Alloc&) [with _CharT = char32_t; _Traits = std::char_traits<char32_t>; _Alloc = std::allocator<char32_t>]’
+       basic_string(const _Alloc& __a) _GLIBCXX_NOEXCEPT
+       ^~~~~~~~~~~~
+/usr/include/c++/8/bits/basic_string.h:429:7: note:   candidate expects 1 argument, 2 provided
+/usr/include/c++/8/bits/basic_string.h:420:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string() [with _CharT = char32_t; _Traits = std::char_traits<char32_t>; _Alloc = std::allocator<char32_t>]’
+       basic_string()
+       ^~~~~~~~~~~~
+/usr/include/c++/8/bits/basic_string.h:420:7: note:   candidate expects 0 arguments, 2 provided
+In file included from /usr/include/c++/8/string:53,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/basic_string.tcc: In function ‘std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&)’:
+/usr/include/c++/8/bits/basic_string.tcc:1487:14: error: ‘streamsize’ does not name a type; did you mean ‘streambuf’?
+        const streamsize __w = __in.width();
+              ^~~~~~~~~~
+              streambuf
+/usr/include/c++/8/bits/basic_string.tcc:1488:32: error: ‘__w’ was not declared in this scope
+        const __size_type __n = __w > 0 ? static_cast<__size_type>(__w)
+                                ^~~
+/usr/include/c++/8/bits/basic_string.tcc:1488:32: note: suggested alternative: ‘__n’
+        const __size_type __n = __w > 0 ? static_cast<__size_type>(__w)
+                                ^~~
+                                __n
+In file included from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/ios_base.h: At global scope:
+/usr/include/c++/8/bits/ios_base.h:522:5: error: ‘streamsize’ does not name a type; did you mean ‘streampos’?
+     streamsize  _M_precision;
+     ^~~~~~~~~~
+     streampos
+/usr/include/c++/8/bits/ios_base.h:523:5: error: ‘streamsize’ does not name a type; did you mean ‘streampos’?
+     streamsize  _M_width;
+     ^~~~~~~~~~
+     streampos
+/usr/include/c++/8/bits/ios_base.h:690:5: error: ‘streamsize’ does not name a type; did you mean ‘streampos’?
+     streamsize
+     ^~~~~~~~~~
+     streampos
+/usr/include/c++/8/bits/ios_base.h:699:5: error: ‘streamsize’ does not name a type; did you mean ‘streampos’?
+     streamsize
+     ^~~~~~~~~~
+     streampos
+/usr/include/c++/8/bits/ios_base.h:713:5: error: ‘streamsize’ does not name a type; did you mean ‘streampos’?
+     streamsize
+     ^~~~~~~~~~
+     streampos
+/usr/include/c++/8/bits/ios_base.h:722:5: error: ‘streamsize’ does not name a type; did you mean ‘streampos’?
+     streamsize
+     ^~~~~~~~~~
+     streampos
+In file included from /usr/include/c++/8/ios:43,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/streambuf:52:5: error: ‘streamsize’ does not name a type; did you mean ‘streambuf’?
+     streamsize
+     ^~~~~~~~~~
+     streambuf
+/usr/include/c++/8/streambuf:149:14: error: ‘streamsize’ does not name a type; did you mean ‘streambuf’?
+       friend streamsize
+              ^~~~~~~~~~
+              streambuf
+/usr/include/c++/8/streambuf:246:33: error: ‘streamsize’ has not been declared
+       pubsetbuf(char_type* __s, streamsize __n)
+                                 ^~~~~~~~~~
+/usr/include/c++/8/streambuf:290:7: error: ‘streamsize’ does not name a type; did you mean ‘streambuf’?
+       streamsize
+       ^~~~~~~~~~
+       streambuf
+/usr/include/c++/8/streambuf:363:7: error: ‘streamsize’ does not name a type; did you mean ‘streambuf’?
+       streamsize
+       ^~~~~~~~~~
+       streambuf
+/usr/include/c++/8/streambuf:456:7: error: ‘streamsize’ does not name a type; did you mean ‘streambuf’?
+       streamsize
+       ^~~~~~~~~~
+       streambuf
+/usr/include/c++/8/streambuf:598:26: error: ‘streamsize’ has not been declared
+       setbuf(char_type*, streamsize)
+                          ^~~~~~~~~~
+/usr/include/c++/8/streambuf:655:15: error: ‘streamsize’ does not name a type; did you mean ‘streambuf’?
+       virtual streamsize
+               ^~~~~~~~~~
+               streambuf
+/usr/include/c++/8/streambuf:671:15: error: ‘streamsize’ does not name a type; did you mean ‘streambuf’?
+       virtual streamsize
+               ^~~~~~~~~~
+               streambuf
+/usr/include/c++/8/streambuf:748:15: error: ‘streamsize’ does not name a type; did you mean ‘streambuf’?
+       virtual streamsize
+               ^~~~~~~~~~
+               streambuf
+/usr/include/c++/8/streambuf:804:20: error: ‘streamsize’ has not been declared
+       __safe_gbump(streamsize __n) { _M_in_cur += __n; }
+                    ^~~~~~~~~~
+/usr/include/c++/8/streambuf:807:20: error: ‘streamsize’ has not been declared
+       __safe_pbump(streamsize __n) { _M_out_cur += __n; }
+                    ^~~~~~~~~~
+/usr/include/c++/8/streambuf:847:5: error: ‘streamsize’ does not name a type; did you mean ‘streambuf’?
+     streamsize
+     ^~~~~~~~~~
+     streambuf
+/usr/include/c++/8/streambuf:852:5: error: ‘streamsize’ does not name a type; did you mean ‘streambuf’?
+     streamsize
+     ^~~~~~~~~~
+     streambuf
+In file included from /usr/include/c++/8/streambuf:862,
+                 from /usr/include/c++/8/ios:43,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/streambuf.tcc:44:5: error: ‘streamsize’ does not name a type; did you mean ‘streambuf’?
+     streamsize
+     ^~~~~~~~~~
+     streambuf
+/usr/include/c++/8/bits/streambuf.tcc:78:5: error: ‘streamsize’ does not name a type; did you mean ‘streambuf’?
+     streamsize
+     ^~~~~~~~~~
+     streambuf
+/usr/include/c++/8/bits/streambuf.tcc:115:5: error: ‘streamsize’ does not name a type; did you mean ‘streambuf’?
+     streamsize
+     ^~~~~~~~~~
+     streambuf
+/usr/include/c++/8/bits/streambuf.tcc:138:12: error: ‘streamsize’ does not name a type; did you mean ‘streambuf’?
+     inline streamsize
+            ^~~~~~~~~~
+            streambuf
+/usr/include/c++/8/bits/streambuf.tcc:151:5: error: ‘streamsize’ is not a template function
+     streamsize
+     ^~~~~~~~~~
+/usr/include/c++/8/bits/streambuf.tcc:151:15: error: expected ‘;’ before ‘__copy_streambufs’
+     streamsize
+               ^
+               ;
+     __copy_streambufs(basic_streambuf<char>*,
+     ~~~~~~~~~~~~~~~~~
+/usr/include/c++/8/bits/streambuf.tcc:155:5: error: ‘streamsize’ is not a template function
+     streamsize
+     ^~~~~~~~~~
+/usr/include/c++/8/bits/streambuf.tcc:155:15: error: expected ‘;’ before ‘__copy_streambufs_eof’
+     streamsize
+               ^
+               ;
+     __copy_streambufs_eof(basic_streambuf<char>*,
+     ~~~~~~~~~~~~~~~~~~~~~
+/usr/include/c++/8/bits/streambuf.tcc:162:5: error: ‘streamsize’ is not a template function
+     streamsize
+     ^~~~~~~~~~
+/usr/include/c++/8/bits/streambuf.tcc:162:15: error: expected ‘;’ before ‘__copy_streambufs’
+     streamsize
+               ^
+               ;
+     __copy_streambufs(basic_streambuf<wchar_t>*,
+     ~~~~~~~~~~~~~~~~~
+/usr/include/c++/8/bits/streambuf.tcc:166:5: error: ‘streamsize’ is not a template function
+     streamsize
+     ^~~~~~~~~~
+/usr/include/c++/8/bits/streambuf.tcc:166:15: error: expected ‘;’ before ‘__copy_streambufs_eof’
+     streamsize
+               ^
+               ;
+     __copy_streambufs_eof(basic_streambuf<wchar_t>*,
+     ~~~~~~~~~~~~~~~~~~~~~
+In file included from /usr/include/c++/8/bits/locale_facets.h:48,
+                 from /usr/include/c++/8/bits/basic_ios.h:37,
+                 from /usr/include/c++/8/ios:44,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/streambuf_iterator.h:278:34: error: ‘streamsize’ has not been declared
+       _M_put(const _CharT* __ws, streamsize __len)
+                                  ^~~~~~~~~~
+/usr/include/c++/8/bits/streambuf_iterator.h: In function ‘typename __gnu_cxx::__enable_if<std::__is_char<_CharT>::__value, std::ostreambuf_iterator<_CharT, std::char_traits<_CharT> > >::__type std::__copy_move_a2(_CharT*, _CharT*, std::ostreambuf_iterator<_CharT, std::char_traits<_CharT> >)’:
+/usr/include/c++/8/bits/streambuf_iterator.h:312:13: error: ‘streamsize’ does not name a type; did you mean ‘streambuf’?
+       const streamsize __num = __last - __first;
+             ^~~~~~~~~~
+             streambuf
+/usr/include/c++/8/bits/streambuf_iterator.h:313:11: error: ‘__num’ was not declared in this scope
+       if (__num > 0)
+           ^~~~~
+/usr/include/c++/8/bits/streambuf_iterator.h:313:11: note: suggested alternative: ‘enum’
+       if (__num > 0)
+           ^~~~~
+           enum
+/usr/include/c++/8/bits/streambuf_iterator.h: In function ‘typename __gnu_cxx::__enable_if<std::__is_char<_CharT>::__value, std::ostreambuf_iterator<_CharT, std::char_traits<_CharT> > >::__type std::__copy_move_a2(const _CharT*, const _CharT*, std::ostreambuf_iterator<_CharT, std::char_traits<_CharT> >)’:
+/usr/include/c++/8/bits/streambuf_iterator.h:324:13: error: ‘streamsize’ does not name a type; did you mean ‘streambuf’?
+       const streamsize __num = __last - __first;
+             ^~~~~~~~~~
+             streambuf
+/usr/include/c++/8/bits/streambuf_iterator.h:325:11: error: ‘__num’ was not declared in this scope
+       if (__num > 0)
+           ^~~~~
+/usr/include/c++/8/bits/streambuf_iterator.h:325:11: note: suggested alternative: ‘enum’
+       if (__num > 0)
+           ^~~~~
+           enum
+/usr/include/c++/8/bits/streambuf_iterator.h: In function ‘typename __gnu_cxx::__enable_if<std::__is_char<_CharT>::__value, _CharT*>::__type std::__copy_move_a2(std::istreambuf_iterator<_CharT, std::char_traits<_CharT> >, std::istreambuf_iterator<_CharT, std::char_traits<_CharT> >, _CharT*)’:
+/usr/include/c++/8/bits/streambuf_iterator.h:347:14: error: ‘streamsize’ does not name a type; did you mean ‘streambuf’?
+        const streamsize __n = __sb->egptr() - __sb->gptr();
+              ^~~~~~~~~~
+              streambuf
+/usr/include/c++/8/bits/streambuf_iterator.h:348:12: error: ‘__n’ was not declared in this scope
+        if (__n > 1)
+            ^~~
+/usr/include/c++/8/bits/streambuf_iterator.h:348:12: note: suggested alternative: ‘__c’
+        if (__n > 1)
+            ^~~
+            __c
+/usr/include/c++/8/bits/streambuf_iterator.h: In function ‘typename __gnu_cxx::__enable_if<std::__is_char<_CharT2>::__value, std::istreambuf_iterator<_CharT> >::__type std::find(std::istreambuf_iterator<_CharT>, std::istreambuf_iterator<_CharT>, const _CharT2&)’:
+/usr/include/c++/8/bits/streambuf_iterator.h:385:8: error: ‘streamsize’ was not declared in this scope
+        streamsize __n = __sb->egptr() - __sb->gptr();
+        ^~~~~~~~~~
+/usr/include/c++/8/bits/streambuf_iterator.h:385:8: note: suggested alternative: ‘streambuf’
+        streamsize __n = __sb->egptr() - __sb->gptr();
+        ^~~~~~~~~~
+        streambuf
+/usr/include/c++/8/bits/streambuf_iterator.h:386:12: error: ‘__n’ was not declared in this scope
+        if (__n > 1)
+            ^~~
+/usr/include/c++/8/bits/streambuf_iterator.h:386:12: note: suggested alternative: ‘__c’
+        if (__n > 1)
+            ^~~
+            __c
+/usr/include/c++/8/bits/streambuf_iterator.h: In function ‘typename __gnu_cxx::__enable_if<std::__is_char<_CharT2>::__value, void>::__type std::advance(std::istreambuf_iterator<_CharT>&, _Distance)’:
+/usr/include/c++/8/bits/streambuf_iterator.h:427:4: error: ‘streamsize’ was not declared in this scope
+    streamsize __size = __sb->egptr() - __sb->gptr();
+    ^~~~~~~~~~
+/usr/include/c++/8/bits/streambuf_iterator.h:427:4: note: suggested alternative: ‘streambuf’
+    streamsize __size = __sb->egptr() - __sb->gptr();
+    ^~~~~~~~~~
+    streambuf
+/usr/include/c++/8/bits/streambuf_iterator.h:428:8: error: ‘__size’ was not declared in this scope
+    if (__size > __n)
+        ^~~~~~
+/usr/include/c++/8/bits/streambuf_iterator.h:428:8: note: suggested alternative: ‘dysize’
+    if (__size > __n)
+        ^~~~~~
+        dysize
+/usr/include/c++/8/bits/streambuf_iterator.h:434:23: error: ‘__size’ was not declared in this scope
+    __sb->__safe_gbump(__size);
+                       ^~~~~~
+/usr/include/c++/8/bits/streambuf_iterator.h:434:23: note: suggested alternative: ‘dysize’
+    __sb->__safe_gbump(__size);
+                       ^~~~~~
+                       dysize
+In file included from /usr/include/c++/8/bits/basic_ios.h:37,
+                 from /usr/include/c++/8/ios:44,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/locale_facets.h: At global scope:
+/usr/include/c++/8/bits/locale_facets.h:99:29: error: ‘streamsize’ has not been declared
+       const _CharT* __olds, streamsize __newlen, streamsize __oldlen);
+                             ^~~~~~~~~~
+/usr/include/c++/8/bits/locale_facets.h:99:50: error: ‘streamsize’ has not been declared
+       const _CharT* __olds, streamsize __newlen, streamsize __oldlen);
+                                                  ^~~~~~~~~~
+In file included from /usr/include/c++/8/bits/basic_ios.h:37,
+                 from /usr/include/c++/8/ios:44,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/locale_facets.h:2488:32: error: ‘streamsize’ has not been declared
+       _M_pad(char_type __fill, streamsize __w, ios_base& __io,
+                                ^~~~~~~~~~
+In file included from /usr/include/c++/8/bits/locale_facets.h:2655,
+                 from /usr/include/c++/8/bits/basic_ios.h:37,
+                 from /usr/include/c++/8/ios:44,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/locale_facets.tcc: In member function ‘void std::__numpunct_cache<_CharT>::_M_cache(const std::locale&)’:
+/usr/include/c++/8/bits/locale_facets.tcc:88:27: error: ‘const string’ {aka ‘const class std::__cxx11::basic_string<char>’} has no member named ‘size’
+    _M_grouping_size = __g.size();
+                           ^~~~
+/usr/include/c++/8/bits/locale_facets.tcc:90:8: error: ‘const string’ {aka ‘const class std::__cxx11::basic_string<char>’} has no member named ‘copy’
+    __g.copy(__grouping, _M_grouping_size);
+        ^~~~
+/usr/include/c++/8/bits/locale_facets.tcc: In member function ‘_InIter std::num_get<_CharT, _InIter>::_M_extract_float(_InIter, _InIter, std::ios_base&, std::ios_base::iostate&, std::__cxx11::string&) const’:
+/usr/include/c++/8/bits/locale_facets.tcc:211:19: error: ‘std::__cxx11::string’ {aka ‘class std::__cxx11::basic_string<char>’} has no member named ‘reserve’
+  __found_grouping.reserve(32);
+                   ^~~~~~~
+/usr/include/c++/8/bits/locale_facets.tcc:296:28: error: ‘std::__cxx11::string’ {aka ‘class std::__cxx11::basic_string<char>’} has no member named ‘size’
+       if (__found_grouping.size())
+                            ^~~~
+/usr/include/c++/8/bits/locale_facets.tcc:319:28: error: ‘std::__cxx11::string’ {aka ‘class std::__cxx11::basic_string<char>’} has no member named ‘size’
+       if (__found_grouping.size() && !__found_dec)
+                            ^~~~
+/usr/include/c++/8/bits/locale_facets.tcc:355:28: error: ‘std::__cxx11::string’ {aka ‘class std::__cxx11::basic_string<char>’} has no member named ‘size’
+       if (__found_grouping.size())
+                            ^~~~
+/usr/include/c++/8/bits/locale_facets.tcc: In member function ‘_InIter std::num_get<_CharT, _InIter>::_M_extract_int(_InIter, _InIter, std::ios_base&, std::ios_base::iostate&, _ValueT&) const’:
+/usr/include/c++/8/bits/locale_facets.tcc:469:21: error: ‘std::__cxx11::string’ {aka ‘class std::__cxx11::basic_string<char>’} has no member named ‘reserve’
+    __found_grouping.reserve(32);
+                     ^~~~~~~
+/usr/include/c++/8/bits/locale_facets.tcc:555:23: error: ‘std::__cxx11::string’ {aka ‘class std::__cxx11::basic_string<char>’} has no member named ‘size’
+  if (__found_grouping.size())
+                       ^~~~
+/usr/include/c++/8/bits/locale_facets.tcc:568:56: error: ‘std::__cxx11::string’ {aka ‘class std::__cxx11::basic_string<char>’} has no member named ‘size’
+  if ((!__sep_pos && !__found_zero && !__found_grouping.size())
+                                                        ^~~~
+/usr/include/c++/8/bits/locale_facets.tcc: In member function ‘virtual _InIter std::num_get<_CharT, _InIter>::do_get(std::num_get<_CharT, _InIter>::iter_type, std::num_get<_CharT, _InIter>::iter_type, std::ios_base&, std::ios_base::iostate&, float&) const’:
+/usr/include/c++/8/bits/locale_facets.tcc:695:14: error: ‘std::__cxx11::string’ {aka ‘class std::__cxx11::basic_string<char>’} has no member named ‘reserve’
+       __xtrc.reserve(32);
+              ^~~~~~~
+/usr/include/c++/8/bits/locale_facets.tcc: In member function ‘virtual _InIter std::num_get<_CharT, _InIter>::do_get(std::num_get<_CharT, _InIter>::iter_type, std::num_get<_CharT, _InIter>::iter_type, std::ios_base&, std::ios_base::iostate&, double&) const’:
+/usr/include/c++/8/bits/locale_facets.tcc:710:14: error: ‘std::__cxx11::string’ {aka ‘class std::__cxx11::basic_string<char>’} has no member named ‘reserve’
+       __xtrc.reserve(32);
+              ^~~~~~~
+/usr/include/c++/8/bits/locale_facets.tcc: In member function ‘virtual _InIter std::num_get<_CharT, _InIter>::do_get(std::num_get<_CharT, _InIter>::iter_type, std::num_get<_CharT, _InIter>::iter_type, std::ios_base&, std::ios_base::iostate&, long double&) const’:
+/usr/include/c++/8/bits/locale_facets.tcc:742:14: error: ‘std::__cxx11::string’ {aka ‘class std::__cxx11::basic_string<char>’} has no member named ‘reserve’
+       __xtrc.reserve(32);
+              ^~~~~~~
+/usr/include/c++/8/bits/locale_facets.tcc: At global scope:
+/usr/include/c++/8/bits/locale_facets.tcc:780:27: error: ‘streamsize’ has not been declared
+     _M_pad(_CharT __fill, streamsize __w, ios_base& __io,
+                           ^~~~~~~~~~
+/usr/include/c++/8/bits/locale_facets.tcc: In member function ‘_OutIter std::num_put<_CharT, _OutIter>::_M_insert_int(_OutIter, std::ios_base&, _CharT, _ValueT) const’:
+/usr/include/c++/8/bits/locale_facets.tcc:921:8: error: ‘streamsize’ does not name a type; did you mean ‘streambuf’?
+  const streamsize __w = __io.width();
+        ^~~~~~~~~~
+        streambuf
+/usr/include/c++/8/bits/locale_facets.tcc:922:6: error: ‘__w’ was not declared in this scope
+  if (__w > static_cast<streamsize>(__len))
+      ^~~
+/usr/include/c++/8/bits/locale_facets.tcc:922:6: note: suggested alternative: ‘__u’
+  if (__w > static_cast<streamsize>(__len))
+      ^~~
+      __u
+/usr/include/c++/8/bits/locale_facets.tcc:922:24: error: ‘streamsize’ does not name a type; did you mean ‘streambuf’?
+  if (__w > static_cast<streamsize>(__len))
+                        ^~~~~~~~~~
+                        streambuf
+/usr/include/c++/8/bits/locale_facets.tcc:929:7: error: ‘class std::ios_base’ has no member named ‘width’
+  __io.width(0);
+       ^~~~~
+/usr/include/c++/8/bits/locale_facets.tcc: In member function ‘_OutIter std::num_put<_CharT, _OutIter>::_M_insert_float(_OutIter, std::ios_base&, _CharT, char, _ValueT) const’:
+/usr/include/c++/8/bits/locale_facets.tcc:984:8: error: ‘streamsize’ does not name a type; did you mean ‘streambuf’?
+  const streamsize __prec = __io.precision() < 0 ? 6 : __io.precision();
+        ^~~~~~~~~~
+        streambuf
+/usr/include/c++/8/bits/locale_facets.tcc:1006:14: error: ‘__prec’ was not declared in this scope
+      __fbuf, __prec, __v);
+              ^~~~~~
+/usr/include/c++/8/bits/locale_facets.tcc:1006:14: note: suggested alternative: ‘__pad’
+      __fbuf, __prec, __v);
+              ^~~~~~
+              __pad
+/usr/include/c++/8/bits/locale_facets.tcc:1018:18: error: ‘__prec’ was not declared in this scope
+          __fbuf, __prec, __v);
+                  ^~~~~~
+/usr/include/c++/8/bits/locale_facets.tcc:1018:18: note: suggested alternative: ‘__pad’
+          __fbuf, __prec, __v);
+                  ^~~~~~
+                  __pad
+/usr/include/c++/8/bits/locale_facets.tcc:1071:6: error: ‘streamsize’ was not declared in this scope
+      streamsize __off = 0;
+      ^~~~~~~~~~
+/usr/include/c++/8/bits/locale_facets.tcc:1071:6: note: suggested alternative: ‘streambuf’
+      streamsize __off = 0;
+      ^~~~~~~~~~
+      streambuf
+/usr/include/c++/8/bits/locale_facets.tcc:1074:3: error: ‘__off’ was not declared in this scope
+   __off = 1;
+   ^~~~~
+/usr/include/c++/8/bits/locale_facets.tcc:1074:3: note: suggested alternative: ‘__or_’
+   __off = 1;
+   ^~~~~
+   __or_
+/usr/include/c++/8/bits/locale_facets.tcc:1080:45: error: ‘__off’ was not declared in this scope
+       __lc->_M_thousands_sep, __wp, __ws2 + __off,
+                                             ^~~~~
+/usr/include/c++/8/bits/locale_facets.tcc:1080:45: note: suggested alternative: ‘__or_’
+       __lc->_M_thousands_sep, __wp, __ws2 + __off,
+                                             ^~~~~
+                                             __or_
+/usr/include/c++/8/bits/locale_facets.tcc:1088:8: error: ‘streamsize’ does not name a type; did you mean ‘streambuf’?
+  const streamsize __w = __io.width();
+        ^~~~~~~~~~
+        streambuf
+/usr/include/c++/8/bits/locale_facets.tcc:1089:6: error: ‘__w’ was not declared in this scope
+  if (__w > static_cast<streamsize>(__len))
+      ^~~
+/usr/include/c++/8/bits/locale_facets.tcc:1089:6: note: suggested alternative: ‘__p’
+  if (__w > static_cast<streamsize>(__len))
+      ^~~
+      __p
+/usr/include/c++/8/bits/locale_facets.tcc:1089:24: error: ‘streamsize’ does not name a type; did you mean ‘streambuf’?
+  if (__w > static_cast<streamsize>(__len))
+                        ^~~~~~~~~~
+                        streambuf
+/usr/include/c++/8/bits/locale_facets.tcc:1096:7: error: ‘class std::ios_base’ has no member named ‘width’
+  __io.width(0);
+       ^~~~~
+/usr/include/c++/8/bits/locale_facets.tcc: In member function ‘virtual _OutIter std::num_put<_CharT, _OutIter>::do_put(std::num_put<_CharT, _OutIter>::iter_type, std::ios_base&, std::num_put<_CharT, _OutIter>::char_type, bool) const’:
+/usr/include/c++/8/bits/locale_facets.tcc:1126:10: error: ‘streamsize’ does not name a type; did you mean ‘streambuf’?
+    const streamsize __w = __io.width();
+          ^~~~~~~~~~
+          streambuf
+/usr/include/c++/8/bits/locale_facets.tcc:1127:8: error: ‘__w’ was not declared in this scope
+    if (__w > static_cast<streamsize>(__len))
+        ^~~
+/usr/include/c++/8/bits/locale_facets.tcc:1127:8: note: suggested alternative: ‘__s’
+    if (__w > static_cast<streamsize>(__len))
+        ^~~
+        __s
+/usr/include/c++/8/bits/locale_facets.tcc:1127:26: error: ‘streamsize’ does not name a type; did you mean ‘streambuf’?
+    if (__w > static_cast<streamsize>(__len))
+                          ^~~~~~~~~~
+                          streambuf
+/usr/include/c++/8/bits/locale_facets.tcc:1129:14: error: ‘streamsize’ does not name a type; did you mean ‘streambuf’?
+        const streamsize __plen = __w - __len;
+              ^~~~~~~~~~
+              streambuf
+/usr/include/c++/8/bits/locale_facets.tcc:1132:10: error: ‘__plen’ was not declared in this scope
+        * __plen));
+          ^~~~~~
+/usr/include/c++/8/bits/locale_facets.tcc:1132:10: note: suggested alternative: ‘__len’
+        * __plen));
+          ^~~~~~
+          __len
+/usr/include/c++/8/bits/locale_facets.tcc:1135:13: error: ‘class std::ios_base’ has no member named ‘width’
+        __io.width(0);
+             ^~~~~
+/usr/include/c++/8/bits/locale_facets.tcc:1149:9: error: ‘class std::ios_base’ has no member named ‘width’
+    __io.width(0);
+         ^~~~~
+/usr/include/c++/8/bits/locale_facets.tcc: At global scope:
+/usr/include/c++/8/bits/locale_facets.tcc:1210:8: error: ‘streamsize’ has not been declared
+        streamsize __newlen, streamsize __oldlen)
+        ^~~~~~~~~~
+/usr/include/c++/8/bits/locale_facets.tcc:1210:29: error: ‘streamsize’ has not been declared
+        streamsize __newlen, streamsize __oldlen)
+                             ^~~~~~~~~~
+In file included from /usr/include/c++/8/istream:39,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/ostream:311:38: error: ‘streamsize’ has not been declared
+       _M_write(const char_type* __s, streamsize __n)
+                                      ^~~~~~~~~~
+/usr/include/c++/8/ostream:335:35: error: ‘streamsize’ has not been declared
+       write(const char_type* __s, streamsize __n);
+                                   ^~~~~~~~~~
+/usr/include/c++/8/ostream: In member function ‘void std::basic_ostream<_CharT, _Traits>::_M_write(const char_type*, int)’:
+/usr/include/c++/8/ostream:313:8: error: ‘streamsize’ does not name a type; did you mean ‘streambuf’?
+  const streamsize __put = this->rdbuf()->sputn(__s, __n);
+        ^~~~~~~~~~
+        streambuf
+/usr/include/c++/8/ostream:314:6: error: ‘__put’ was not declared in this scope
+  if (__put != __n)
+      ^~~~~
+/usr/include/c++/8/ostream:314:6: note: suggested alternative: ‘put’
+  if (__put != __n)
+      ^~~~~
+      put
+/usr/include/c++/8/ostream: In function ‘std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const _CharT*)’:
+/usr/include/c++/8/ostream:545:17: error: ‘streamsize’ does not name a type; did you mean ‘streambuf’?
+     static_cast<streamsize>(_Traits::length(__s)));
+                 ^~~~~~~~~~
+                 streambuf
+/usr/include/c++/8/ostream: In function ‘std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, const char*)’:
+/usr/include/c++/8/ostream:562:17: error: ‘streamsize’ does not name a type; did you mean ‘streambuf’?
+     static_cast<streamsize>(_Traits::length(__s)));
+                 ^~~~~~~~~~
+                 streambuf
+In file included from /usr/include/c++/8/ostream:693,
+                 from /usr/include/c++/8/istream:39,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/ostream.tcc: At global scope:
+/usr/include/c++/8/bits/ostream.tcc:183:30: error: ‘streamsize’ has not been declared
+     write(const _CharT* __s, streamsize __n)
+                              ^~~~~~~~~~
+In file included from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/istream:82:7: error: ‘streamsize’ does not name a type; did you mean ‘streambuf’?
+       streamsize   _M_gcount;
+       ^~~~~~~~~~
+       streambuf
+/usr/include/c++/8/istream:268:7: error: ‘streamsize’ does not name a type; did you mean ‘streambuf’?
+       streamsize
+       ^~~~~~~~~~
+       streambuf
+/usr/include/c++/8/istream:343:27: error: ‘streamsize’ has not been declared
+       get(char_type* __s, streamsize __n, char_type __delim);
+                           ^~~~~~~~~~
+/usr/include/c++/8/istream:354:27: error: ‘streamsize’ has not been declared
+       get(char_type* __s, streamsize __n)
+                           ^~~~~~~~~~
+/usr/include/c++/8/istream:416:31: error: ‘streamsize’ has not been declared
+       getline(char_type* __s, streamsize __n, char_type __delim);
+                               ^~~~~~~~~~
+/usr/include/c++/8/istream:427:31: error: ‘streamsize’ has not been declared
+       getline(char_type* __s, streamsize __n)
+                               ^~~~~~~~~~
+/usr/include/c++/8/istream:451:7: error: expected ‘;’ at end of member declaration
+       ignore(streamsize __n, int_type __delim);
+       ^~~~~~
+             ;
+/usr/include/c++/8/istream:451:24: error: expected ‘)’ before ‘__n’
+       ignore(streamsize __n, int_type __delim);
+             ~          ^~~~
+                        )
+/usr/include/c++/8/istream:454:7: error: expected ‘;’ at end of member declaration
+       ignore(streamsize __n);
+       ^~~~~~
+             ;
+/usr/include/c++/8/istream:454:14: error: redeclaration of ‘std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::ignore’
+       ignore(streamsize __n);
+              ^~~~~~~~~~
+/usr/include/c++/8/istream:451:14: note: previous declaration ‘std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::ignore’
+       ignore(streamsize __n, int_type __delim);
+              ^~~~~~~~~~
+/usr/include/c++/8/istream:454:24: error: expected ‘)’ before ‘__n’
+       ignore(streamsize __n);
+             ~          ^~~~
+                        )
+/usr/include/c++/8/istream:457:14: error: ‘std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::ignore()’ conflicts with a previous declaration
+       ignore();
+              ^
+/usr/include/c++/8/istream:451:14: note: previous declaration ‘std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::ignore’
+       ignore(streamsize __n, int_type __delim);
+              ^~~~~~~~~~
+/usr/include/c++/8/istream:486:28: error: ‘streamsize’ has not been declared
+       read(char_type* __s, streamsize __n);
+                            ^~~~~~~~~~
+/usr/include/c++/8/istream:504:7: error: ‘streamsize’ does not name a type; did you mean ‘streambuf’?
+       streamsize
+       ^~~~~~~~~~
+       streambuf
+/usr/include/c++/8/istream: In constructor ‘std::basic_istream<_CharT, _Traits>::basic_istream(std::basic_istream<_CharT, _Traits>::__streambuf_type*)’:
+/usr/include/c++/8/istream:94:9: error: class ‘std::basic_istream<_CharT, _Traits>’ does not have any field named ‘_M_gcount’
+       : _M_gcount(streamsize(0))
+         ^~~~~~~~~
+/usr/include/c++/8/istream:94:19: error: there are no arguments to ‘streamsize’ that depend on a template parameter, so a declaration of ‘streamsize’ must be available [-fpermissive]
+       : _M_gcount(streamsize(0))
+                   ^~~~~~~~~~
+/usr/include/c++/8/istream:94:19: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
+/usr/include/c++/8/istream: In destructor ‘virtual std::basic_istream<_CharT, _Traits>::~basic_istream()’:
+/usr/include/c++/8/istream:104:9: error: ‘_M_gcount’ was not declared in this scope
+       { _M_gcount = streamsize(0); }
+         ^~~~~~~~~
+/usr/include/c++/8/istream:104:9: note: suggested alternative: ‘_S_out’
+       { _M_gcount = streamsize(0); }
+         ^~~~~~~~~
+         _S_out
+/usr/include/c++/8/istream:104:21: error: there are no arguments to ‘streamsize’ that depend on a template parameter, so a declaration of ‘streamsize’ must be available [-fpermissive]
+       { _M_gcount = streamsize(0); }
+                     ^~~~~~~~~~
+/usr/include/c++/8/istream: In constructor ‘std::basic_istream<_CharT, _Traits>::basic_istream()’:
+/usr/include/c++/8/istream:607:9: error: class ‘std::basic_istream<_CharT, _Traits>’ does not have any field named ‘_M_gcount’
+       : _M_gcount(streamsize(0))
+         ^~~~~~~~~
+/usr/include/c++/8/istream:607:19: error: there are no arguments to ‘streamsize’ that depend on a template parameter, so a declaration of ‘streamsize’ must be available [-fpermissive]
+       : _M_gcount(streamsize(0))
+                   ^~~~~~~~~~
+/usr/include/c++/8/istream: In constructor ‘std::basic_istream<_CharT, _Traits>::basic_istream(std::basic_istream<_CharT, _Traits>&&)’:
+/usr/include/c++/8/istream:614:23: error: class ‘std::basic_istream<_CharT, _Traits>’ does not have any field named ‘_M_gcount’
+       : __ios_type(), _M_gcount(__rhs._M_gcount)
+                       ^~~~~~~~~
+/usr/include/c++/8/istream: In member function ‘void std::basic_istream<_CharT, _Traits>::swap(std::basic_istream<_CharT, _Traits>&)’:
+/usr/include/c++/8/istream:635:12: error: ‘_M_gcount’ was not declared in this scope
+  std::swap(_M_gcount, __rhs._M_gcount);
+            ^~~~~~~~~
+/usr/include/c++/8/istream:635:12: note: suggested alternative: ‘_S_out’
+  std::swap(_M_gcount, __rhs._M_gcount);
+            ^~~~~~~~~
+            _S_out
+/usr/include/c++/8/istream: At global scope:
+/usr/include/c++/8/istream:648:29: error: ‘streamsize’ has not been declared
+     getline(char_type* __s, streamsize __n, char_type __delim);
+                             ^~~~~~~~~~
+/usr/include/c++/8/istream:653:12: error: ‘std::basic_istream<char>& std::basic_istream<char>::ignore’ is not a static data member of ‘class std::basic_istream<char>’
+     ignore(streamsize __n);
+            ^~~~~~~~~~
+/usr/include/c++/8/istream:653:12: error: ‘streamsize’ was not declared in this scope
+/usr/include/c++/8/istream:653:12: note: suggested alternative: ‘streampos’
+     ignore(streamsize __n);
+            ^~~~~~~~~~
+            streampos
+/usr/include/c++/8/istream:658:12: error: ‘std::basic_istream<char>& std::basic_istream<char>::ignore’ is not a static data member of ‘class std::basic_istream<char>’
+     ignore(streamsize __n, int_type __delim);
+            ^~~~~~~~~~
+/usr/include/c++/8/istream:658:12: error: ‘streamsize’ was not declared in this scope
+/usr/include/c++/8/istream:658:12: note: suggested alternative: ‘streampos’
+     ignore(streamsize __n, int_type __delim);
+            ^~~~~~~~~~
+            streampos
+/usr/include/c++/8/istream:658:37: error: expected primary-expression before ‘__delim’
+     ignore(streamsize __n, int_type __delim);
+                                     ^~~~~~~
+/usr/include/c++/8/istream:658:44: error: expression list treated as compound expression in initializer [-fpermissive]
+     ignore(streamsize __n, int_type __delim);
+                                            ^
+/usr/include/c++/8/istream:664:29: error: ‘streamsize’ has not been declared
+     getline(char_type* __s, streamsize __n, char_type __delim);
+                             ^~~~~~~~~~
+/usr/include/c++/8/istream:669:12: error: ‘std::basic_istream<wchar_t>& std::basic_istream<wchar_t>::ignore’ is not a static data member of ‘class std::basic_istream<wchar_t>’
+     ignore(streamsize __n);
+            ^~~~~~~~~~
+/usr/include/c++/8/istream:669:12: error: ‘streamsize’ was not declared in this scope
+/usr/include/c++/8/istream:669:12: note: suggested alternative: ‘streampos’
+     ignore(streamsize __n);
+            ^~~~~~~~~~
+            streampos
+/usr/include/c++/8/istream:674:12: error: ‘std::basic_istream<wchar_t>& std::basic_istream<wchar_t>::ignore’ is not a static data member of ‘class std::basic_istream<wchar_t>’
+     ignore(streamsize __n, int_type __delim);
+            ^~~~~~~~~~
+/usr/include/c++/8/istream:674:12: error: ‘streamsize’ was not declared in this scope
+/usr/include/c++/8/istream:674:12: note: suggested alternative: ‘streampos’
+     ignore(streamsize __n, int_type __delim);
+            ^~~~~~~~~~
+            streampos
+/usr/include/c++/8/istream:674:37: error: expected primary-expression before ‘__delim’
+     ignore(streamsize __n, int_type __delim);
+                                     ^~~~~~~
+/usr/include/c++/8/istream:674:44: error: expression list treated as compound expression in initializer [-fpermissive]
+     ignore(streamsize __n, int_type __delim);
+                                            ^
+In file included from /usr/include/c++/8/istream:991,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/istream.tcc: In member function ‘std::basic_istream<_CharT, _Traits>::int_type std::basic_istream<_CharT, _Traits>::get()’:
+/usr/include/c++/8/bits/istream.tcc:248:7: error: ‘_M_gcount’ was not declared in this scope
+       _M_gcount = 0;
+       ^~~~~~~~~
+/usr/include/c++/8/bits/istream.tcc:248:7: note: suggested alternative: ‘_S_out’
+       _M_gcount = 0;
+       ^~~~~~~~~
+       _S_out
+/usr/include/c++/8/bits/istream.tcc: In member function ‘std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::get(std::basic_istream<_CharT, _Traits>::char_type&)’:
+/usr/include/c++/8/bits/istream.tcc:282:7: error: ‘_M_gcount’ was not declared in this scope
+       _M_gcount = 0;
+       ^~~~~~~~~
+/usr/include/c++/8/bits/istream.tcc:282:7: note: suggested alternative: ‘_S_out’
+       _M_gcount = 0;
+       ^~~~~~~~~
+       _S_out
+/usr/include/c++/8/bits/istream.tcc: At global scope:
+/usr/include/c++/8/bits/istream.tcc:317:25: error: ‘streamsize’ has not been declared
+     get(char_type* __s, streamsize __n, char_type __delim)
+                         ^~~~~~~~~~
+/usr/include/c++/8/bits/istream.tcc: In member function ‘std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::get(std::basic_istream<_CharT, _Traits>::char_type*, int, std::basic_istream<_CharT, _Traits>::char_type)’:
+/usr/include/c++/8/bits/istream.tcc:319:7: error: ‘_M_gcount’ was not declared in this scope
+       _M_gcount = 0;
+       ^~~~~~~~~
+/usr/include/c++/8/bits/istream.tcc:319:7: note: suggested alternative: ‘_S_out’
+       _M_gcount = 0;
+       ^~~~~~~~~
+       _S_out
+/usr/include/c++/8/bits/istream.tcc: In member function ‘std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::get(std::basic_istream<_CharT, _Traits>::__streambuf_type&, std::basic_istream<_CharT, _Traits>::char_type)’:
+/usr/include/c++/8/bits/istream.tcc:366:7: error: ‘_M_gcount’ was not declared in this scope
+       _M_gcount = 0;
+       ^~~~~~~~~
+/usr/include/c++/8/bits/istream.tcc:366:7: note: suggested alternative: ‘_S_out’
+       _M_gcount = 0;
+       ^~~~~~~~~
+       _S_out
+/usr/include/c++/8/bits/istream.tcc: At global scope:
+/usr/include/c++/8/bits/istream.tcc:408:29: error: ‘streamsize’ has not been declared
+     getline(char_type* __s, streamsize __n, char_type __delim)
+                             ^~~~~~~~~~
+/usr/include/c++/8/bits/istream.tcc: In member function ‘std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::getline(std::basic_istream<_CharT, _Traits>::char_type*, int, std::basic_istream<_CharT, _Traits>::char_type)’:
+/usr/include/c++/8/bits/istream.tcc:410:7: error: ‘_M_gcount’ was not declared in this scope
+       _M_gcount = 0;
+       ^~~~~~~~~
+/usr/include/c++/8/bits/istream.tcc:410:7: note: suggested alternative: ‘_S_out’
+       _M_gcount = 0;
+       ^~~~~~~~~
+       _S_out
+/usr/include/c++/8/bits/istream.tcc: At global scope:
+/usr/include/c++/8/bits/istream.tcc:467:5: error: no declaration matches ‘std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::ignore()’
+     basic_istream<_CharT, _Traits>::
+     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+In file included from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/istream:451:14: note: candidate is: ‘std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::ignore’
+       ignore(streamsize __n, int_type __delim);
+              ^~~~~~~~~~
+/usr/include/c++/8/istream:58:11: note: ‘class std::basic_istream<_CharT, _Traits>’ defined here
+     class basic_istream : virtual public basic_ios<_CharT, _Traits>
+           ^~~~~~~~~~~~~
+In file included from /usr/include/c++/8/istream:991,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/istream.tcc:501:12: error: ‘std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::ignore’ is not a static data member of ‘class std::basic_istream<_CharT, _Traits>’
+     ignore(streamsize __n)
+            ^~~~~~~~~~
+/usr/include/c++/8/bits/istream.tcc:501:12: error: template definition of non-template ‘std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::ignore’
+/usr/include/c++/8/bits/istream.tcc:501:12: error: ‘streamsize’ was not declared in this scope
+/usr/include/c++/8/bits/istream.tcc:501:12: note: suggested alternative: ‘streambuf’
+     ignore(streamsize __n)
+            ^~~~~~~~~~
+            streambuf
+/usr/include/c++/8/bits/istream.tcc:563:12: error: ‘std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::ignore’ is not a static data member of ‘class std::basic_istream<_CharT, _Traits>’
+     ignore(streamsize __n, int_type __delim)
+            ^~~~~~~~~~
+/usr/include/c++/8/bits/istream.tcc:563:12: error: template definition of non-template ‘std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::ignore’
+/usr/include/c++/8/bits/istream.tcc:563:12: error: ‘streamsize’ was not declared in this scope
+/usr/include/c++/8/bits/istream.tcc:563:12: note: suggested alternative: ‘streambuf’
+     ignore(streamsize __n, int_type __delim)
+            ^~~~~~~~~~
+            streambuf
+/usr/include/c++/8/bits/istream.tcc:563:37: error: expected primary-expression before ‘__delim’
+     ignore(streamsize __n, int_type __delim)
+                                     ^~~~~~~
+/usr/include/c++/8/bits/istream.tcc: In member function ‘std::basic_istream<_CharT, _Traits>::int_type std::basic_istream<_CharT, _Traits>::peek()’:
+/usr/include/c++/8/bits/istream.tcc:631:7: error: ‘_M_gcount’ was not declared in this scope
+       _M_gcount = 0;
+       ^~~~~~~~~
+/usr/include/c++/8/bits/istream.tcc:631:7: note: suggested alternative: ‘_S_out’
+       _M_gcount = 0;
+       ^~~~~~~~~
+       _S_out
+/usr/include/c++/8/bits/istream.tcc: At global scope:
+/usr/include/c++/8/bits/istream.tcc:658:26: error: ‘streamsize’ has not been declared
+     read(char_type* __s, streamsize __n)
+                          ^~~~~~~~~~
+/usr/include/c++/8/bits/istream.tcc: In member function ‘std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::read(std::basic_istream<_CharT, _Traits>::char_type*, int)’:
+/usr/include/c++/8/bits/istream.tcc:660:7: error: ‘_M_gcount’ was not declared in this scope
+       _M_gcount = 0;
+       ^~~~~~~~~
+/usr/include/c++/8/bits/istream.tcc:660:7: note: suggested alternative: ‘_S_out’
+       _M_gcount = 0;
+       ^~~~~~~~~
+       _S_out
+/usr/include/c++/8/bits/istream.tcc: At global scope:
+/usr/include/c++/8/bits/istream.tcc:685:5: error: ‘streamsize’ does not name a type; did you mean ‘streambuf’?
+     streamsize
+     ^~~~~~~~~~
+     streambuf
+/usr/include/c++/8/bits/istream.tcc: In member function ‘std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::putback(std::basic_istream<_CharT, _Traits>::char_type)’:
+/usr/include/c++/8/bits/istream.tcc:723:7: error: ‘_M_gcount’ was not declared in this scope
+       _M_gcount = 0;
+       ^~~~~~~~~
+/usr/include/c++/8/bits/istream.tcc:723:7: note: suggested alternative: ‘_S_out’
+       _M_gcount = 0;
+       ^~~~~~~~~
+       _S_out
+/usr/include/c++/8/bits/istream.tcc: In member function ‘std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::unget()’:
+/usr/include/c++/8/bits/istream.tcc:758:7: error: ‘_M_gcount’ was not declared in this scope
+       _M_gcount = 0;
+       ^~~~~~~~~
+/usr/include/c++/8/bits/istream.tcc:758:7: note: suggested alternative: ‘_S_out’
+       _M_gcount = 0;
+       ^~~~~~~~~
+       _S_out
+/usr/include/c++/8/bits/istream.tcc: In function ‘std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, _CharT2*)’:
+/usr/include/c++/8/bits/istream.tcc:971:7: error: ‘streamsize’ was not declared in this scope
+       streamsize __extracted = 0;
+       ^~~~~~~~~~
+/usr/include/c++/8/bits/istream.tcc:971:7: note: suggested alternative: ‘streambuf’
+       streamsize __extracted = 0;
+       ^~~~~~~~~~
+       streambuf
+/usr/include/c++/8/bits/istream.tcc:979:18: error: expected ‘;’ before ‘__num’
+        streamsize __num = __in.width();
+                  ^~~~~~
+                  ;
+/usr/include/c++/8/bits/istream.tcc:980:12: error: ‘__num’ was not declared in this scope
+        if (__num <= 0)
+            ^~~~~
+/usr/include/c++/8/bits/istream.tcc:980:12: note: suggested alternative: ‘enum’
+        if (__num <= 0)
+            ^~~~~
+            enum
+/usr/include/c++/8/bits/istream.tcc:981:49: error: type/value mismatch at argument 1 in template parameter list for ‘template<class _Value> struct __gnu_cxx::__numeric_traits’
+   __num = __gnu_cxx::__numeric_traits<streamsize>::__max;
+                                                 ^
+/usr/include/c++/8/bits/istream.tcc:981:49: note:   expected a type, got ‘streamsize’
+/usr/include/c++/8/bits/istream.tcc:989:15: error: ‘__extracted’ was not declared in this scope
+        while (__extracted < __num - 1
+               ^~~~~~~~~~~
+/usr/include/c++/8/bits/istream.tcc:989:15: note: suggested alternative: ‘__traitor’
+        while (__extracted < __num - 1
+               ^~~~~~~~~~~
+               __traitor
+/usr/include/c++/8/bits/istream.tcc:989:29: error: ‘__num’ was not declared in this scope
+        while (__extracted < __num - 1
+                             ^~~~~
+/usr/include/c++/8/bits/istream.tcc:989:29: note: suggested alternative: ‘enum’
+        while (__extracted < __num - 1
+                             ^~~~~
+                             enum
+/usr/include/c++/8/bits/istream.tcc:1014:12: error: ‘__extracted’ was not declared in this scope
+       if (!__extracted)
+            ^~~~~~~~~~~
+/usr/include/c++/8/bits/istream.tcc:1014:12: note: suggested alternative: ‘__traitor’
+       if (!__extracted)
+            ^~~~~~~~~~~
+            __traitor
+In file included from gui-main.cpp:2:
+/usr/include/c++/8/sstream: At global scope:
+/usr/include/c++/8/sstream:211:15: error: ‘streamsize’ does not name a type; did you mean ‘streambuf’?
+       virtual streamsize
+               ^~~~~~~~~~
+               streambuf
+/usr/include/c++/8/sstream:244:30: error: ‘streamsize’ has not been declared
+       setbuf(char_type* __s, streamsize __n)
+                              ^~~~~~~~~~
+In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h:47,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qtguiglobal.h:43,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtwidgetsglobal.h:43,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:43,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
+                 from gui-main.cpp:8:
+/usr/include/c++/8/utility:109:17: error: ‘std::size_t’ has not been declared
+   template<std::size_t __i, typename _Tp>
+                 ^~~~~~
+/usr/include/c++/8/utility:110:12: error: no default argument for ‘_Tp’
+     struct tuple_element;
+            ^~~~~~~~~~~~~
+/usr/include/c++/8/utility:113:17: error: ‘std::size_t’ has not been declared
+   template<std::size_t __i, typename _Tp>
+                 ^~~~~~
+/usr/include/c++/8/utility:114:54: error: ‘__i’ was not declared in this scope
+     using __tuple_element_t = typename tuple_element<__i, _Tp>::type;
+                                                      ^~~
+/usr/include/c++/8/utility:114:62: error: template argument 1 is invalid
+     using __tuple_element_t = typename tuple_element<__i, _Tp>::type;
+                                                              ^
+/usr/include/c++/8/utility:116:17: error: ‘std::size_t’ has not been declared
+   template<std::size_t __i, typename _Tp>
+                 ^~~~~~
+/usr/include/c++/8/utility:117:26: error: ‘__i’ was not declared in this scope
+     struct tuple_element<__i, const _Tp>
+                          ^~~
+/usr/include/c++/8/utility:117:40: error: template argument 1 is invalid
+     struct tuple_element<__i, const _Tp>
+                                        ^
+/usr/include/c++/8/utility:122:17: error: ‘std::size_t’ has not been declared
+   template<std::size_t __i, typename _Tp>
+                 ^~~~~~
+/usr/include/c++/8/utility:123:26: error: ‘__i’ was not declared in this scope
+     struct tuple_element<__i, volatile _Tp>
+                          ^~~
+/usr/include/c++/8/utility:123:43: error: template argument 1 is invalid
+     struct tuple_element<__i, volatile _Tp>
+                                           ^
+/usr/include/c++/8/utility:128:17: error: ‘std::size_t’ has not been declared
+   template<std::size_t __i, typename _Tp>
+                 ^~~~~~
+/usr/include/c++/8/utility:129:26: error: ‘__i’ was not declared in this scope
+     struct tuple_element<__i, const volatile _Tp>
+                          ^~~
+/usr/include/c++/8/utility:129:49: error: template argument 1 is invalid
+     struct tuple_element<__i, const volatile _Tp>
+                                                 ^
+/usr/include/c++/8/utility:137:17: error: ‘std::size_t’ has not been declared
+   template<std::size_t __i, typename _Tp>
+                 ^~~~~~
+/usr/include/c++/8/utility:138:52: error: ‘__i’ was not declared in this scope
+     using tuple_element_t = typename tuple_element<__i, _Tp>::type;
+                                                    ^~~
+/usr/include/c++/8/utility:138:60: error: template argument 1 is invalid
+     using tuple_element_t = typename tuple_element<__i, _Tp>::type;
+                                                            ^
+/usr/include/c++/8/utility:151:37: error: ‘size_t’ is not a member of ‘std’
+     : public integral_constant<std::size_t, 2> { };
+                                     ^~~~~~
+/usr/include/c++/8/utility:151:37: note: suggested alternative:
+In file included from /usr/include/wchar.h:35,
+                 from /usr/include/c++/8/cwchar:44,
+                 from /usr/include/c++/8/bits/postypes.h:40,
+                 from /usr/include/c++/8/iosfwd:40,
+                 from /usr/include/c++/8/ios:38,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/lib/gcc/x86_64-linux-gnu/8/include/stddef.h:216:23: note:   ‘size_t’
+ typedef __SIZE_TYPE__ size_t;
+                       ^~~~~~
+In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h:47,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qtguiglobal.h:43,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtwidgetsglobal.h:43,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:43,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
+                 from gui-main.cpp:8:
+/usr/include/c++/8/utility:151:37: error: ‘size_t’ is not a member of ‘std’
+     : public integral_constant<std::size_t, 2> { };
+                                     ^~~~~~
+/usr/include/c++/8/utility:151:37: note: suggested alternative:
+In file included from /usr/include/wchar.h:35,
+                 from /usr/include/c++/8/cwchar:44,
+                 from /usr/include/c++/8/bits/postypes.h:40,
+                 from /usr/include/c++/8/iosfwd:40,
+                 from /usr/include/c++/8/ios:38,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/lib/gcc/x86_64-linux-gnu/8/include/stddef.h:216:23: note:   ‘size_t’
+ typedef __SIZE_TYPE__ size_t;
+                       ^~~~~~
+In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h:47,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qtguiglobal.h:43,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtwidgetsglobal.h:43,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:43,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
+                 from gui-main.cpp:8:
+/usr/include/c++/8/utility:151:46: error: template argument 1 is invalid
+     : public integral_constant<std::size_t, 2> { };
+                                              ^
+/usr/include/c++/8/utility:151:46: note: invalid template non-type parameter
+/usr/include/c++/8/utility:163:17: error: ‘std::size_t’ has not been declared
+   template<std::size_t _Int>
+                 ^~~~~~
+/usr/include/c++/8/utility:214:17: error: ‘std::size_t’ has not been declared
+   template<std::size_t _Int, class _Tp1, class _Tp2>
+                 ^~~~~~
+/usr/include/c++/8/utility:215:38: error: ‘_Int’ was not declared in this scope
+     constexpr typename tuple_element<_Int, std::pair<_Tp1, _Tp2>>::type&
+                                      ^~~~
+/usr/include/c++/8/utility:215:38: note: suggested alternative: ‘uint’
+     constexpr typename tuple_element<_Int, std::pair<_Tp1, _Tp2>>::type&
+                                      ^~~~
+                                      uint
+/usr/include/c++/8/utility:215:64: error: template argument 1 is invalid
+     constexpr typename tuple_element<_Int, std::pair<_Tp1, _Tp2>>::type&
+                                                                ^~
+/usr/include/c++/8/utility: In function ‘constexpr int& std::get(std::pair<_Tp1, _Tp2>&)’:
+/usr/include/c++/8/utility:217:25: error: ‘_Int’ was not declared in this scope
+     { return __pair_get<_Int>::__get(__in); }
+                         ^~~~
+/usr/include/c++/8/utility:217:25: note: suggested alternative: ‘uint’
+     { return __pair_get<_Int>::__get(__in); }
+                         ^~~~
+                         uint
+/usr/include/c++/8/utility:217:29: error: template argument 1 is invalid
+     { return __pair_get<_Int>::__get(__in); }
+                             ^
+/usr/include/c++/8/utility: At global scope:
+/usr/include/c++/8/utility:219:17: error: ‘std::size_t’ has not been declared
+   template<std::size_t _Int, class _Tp1, class _Tp2>
+                 ^~~~~~
+/usr/include/c++/8/utility:220:38: error: ‘_Int’ was not declared in this scope
+     constexpr typename tuple_element<_Int, std::pair<_Tp1, _Tp2>>::type&&
+                                      ^~~~
+/usr/include/c++/8/utility:220:38: note: suggested alternative: ‘uint’
+     constexpr typename tuple_element<_Int, std::pair<_Tp1, _Tp2>>::type&&
+                                      ^~~~
+                                      uint
+/usr/include/c++/8/utility:220:64: error: template argument 1 is invalid
+     constexpr typename tuple_element<_Int, std::pair<_Tp1, _Tp2>>::type&&
+                                                                ^~
+/usr/include/c++/8/utility: In function ‘constexpr int&& std::get(std::pair<_Tp1, _Tp2>&&)’:
+/usr/include/c++/8/utility:222:25: error: ‘_Int’ was not declared in this scope
+     { return __pair_get<_Int>::__move_get(std::move(__in)); }
+                         ^~~~
+/usr/include/c++/8/utility:222:25: note: suggested alternative: ‘uint’
+     { return __pair_get<_Int>::__move_get(std::move(__in)); }
+                         ^~~~
+                         uint
+/usr/include/c++/8/utility:222:29: error: template argument 1 is invalid
+     { return __pair_get<_Int>::__move_get(std::move(__in)); }
+                             ^
+/usr/include/c++/8/utility: At global scope:
+/usr/include/c++/8/utility:224:17: error: ‘std::size_t’ has not been declared
+   template<std::size_t _Int, class _Tp1, class _Tp2>
+                 ^~~~~~
+/usr/include/c++/8/utility:225:44: error: ‘_Int’ was not declared in this scope
+     constexpr const typename tuple_element<_Int, std::pair<_Tp1, _Tp2>>::type&
+                                            ^~~~
+/usr/include/c++/8/utility:225:44: note: suggested alternative: ‘uint’
+     constexpr const typename tuple_element<_Int, std::pair<_Tp1, _Tp2>>::type&
+                                            ^~~~
+                                            uint
+/usr/include/c++/8/utility:225:70: error: template argument 1 is invalid
+     constexpr const typename tuple_element<_Int, std::pair<_Tp1, _Tp2>>::type&
+                                                                      ^~
+/usr/include/c++/8/utility: In function ‘constexpr const int& std::get(const std::pair<_Tp1, _Tp2>&)’:
+/usr/include/c++/8/utility:227:25: error: ‘_Int’ was not declared in this scope
+     { return __pair_get<_Int>::__const_get(__in); }
+                         ^~~~
+/usr/include/c++/8/utility:227:25: note: suggested alternative: ‘uint’
+     { return __pair_get<_Int>::__const_get(__in); }
+                         ^~~~
+                         uint
+/usr/include/c++/8/utility:227:29: error: template argument 1 is invalid
+     { return __pair_get<_Int>::__const_get(__in); }
+                             ^
+/usr/include/c++/8/utility: At global scope:
+/usr/include/c++/8/utility:229:17: error: ‘std::size_t’ has not been declared
+   template<std::size_t _Int, class _Tp1, class _Tp2>
+                 ^~~~~~
+/usr/include/c++/8/utility:230:44: error: ‘_Int’ was not declared in this scope
+     constexpr const typename tuple_element<_Int, std::pair<_Tp1, _Tp2>>::type&&
+                                            ^~~~
+/usr/include/c++/8/utility:230:44: note: suggested alternative: ‘uint’
+     constexpr const typename tuple_element<_Int, std::pair<_Tp1, _Tp2>>::type&&
+                                            ^~~~
+                                            uint
+/usr/include/c++/8/utility:230:70: error: template argument 1 is invalid
+     constexpr const typename tuple_element<_Int, std::pair<_Tp1, _Tp2>>::type&&
+                                                                      ^~
+/usr/include/c++/8/utility: In function ‘constexpr const int&& std::get(const std::pair<_Tp1, _Tp2>&&)’:
+/usr/include/c++/8/utility:232:25: error: ‘_Int’ was not declared in this scope
+     { return __pair_get<_Int>::__const_move_get(std::move(__in)); }
+                         ^~~~
+/usr/include/c++/8/utility:232:25: note: suggested alternative: ‘uint’
+     { return __pair_get<_Int>::__const_move_get(std::move(__in)); }
+                         ^~~~
+                         uint
+/usr/include/c++/8/utility:232:29: error: template argument 1 is invalid
+     { return __pair_get<_Int>::__const_move_get(std::move(__in)); }
+                             ^
+/usr/include/c++/8/utility: At global scope:
+/usr/include/c++/8/utility:307:58: note: invalid template non-type parameter
+       using __type = _Index_tuple<__integer_pack(_Num)...>;
+                                                          ^
+In file included from /usr/include/c++/8/bits/stl_algo.h:62,
+                 from /usr/include/c++/8/algorithm:62,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h:142,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qtguiglobal.h:43,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtwidgetsglobal.h:43,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:43,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
+                 from gui-main.cpp:8:
+/usr/include/c++/8/bits/stl_tempbuf.h: In function ‘std::pair<_Tp*, long int> std::get_temporary_buffer(ptrdiff_t)’:
+/usr/include/c++/8/bits/stl_tempbuf.h:95:20: error: too many arguments to function ‘void* operator new(long unsigned int)’
+        std::nothrow));
+                    ^
+In file included from /usr/include/x86_64-linux-gnu/qt5/QtGui/qtguiglobal.h:43,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtwidgetsglobal.h:43,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:43,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
+                 from gui-main.cpp:8:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h: At global scope:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h:505:42: error: ‘size_t’ is not a member of ‘std’
+ using qsizetype = QIntegerForSizeof<std::size_t>::Signed;
+                                          ^~~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h:505:42: note: suggested alternative:
+In file included from /usr/include/wchar.h:35,
+                 from /usr/include/c++/8/cwchar:44,
+                 from /usr/include/c++/8/bits/postypes.h:40,
+                 from /usr/include/c++/8/iosfwd:40,
+                 from /usr/include/c++/8/ios:38,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/lib/gcc/x86_64-linux-gnu/8/include/stddef.h:216:23: note:   ‘size_t’
+ typedef __SIZE_TYPE__ size_t;
+                       ^~~~~~
+In file included from /usr/include/x86_64-linux-gnu/qt5/QtGui/qtguiglobal.h:43,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtwidgetsglobal.h:43,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:43,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
+                 from gui-main.cpp:8:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h:505:42: error: ‘size_t’ is not a member of ‘std’
+ using qsizetype = QIntegerForSizeof<std::size_t>::Signed;
+                                          ^~~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h:505:42: note: suggested alternative:
+In file included from /usr/include/wchar.h:35,
+                 from /usr/include/c++/8/cwchar:44,
+                 from /usr/include/c++/8/bits/postypes.h:40,
+                 from /usr/include/c++/8/iosfwd:40,
+                 from /usr/include/c++/8/ios:38,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/lib/gcc/x86_64-linux-gnu/8/include/stddef.h:216:23: note:   ‘size_t’
+ typedef __SIZE_TYPE__ size_t;
+                       ^~~~~~
+In file included from /usr/include/x86_64-linux-gnu/qt5/QtGui/qtguiglobal.h:43,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtwidgetsglobal.h:43,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:43,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
+                 from gui-main.cpp:8:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h:505:48: error: template argument 1 is invalid
+ using qsizetype = QIntegerForSizeof<std::size_t>::Signed;
+                                                ^
+In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:48,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
+                 from gui-main.cpp:8:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:609:57: error: ‘std::nullptr_t’ has not been declared
+ Q_DECL_CONSTEXPR inline bool operator==(QChar lhs, std::nullptr_t) Q_DECL_NOTHROW { return lhs.isNull(); }
+                                                         ^~~~~~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:610:57: error: ‘std::nullptr_t’ has not been declared
+ Q_DECL_CONSTEXPR inline bool operator< (QChar,     std::nullptr_t) Q_DECL_NOTHROW { return false; }
+                                                         ^~~~~~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:611:46: error: declaration of ‘operator==’ as non-function
+ Q_DECL_CONSTEXPR inline bool operator==(std::nullptr_t, QChar rhs) Q_DECL_NOTHROW { return rhs.isNull(); }
+                                              ^~~~~~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:611:46: error: ‘nullptr_t’ is not a member of ‘std’
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:611:46: note: suggested alternative:
+In file included from /usr/include/c++/8/bits/cxxabi_init_exception.h:38,
+                 from /usr/include/c++/8/bits/exception_ptr.h:38,
+                 from /usr/include/c++/8/exception:143,
+                 from /usr/include/c++/8/ios:39,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/lib/gcc/x86_64-linux-gnu/8/include/stddef.h:444:29: note:   ‘nullptr_t’
+   typedef decltype(nullptr) nullptr_t;
+                             ^~~~~~~~~
+In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:48,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
+                 from gui-main.cpp:8:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:611:63: error: expected primary-expression before ‘rhs’
+ Q_DECL_CONSTEXPR inline bool operator==(std::nullptr_t, QChar rhs) Q_DECL_NOTHROW { return rhs.isNull(); }
+                                                               ^~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:612:46: error: declaration of ‘operator<’ as non-function
+ Q_DECL_CONSTEXPR inline bool operator< (std::nullptr_t, QChar rhs) Q_DECL_NOTHROW { return !rhs.isNull(); }
+                                              ^~~~~~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:612:46: error: ‘nullptr_t’ is not a member of ‘std’
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:612:46: note: suggested alternative:
+In file included from /usr/include/c++/8/bits/cxxabi_init_exception.h:38,
+                 from /usr/include/c++/8/bits/exception_ptr.h:38,
+                 from /usr/include/c++/8/exception:143,
+                 from /usr/include/c++/8/ios:39,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/lib/gcc/x86_64-linux-gnu/8/include/stddef.h:444:29: note:   ‘nullptr_t’
+   typedef decltype(nullptr) nullptr_t;
+                             ^~~~~~~~~
+In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:48,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
+                 from gui-main.cpp:8:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:612:63: error: expected primary-expression before ‘rhs’
+ Q_DECL_CONSTEXPR inline bool operator< (std::nullptr_t, QChar rhs) Q_DECL_NOTHROW { return !rhs.isNull(); }
+                                                               ^~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:614:57: error: ‘std::nullptr_t’ has not been declared
+ Q_DECL_CONSTEXPR inline bool operator!=(QChar lhs, std::nullptr_t) Q_DECL_NOTHROW { return !operator==(lhs, nullptr); }
+                                                         ^~~~~~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h: In function ‘constexpr bool operator!=(QChar, int)’:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:614:116: error: no matching function for call to ‘operator==(QChar&, std::nullptr_t)’
+ Q_DECL_CONSTEXPR inline bool operator!=(QChar lhs, std::nullptr_t) Q_DECL_NOTHROW { return !operator==(lhs, nullptr); }
+                                                                                                                    ^
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:600:30: note: candidate: ‘constexpr bool operator==(QChar, QChar)’
+ Q_DECL_CONSTEXPR inline bool operator==(QChar c1, QChar c2) Q_DECL_NOTHROW { return c1.ucs == c2.ucs; }
+                              ^~~~~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:600:30: note:   no known conversion for argument 2 from ‘std::nullptr_t’ to ‘QChar’
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:609:30: note: candidate: ‘constexpr bool operator==(QChar, int)’
+ Q_DECL_CONSTEXPR inline bool operator==(QChar lhs, std::nullptr_t) Q_DECL_NOTHROW { return lhs.isNull(); }
+                              ^~~~~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:609:30: note:   no known conversion for argument 2 from ‘std::nullptr_t’ to ‘int’
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h: At global scope:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:615:57: error: ‘std::nullptr_t’ has not been declared
+ Q_DECL_CONSTEXPR inline bool operator>=(QChar lhs, std::nullptr_t) Q_DECL_NOTHROW { return !operator< (lhs, nullptr); }
+                                                         ^~~~~~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h: In function ‘constexpr bool operator>=(QChar, int)’:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:615:116: error: no matching function for call to ‘operator<(QChar&, std::nullptr_t)’
+ Q_DECL_CONSTEXPR inline bool operator>=(QChar lhs, std::nullptr_t) Q_DECL_NOTHROW { return !operator< (lhs, nullptr); }
+                                                                                                                    ^
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:601:30: note: candidate: ‘constexpr bool operator<(QChar, QChar)’
+ Q_DECL_CONSTEXPR inline bool operator< (QChar c1, QChar c2) Q_DECL_NOTHROW { return c1.ucs <  c2.ucs; }
+                              ^~~~~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:601:30: note:   no known conversion for argument 2 from ‘std::nullptr_t’ to ‘QChar’
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:610:30: note: candidate: ‘constexpr bool operator<(QChar, int)’
+ Q_DECL_CONSTEXPR inline bool operator< (QChar,     std::nullptr_t) Q_DECL_NOTHROW { return false; }
+                              ^~~~~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:610:30: note:   no known conversion for argument 2 from ‘std::nullptr_t’ to ‘int’
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h: At global scope:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:616:57: error: ‘std::nullptr_t’ has not been declared
+ Q_DECL_CONSTEXPR inline bool operator> (QChar lhs, std::nullptr_t) Q_DECL_NOTHROW { return  operator< (nullptr, lhs); }
+                                                         ^~~~~~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h: In function ‘constexpr bool operator>(QChar, int)’:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:616:116: error: no matching function for call to ‘operator<(std::nullptr_t, QChar&)’
+ Q_DECL_CONSTEXPR inline bool operator> (QChar lhs, std::nullptr_t) Q_DECL_NOTHROW { return  operator< (nullptr, lhs); }
+                                                                                                                    ^
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:601:30: note: candidate: ‘constexpr bool operator<(QChar, QChar)’
+ Q_DECL_CONSTEXPR inline bool operator< (QChar c1, QChar c2) Q_DECL_NOTHROW { return c1.ucs <  c2.ucs; }
+                              ^~~~~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:601:30: note:   no known conversion for argument 1 from ‘std::nullptr_t’ to ‘QChar’
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:610:30: note: candidate: ‘constexpr bool operator<(QChar, int)’
+ Q_DECL_CONSTEXPR inline bool operator< (QChar,     std::nullptr_t) Q_DECL_NOTHROW { return false; }
+                              ^~~~~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:610:30: note:   no known conversion for argument 1 from ‘std::nullptr_t’ to ‘QChar’
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h: At global scope:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:617:57: error: ‘std::nullptr_t’ has not been declared
+ Q_DECL_CONSTEXPR inline bool operator<=(QChar lhs, std::nullptr_t) Q_DECL_NOTHROW { return !operator< (nullptr, lhs); }
+                                                         ^~~~~~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h: In function ‘constexpr bool operator<=(QChar, int)’:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:617:116: error: no matching function for call to ‘operator<(std::nullptr_t, QChar&)’
+ Q_DECL_CONSTEXPR inline bool operator<=(QChar lhs, std::nullptr_t) Q_DECL_NOTHROW { return !operator< (nullptr, lhs); }
+                                                                                                                    ^
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:601:30: note: candidate: ‘constexpr bool operator<(QChar, QChar)’
+ Q_DECL_CONSTEXPR inline bool operator< (QChar c1, QChar c2) Q_DECL_NOTHROW { return c1.ucs <  c2.ucs; }
+                              ^~~~~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:601:30: note:   no known conversion for argument 1 from ‘std::nullptr_t’ to ‘QChar’
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:610:30: note: candidate: ‘constexpr bool operator<(QChar, int)’
+ Q_DECL_CONSTEXPR inline bool operator< (QChar,     std::nullptr_t) Q_DECL_NOTHROW { return false; }
+                              ^~~~~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:610:30: note:   no known conversion for argument 1 from ‘std::nullptr_t’ to ‘QChar’
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h: At global scope:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:619:46: error: declaration of ‘operator!=’ as non-function
+ Q_DECL_CONSTEXPR inline bool operator!=(std::nullptr_t, QChar rhs) Q_DECL_NOTHROW { return !operator==(nullptr, rhs); }
+                                              ^~~~~~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:619:46: error: ‘nullptr_t’ is not a member of ‘std’
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:619:46: note: suggested alternative:
+In file included from /usr/include/c++/8/bits/cxxabi_init_exception.h:38,
+                 from /usr/include/c++/8/bits/exception_ptr.h:38,
+                 from /usr/include/c++/8/exception:143,
+                 from /usr/include/c++/8/ios:39,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/lib/gcc/x86_64-linux-gnu/8/include/stddef.h:444:29: note:   ‘nullptr_t’
+   typedef decltype(nullptr) nullptr_t;
+                             ^~~~~~~~~
+In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:48,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
+                 from gui-main.cpp:8:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:619:63: error: expected primary-expression before ‘rhs’
+ Q_DECL_CONSTEXPR inline bool operator!=(std::nullptr_t, QChar rhs) Q_DECL_NOTHROW { return !operator==(nullptr, rhs); }
+                                                               ^~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:620:46: error: declaration of ‘operator>=’ as non-function
+ Q_DECL_CONSTEXPR inline bool operator>=(std::nullptr_t, QChar rhs) Q_DECL_NOTHROW { return !operator< (nullptr, rhs); }
+                                              ^~~~~~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:620:46: error: ‘nullptr_t’ is not a member of ‘std’
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:620:46: note: suggested alternative:
+In file included from /usr/include/c++/8/bits/cxxabi_init_exception.h:38,
+                 from /usr/include/c++/8/bits/exception_ptr.h:38,
+                 from /usr/include/c++/8/exception:143,
+                 from /usr/include/c++/8/ios:39,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/lib/gcc/x86_64-linux-gnu/8/include/stddef.h:444:29: note:   ‘nullptr_t’
+   typedef decltype(nullptr) nullptr_t;
+                             ^~~~~~~~~
+In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:48,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
+                 from gui-main.cpp:8:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:620:63: error: expected primary-expression before ‘rhs’
+ Q_DECL_CONSTEXPR inline bool operator>=(std::nullptr_t, QChar rhs) Q_DECL_NOTHROW { return !operator< (nullptr, rhs); }
+                                                               ^~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:621:46: error: declaration of ‘operator>’ as non-function
+ Q_DECL_CONSTEXPR inline bool operator> (std::nullptr_t, QChar rhs) Q_DECL_NOTHROW { return  operator< (rhs, nullptr); }
+                                              ^~~~~~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:621:46: error: ‘nullptr_t’ is not a member of ‘std’
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:621:46: note: suggested alternative:
+In file included from /usr/include/c++/8/bits/cxxabi_init_exception.h:38,
+                 from /usr/include/c++/8/bits/exception_ptr.h:38,
+                 from /usr/include/c++/8/exception:143,
+                 from /usr/include/c++/8/ios:39,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/lib/gcc/x86_64-linux-gnu/8/include/stddef.h:444:29: note:   ‘nullptr_t’
+   typedef decltype(nullptr) nullptr_t;
+                             ^~~~~~~~~
+In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:48,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
+                 from gui-main.cpp:8:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:621:63: error: expected primary-expression before ‘rhs’
+ Q_DECL_CONSTEXPR inline bool operator> (std::nullptr_t, QChar rhs) Q_DECL_NOTHROW { return  operator< (rhs, nullptr); }
+                                                               ^~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:622:46: error: declaration of ‘operator<=’ as non-function
+ Q_DECL_CONSTEXPR inline bool operator<=(std::nullptr_t, QChar rhs) Q_DECL_NOTHROW { return !operator< (rhs, nullptr); }
+                                              ^~~~~~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:622:46: error: ‘nullptr_t’ is not a member of ‘std’
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:622:46: note: suggested alternative:
+In file included from /usr/include/c++/8/bits/cxxabi_init_exception.h:38,
+                 from /usr/include/c++/8/bits/exception_ptr.h:38,
+                 from /usr/include/c++/8/exception:143,
+                 from /usr/include/c++/8/ios:39,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/lib/gcc/x86_64-linux-gnu/8/include/stddef.h:444:29: note:   ‘nullptr_t’
+   typedef decltype(nullptr) nullptr_t;
+                             ^~~~~~~~~
+In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:48,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
+                 from gui-main.cpp:8:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:622:63: error: expected primary-expression before ‘rhs’
+ Q_DECL_CONSTEXPR inline bool operator<=(std::nullptr_t, QChar rhs) Q_DECL_NOTHROW { return !operator< (rhs, nullptr); }
+                                                               ^~~
+In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:49,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
+                 from gui-main.cpp:8:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h: In member function ‘std::__cxx11::string QByteArray::toStdString() const’:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h:672:43: error: no matching function for call to ‘std::__cxx11::basic_string<char>::basic_string(const char*, int)’
+ { return std::string(constData(), length()); }
+                                           ^
+In file included from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/basic_string.h:614:9: note: candidate: ‘template<class _InputIterator, class> std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(_InputIterator, _InputIterator, const _Alloc&)’
+         basic_string(_InputIterator __beg, _InputIterator __end,
+         ^~~~~~~~~~~~
+/usr/include/c++/8/bits/basic_string.h:614:9: note:   template argument deduction/substitution failed:
+In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:49,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
+                 from gui-main.cpp:8:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h:672:43: note:   deduced conflicting types for parameter ‘_InputIterator’ (‘const char*’ and ‘int’)
+ { return std::string(constData(), length()); }
+                                           ^
+In file included from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/basic_string.h:576:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&, const _Alloc&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’
+       basic_string(basic_string&& __str, const _Alloc& __a)
+       ^~~~~~~~~~~~
+/usr/include/c++/8/bits/basic_string.h:576:7: note:   no known conversion for argument 2 from ‘int’ to ‘const std::allocator<char>&’
+/usr/include/c++/8/bits/basic_string.h:572:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, const _Alloc&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’
+       basic_string(const basic_string& __str, const _Alloc& __a)
+       ^~~~~~~~~~~~
+/usr/include/c++/8/bits/basic_string.h:572:7: note:   no known conversion for argument 2 from ‘int’ to ‘const std::allocator<char>&’
+/usr/include/c++/8/bits/basic_string.h:568:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::initializer_list<_Tp>, const _Alloc&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’
+       basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc())
+       ^~~~~~~~~~~~
+/usr/include/c++/8/bits/basic_string.h:568:7: note:   no known conversion for argument 1 from ‘const char*’ to ‘std::initializer_list<char>’
+/usr/include/c++/8/bits/basic_string.h:541:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’
+       basic_string(basic_string&& __str) noexcept
+       ^~~~~~~~~~~~
+/usr/include/c++/8/bits/basic_string.h:541:7: note:   candidate expects 1 argument, 2 provided
+/usr/include/c++/8/bits/basic_string.h:514:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, const _Alloc&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’
+       basic_string(const _CharT* __s, const _Alloc& __a = _Alloc())
+       ^~~~~~~~~~~~
+/usr/include/c++/8/bits/basic_string.h:514:7: note:   no known conversion for argument 2 from ‘int’ to ‘const std::allocator<char>&’
+/usr/include/c++/8/bits/basic_string.h:437:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’
+       basic_string(const basic_string& __str)
+       ^~~~~~~~~~~~
+/usr/include/c++/8/bits/basic_string.h:437:7: note:   candidate expects 1 argument, 2 provided
+/usr/include/c++/8/bits/basic_string.h:429:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _Alloc&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’
+       basic_string(const _Alloc& __a) _GLIBCXX_NOEXCEPT
+       ^~~~~~~~~~~~
+/usr/include/c++/8/bits/basic_string.h:429:7: note:   candidate expects 1 argument, 2 provided
+/usr/include/c++/8/bits/basic_string.h:420:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string() [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’
+       basic_string()
+       ^~~~~~~~~~~~
+/usr/include/c++/8/bits/basic_string.h:420:7: note:   candidate expects 0 arguments, 2 provided
+In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:49,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
+                 from gui-main.cpp:8:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h: In static member function ‘static QByteArray QByteArray::fromStdString(const string&)’:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h:675:37: error: ‘const string’ {aka ‘const class std::__cxx11::basic_string<char>’} has no member named ‘size’
+ { return QByteArray(s.data(), int(s.size())); }
+                                     ^~~~
+In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:53,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
+                 from gui-main.cpp:8:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringalgorithms.h: At global scope:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringalgorithms.h:58:54: error: ‘qsizetype’ does not name a type; did you mean ‘iswctype’?
+ Q_REQUIRED_RESULT Q_CORE_EXPORT Q_DECL_PURE_FUNCTION qsizetype qustrlen(const ushort *str) Q_DECL_NOTHROW;
+                                                      ^~~~~~~~~
+                                                      iswctype
+In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:54,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
+                 from gui-main.cpp:8:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h:113:18: error: ‘ptrdiff_t’ in namespace ‘std’ does not name a type
+     typedef std::ptrdiff_t difference_type;
+                  ^~~~~~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h:114:13: error: ‘qsizetype’ does not name a type; did you mean ‘iswctype’?
+     typedef qsizetype size_type;
+             ^~~~~~~~~
+             iswctype
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h:142:29: error: ‘qsizetype’ does not name a type; did you mean ‘iswctype’?
+     static Q_DECL_CONSTEXPR qsizetype lengthHelperArray(const Char (&)[N]) Q_DECL_NOTHROW
+                             ^~~~~~~~~
+                             iswctype
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h:148:12: error: ‘qsizetype’ does not name a type; did you mean ‘iswctype’?
+     static qsizetype lengthHelperPointer(const Char *str) Q_DECL_NOTHROW
+            ^~~~~~~~~
+            iswctype
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h:160:12: error: ‘qsizetype’ does not name a type; did you mean ‘iswctype’?
+     static qsizetype lengthHelperPointer(const QChar *str) Q_DECL_NOTHROW
+            ^~~~~~~~~
+            iswctype
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h:174:48: error: invalid use of ‘::’
+     Q_DECL_CONSTEXPR QStringView(std::nullptr_t) Q_DECL_NOTHROW
+                                                ^
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h:174:48: error: expected ‘;’ at end of member declaration
+     Q_DECL_CONSTEXPR QStringView(std::nullptr_t) Q_DECL_NOTHROW
+                                                ^
+                                                 ;
+In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h:105,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qtguiglobal.h:43,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtwidgetsglobal.h:43,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:43,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
+                 from gui-main.cpp:8:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h:174:50: error: expected unqualified-id before ‘noexcept’
+     Q_DECL_CONSTEXPR QStringView(std::nullptr_t) Q_DECL_NOTHROW
+                                                  ^~~~~~~~~~~~~~
+In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:54,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
+                 from gui-main.cpp:8:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h:178:51: error: ‘qsizetype’ has not been declared
+     Q_DECL_CONSTEXPR QStringView(const Char *str, qsizetype len)
+                                                   ^~~~~~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h:217:40: error: ‘qsizetype’ does not name a type; did you mean ‘iswctype’?
+     Q_REQUIRED_RESULT Q_DECL_CONSTEXPR qsizetype size() const Q_DECL_NOTHROW { return m_size; }
+                                        ^~~~~~~~~
+                                        iswctype
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h:221:57: error: ‘qsizetype’ has not been declared
+     Q_REQUIRED_RESULT Q_DECL_CONSTEXPR QChar operator[](qsizetype n) const
+                                                         ^~~~~~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h:233:49: error: ‘qsizetype’ has not been declared
+     Q_REQUIRED_RESULT Q_DECL_CONSTEXPR QChar at(qsizetype n) const { return (*this)[n]; }
+                                                 ^~~~~~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h:235:56: error: ‘qsizetype’ has not been declared
+     Q_REQUIRED_RESULT Q_DECL_CONSTEXPR QStringView mid(qsizetype pos) const
+                                                        ^~~~~~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h:237:56: error: ‘qsizetype’ has not been declared
+     Q_REQUIRED_RESULT Q_DECL_CONSTEXPR QStringView mid(qsizetype pos, qsizetype n) const
+                                                        ^~~~~~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h:237:71: error: ‘qsizetype’ has not been declared
+     Q_REQUIRED_RESULT Q_DECL_CONSTEXPR QStringView mid(qsizetype pos, qsizetype n) const
+                                                                       ^~~~~~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h:239:57: error: ‘qsizetype’ has not been declared
+     Q_REQUIRED_RESULT Q_DECL_CONSTEXPR QStringView left(qsizetype n) const
+                                                         ^~~~~~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h:241:58: error: ‘qsizetype’ has not been declared
+     Q_REQUIRED_RESULT Q_DECL_CONSTEXPR QStringView right(qsizetype n) const
+                                                          ^~~~~~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h:243:60: error: ‘qsizetype’ has not been declared
+     Q_REQUIRED_RESULT Q_DECL_CONSTEXPR QStringView chopped(qsizetype n) const
+                                                            ^~~~~~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h:246:44: error: ‘qsizetype’ has not been declared
+     Q_DECL_RELAXED_CONSTEXPR void truncate(qsizetype n)
+                                            ^~~~~~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h:248:40: error: ‘qsizetype’ has not been declared
+     Q_DECL_RELAXED_CONSTEXPR void chop(qsizetype n)
+                                        ^~~~~~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h:298:5: error: ‘qsizetype’ does not name a type; did you mean ‘iswctype’?
+     qsizetype m_size;
+     ^~~~~~~~~
+     iswctype
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h: In constructor ‘constexpr QStringView::QStringView()’:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h:173:11: error: class ‘QStringView’ does not have any field named ‘m_size’
+         : m_size(0), m_data(nullptr) {}
+           ^~~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h: In constructor ‘constexpr QStringView::QStringView(const Char*, int)’:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h:179:11: error: class ‘QStringView’ does not have any field named ‘m_size’
+         : m_size((Q_ASSERT(len >= 0), Q_ASSERT(str || !len), len)),
+           ^~~~~~
+In file included from /usr/include/x86_64-linux-gnu/qt5/QtGui/qtguiglobal.h:43,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtwidgetsglobal.h:43,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:43,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
+                 from gui-main.cpp:8:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h: In member function ‘constexpr QChar QStringView::operator[](int) const’:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h:222:32: error: ‘size’ was not declared in this scope
+     { return Q_ASSERT(n >= 0), Q_ASSERT(n < size()), QChar(m_data[n]); }
+                                ^~~~~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h:222:32: note: suggested alternative: ‘dysize’
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h: In member function ‘constexpr QStringView QStringView::mid(int) const’:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h:236:34: error: ‘size’ was not declared in this scope
+     { return Q_ASSERT(pos >= 0), Q_ASSERT(pos <= size()), QStringView(m_data + pos, m_size - pos); }
+                                  ^~~~~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h:236:34: note: suggested alternative: ‘dysize’
+In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:54,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
+                 from gui-main.cpp:8:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h:236:85: error: ‘m_size’ was not declared in this scope
+     { return Q_ASSERT(pos >= 0), Q_ASSERT(pos <= size()), QStringView(m_data + pos, m_size - pos); }
+                                                                                     ^~~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h:236:85: note: suggested alternative: ‘dysize’
+     { return Q_ASSERT(pos >= 0), Q_ASSERT(pos <= size()), QStringView(m_data + pos, m_size - pos); }
+                                                                                     ^~~~~~
+                                                                                     dysize
+In file included from /usr/include/x86_64-linux-gnu/qt5/QtGui/qtguiglobal.h:43,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtwidgetsglobal.h:43,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:43,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
+                 from gui-main.cpp:8:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h: In member function ‘constexpr QStringView QStringView::mid(int, int) const’:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h:238:52: error: ‘size’ was not declared in this scope
+     { return Q_ASSERT(pos >= 0), Q_ASSERT(n >= 0), Q_ASSERT(pos + n <= size()), QStringView(m_data + pos, n); }
+                                                    ^~~~~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h:238:52: note: suggested alternative: ‘dysize’
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h: In member function ‘constexpr QStringView QStringView::left(int) const’:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h:240:32: error: ‘size’ was not declared in this scope
+     { return Q_ASSERT(n >= 0), Q_ASSERT(n <= size()), QStringView(m_data, n); }
+                                ^~~~~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h:240:32: note: suggested alternative: ‘dysize’
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h: In member function ‘constexpr QStringView QStringView::right(int) const’:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h:242:32: error: ‘size’ was not declared in this scope
+     { return Q_ASSERT(n >= 0), Q_ASSERT(n <= size()), QStringView(m_data + m_size - n, n); }
+                                ^~~~~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h:242:32: note: suggested alternative: ‘dysize’
+In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:54,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
+                 from gui-main.cpp:8:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h:242:76: error: ‘m_size’ was not declared in this scope
+     { return Q_ASSERT(n >= 0), Q_ASSERT(n <= size()), QStringView(m_data + m_size - n, n); }
+                                                                            ^~~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h:242:76: note: suggested alternative: ‘dysize’
+     { return Q_ASSERT(n >= 0), Q_ASSERT(n <= size()), QStringView(m_data + m_size - n, n); }
+                                                                            ^~~~~~
+                                                                            dysize
+In file included from /usr/include/x86_64-linux-gnu/qt5/QtGui/qtguiglobal.h:43,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtwidgetsglobal.h:43,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:43,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
+                 from gui-main.cpp:8:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h: In member function ‘constexpr QStringView QStringView::chopped(int) const’:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h:244:32: error: ‘size’ was not declared in this scope
+     { return Q_ASSERT(n >= 0), Q_ASSERT(n <= size()), QStringView(m_data, m_size - n); }
+                                ^~~~~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h:244:32: note: suggested alternative: ‘dysize’
+In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:54,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
+                 from gui-main.cpp:8:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h:244:75: error: ‘m_size’ was not declared in this scope
+     { return Q_ASSERT(n >= 0), Q_ASSERT(n <= size()), QStringView(m_data, m_size - n); }
+                                                                           ^~~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h:244:75: note: suggested alternative: ‘dysize’
+     { return Q_ASSERT(n >= 0), Q_ASSERT(n <= size()), QStringView(m_data, m_size - n); }
+                                                                           ^~~~~~
+                                                                           dysize
+In file included from /usr/include/x86_64-linux-gnu/qt5/QtGui/qtguiglobal.h:43,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtwidgetsglobal.h:43,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:43,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
+                 from gui-main.cpp:8:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h: In member function ‘constexpr void QStringView::truncate(int)’:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h:247:25: error: ‘size’ was not declared in this scope
+     { Q_ASSERT(n >= 0); Q_ASSERT(n <= size()); m_size = n; }
+                         ^~~~~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h:247:25: note: suggested alternative: ‘dysize’
+In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:54,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
+                 from gui-main.cpp:8:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h:247:48: error: ‘m_size’ was not declared in this scope
+     { Q_ASSERT(n >= 0); Q_ASSERT(n <= size()); m_size = n; }
+                                                ^~~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h:247:48: note: suggested alternative: ‘dysize’
+     { Q_ASSERT(n >= 0); Q_ASSERT(n <= size()); m_size = n; }
+                                                ^~~~~~
+                                                dysize
+In file included from /usr/include/x86_64-linux-gnu/qt5/QtGui/qtguiglobal.h:43,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtwidgetsglobal.h:43,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:43,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
+                 from gui-main.cpp:8:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h: In member function ‘constexpr void QStringView::chop(int)’:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h:249:25: error: ‘size’ was not declared in this scope
+     { Q_ASSERT(n >= 0); Q_ASSERT(n <= size()); m_size -= n; }
+                         ^~~~~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h:249:25: note: suggested alternative: ‘dysize’
+In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:54,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
+                 from gui-main.cpp:8:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h:249:48: error: ‘m_size’ was not declared in this scope
+     { Q_ASSERT(n >= 0); Q_ASSERT(n <= size()); m_size -= n; }
+                                                ^~~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h:249:48: note: suggested alternative: ‘dysize’
+     { Q_ASSERT(n >= 0); Q_ASSERT(n <= size()); m_size -= n; }
+                                                ^~~~~~
+                                                dysize
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h: In member function ‘QStringView::value_type* QStringView::end() const’:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h:276:87: error: ‘size’ was not declared in this scope
+     Q_REQUIRED_RESULT const_iterator end()     const Q_DECL_NOTHROW { return data() + size(); }
+                                                                                       ^~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h:276:87: note: suggested alternative: ‘dysize’
+     Q_REQUIRED_RESULT const_iterator end()     const Q_DECL_NOTHROW { return data() + size(); }
+                                                                                       ^~~~
+                                                                                       dysize
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h: In member function ‘constexpr bool QStringView::empty() const’:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h:284:83: error: ‘size’ was not declared in this scope
+     Q_REQUIRED_RESULT Q_DECL_CONSTEXPR bool empty() const Q_DECL_NOTHROW { return size() == 0; }
+                                                                                   ^~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h:284:83: note: suggested alternative: ‘dysize’
+     Q_REQUIRED_RESULT Q_DECL_CONSTEXPR bool empty() const Q_DECL_NOTHROW { return size() == 0; }
+                                                                                   ^~~~
+                                                                                   dysize
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h: In member function ‘constexpr QChar QStringView::back() const’:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h:286:102: error: ‘m_size’ was not declared in this scope
+     Q_REQUIRED_RESULT Q_DECL_CONSTEXPR QChar back()  const { return Q_ASSERT(!empty()), QChar(m_data[m_size - 1]); }
+                                                                                                      ^~~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h:286:102: note: suggested alternative: ‘dysize’
+     Q_REQUIRED_RESULT Q_DECL_CONSTEXPR QChar back()  const { return Q_ASSERT(!empty()), QChar(m_data[m_size - 1]); }
+                                                                                                      ^~~~~~
+                                                                                                      dysize
+In file included from /usr/include/x86_64-linux-gnu/qt5/QtGui/qtguiglobal.h:43,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtwidgetsglobal.h:43,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:43,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
+                 from gui-main.cpp:8:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h: In member function ‘constexpr int QStringView::length() const’:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h:294:14: error: ‘size’ was not declared in this scope
+     { return Q_ASSERT(int(size()) == size()), int(size()); }
+              ^~~~~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h:294:14: note: suggested alternative: ‘dysize’
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h: In member function ‘QString QStringView::toString() const’:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:921:10: error: ‘size’ was not declared in this scope
+ { return Q_ASSERT(size() == length()), QString(data(), length()); }
+          ^~~~~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:921:10: note: suggested alternative: ‘dysize’
+In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
+                 from gui-main.cpp:8:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h: In static member function ‘static QString QString::fromStdString(const string&)’:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1370:35: error: ‘const string’ {aka ‘const class std::__cxx11::basic_string<char>’} has no member named ‘size’
+ { return fromUtf8(s.data(), int(s.size())); }
+                                   ^~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h: In member function ‘std::__cxx11::wstring QString::toStdWString() const’:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1375:9: error: ‘std::__cxx11::wstring’ {aka ‘class std::__cxx11::basic_string<wchar_t>’} has no member named ‘resize’
+     str.resize(length());
+         ^~~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1383:9: error: ‘std::__cxx11::wstring’ {aka ‘class std::__cxx11::basic_string<wchar_t>’} has no member named ‘resize’
+     str.resize(toWCharArray(&(*str.begin())));
+         ^~~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h: In static member function ‘static QString QString::fromStdWString(const wstring&)’:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1388:41: error: ‘const wstring’ {aka ‘const class std::__cxx11::basic_string<wchar_t>’} has no member named ‘size’
+ { return fromWCharArray(s.data(), int(s.size())); }
+                                         ^~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h: In static member function ‘static QString QString::fromStdU16String(const u16string&)’:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1392:36: error: ‘const u16string’ {aka ‘const class std::__cxx11::basic_string<char16_t>’} has no member named ‘size’
+ { return fromUtf16(s.data(), int(s.size())); }
+                                    ^~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h: In member function ‘std::__cxx11::u16string QString::toStdU16String() const’:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1395:77: error: no matching function for call to ‘std::__cxx11::basic_string<char16_t>::basic_string(const char16_t*, int)’
+ { return std::u16string(reinterpret_cast<const char16_t*>(utf16()), length()); }
+                                                                             ^
+In file included from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/basic_string.h:614:9: note: candidate: ‘template<class _InputIterator, class> std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(_InputIterator, _InputIterator, const _Alloc&)’
+         basic_string(_InputIterator __beg, _InputIterator __end,
+         ^~~~~~~~~~~~
+/usr/include/c++/8/bits/basic_string.h:614:9: note:   template argument deduction/substitution failed:
+In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
+                 from gui-main.cpp:8:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1395:77: note:   deduced conflicting types for parameter ‘_InputIterator’ (‘const char16_t*’ and ‘int’)
+ { return std::u16string(reinterpret_cast<const char16_t*>(utf16()), length()); }
+                                                                             ^
+In file included from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/basic_string.h:576:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&, const _Alloc&) [with _CharT = char16_t; _Traits = std::char_traits<char16_t>; _Alloc = std::allocator<char16_t>]’
+       basic_string(basic_string&& __str, const _Alloc& __a)
+       ^~~~~~~~~~~~
+/usr/include/c++/8/bits/basic_string.h:576:7: note:   no known conversion for argument 2 from ‘int’ to ‘const std::allocator<char16_t>&’
+/usr/include/c++/8/bits/basic_string.h:572:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, const _Alloc&) [with _CharT = char16_t; _Traits = std::char_traits<char16_t>; _Alloc = std::allocator<char16_t>]’
+       basic_string(const basic_string& __str, const _Alloc& __a)
+       ^~~~~~~~~~~~
+/usr/include/c++/8/bits/basic_string.h:572:7: note:   no known conversion for argument 2 from ‘int’ to ‘const std::allocator<char16_t>&’
+/usr/include/c++/8/bits/basic_string.h:568:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::initializer_list<_Tp>, const _Alloc&) [with _CharT = char16_t; _Traits = std::char_traits<char16_t>; _Alloc = std::allocator<char16_t>]’
+       basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc())
+       ^~~~~~~~~~~~
+/usr/include/c++/8/bits/basic_string.h:568:7: note:   no known conversion for argument 1 from ‘const char16_t*’ to ‘std::initializer_list<char16_t>’
+/usr/include/c++/8/bits/basic_string.h:541:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&) [with _CharT = char16_t; _Traits = std::char_traits<char16_t>; _Alloc = std::allocator<char16_t>]’
+       basic_string(basic_string&& __str) noexcept
+       ^~~~~~~~~~~~
+/usr/include/c++/8/bits/basic_string.h:541:7: note:   candidate expects 1 argument, 2 provided
+/usr/include/c++/8/bits/basic_string.h:514:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, const _Alloc&) [with _CharT = char16_t; _Traits = std::char_traits<char16_t>; _Alloc = std::allocator<char16_t>]’
+       basic_string(const _CharT* __s, const _Alloc& __a = _Alloc())
+       ^~~~~~~~~~~~
+/usr/include/c++/8/bits/basic_string.h:514:7: note:   no known conversion for argument 2 from ‘int’ to ‘const std::allocator<char16_t>&’
+/usr/include/c++/8/bits/basic_string.h:437:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char16_t; _Traits = std::char_traits<char16_t>; _Alloc = std::allocator<char16_t>]’
+       basic_string(const basic_string& __str)
+       ^~~~~~~~~~~~
+/usr/include/c++/8/bits/basic_string.h:437:7: note:   candidate expects 1 argument, 2 provided
+/usr/include/c++/8/bits/basic_string.h:429:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _Alloc&) [with _CharT = char16_t; _Traits = std::char_traits<char16_t>; _Alloc = std::allocator<char16_t>]’
+       basic_string(const _Alloc& __a) _GLIBCXX_NOEXCEPT
+       ^~~~~~~~~~~~
+/usr/include/c++/8/bits/basic_string.h:429:7: note:   candidate expects 1 argument, 2 provided
+/usr/include/c++/8/bits/basic_string.h:420:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string() [with _CharT = char16_t; _Traits = std::char_traits<char16_t>; _Alloc = std::allocator<char16_t>]’
+       basic_string()
+       ^~~~~~~~~~~~
+/usr/include/c++/8/bits/basic_string.h:420:7: note:   candidate expects 0 arguments, 2 provided
+In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
+                 from gui-main.cpp:8:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h: In static member function ‘static QString QString::fromStdU32String(const u32string&)’:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1398:35: error: ‘const u32string’ {aka ‘const class std::__cxx11::basic_string<char32_t>’} has no member named ‘size’
+ { return fromUcs4(s.data(), int(s.size())); }
+                                   ^~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h: In member function ‘std::__cxx11::u32string QString::toStdU32String() const’:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1402:48: error: no matching function for call to ‘std::__cxx11::basic_string<char32_t>::basic_string(int, char32_t)’
+     std::u32string u32str(length(), char32_t(0));
+                                                ^
+In file included from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/basic_string.h:614:9: note: candidate: ‘template<class _InputIterator, class> std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(_InputIterator, _InputIterator, const _Alloc&)’
+         basic_string(_InputIterator __beg, _InputIterator __end,
+         ^~~~~~~~~~~~
+/usr/include/c++/8/bits/basic_string.h:614:9: note:   template argument deduction/substitution failed:
+In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
+                 from gui-main.cpp:8:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1402:48: note:   deduced conflicting types for parameter ‘_InputIterator’ (‘int’ and ‘char32_t’)
+     std::u32string u32str(length(), char32_t(0));
+                                                ^
+In file included from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/basic_string.h:576:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&, const _Alloc&) [with _CharT = char32_t; _Traits = std::char_traits<char32_t>; _Alloc = std::allocator<char32_t>]’
+       basic_string(basic_string&& __str, const _Alloc& __a)
+       ^~~~~~~~~~~~
+/usr/include/c++/8/bits/basic_string.h:576:7: note:   no known conversion for argument 1 from ‘int’ to ‘std::__cxx11::basic_string<char32_t>&&’
+/usr/include/c++/8/bits/basic_string.h:572:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, const _Alloc&) [with _CharT = char32_t; _Traits = std::char_traits<char32_t>; _Alloc = std::allocator<char32_t>]’
+       basic_string(const basic_string& __str, const _Alloc& __a)
+       ^~~~~~~~~~~~
+/usr/include/c++/8/bits/basic_string.h:572:7: note:   no known conversion for argument 1 from ‘int’ to ‘const std::__cxx11::basic_string<char32_t>&’
+/usr/include/c++/8/bits/basic_string.h:568:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::initializer_list<_Tp>, const _Alloc&) [with _CharT = char32_t; _Traits = std::char_traits<char32_t>; _Alloc = std::allocator<char32_t>]’
+       basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc())
+       ^~~~~~~~~~~~
+/usr/include/c++/8/bits/basic_string.h:568:7: note:   no known conversion for argument 1 from ‘int’ to ‘std::initializer_list<char32_t>’
+/usr/include/c++/8/bits/basic_string.h:541:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&) [with _CharT = char32_t; _Traits = std::char_traits<char32_t>; _Alloc = std::allocator<char32_t>]’
+       basic_string(basic_string&& __str) noexcept
+       ^~~~~~~~~~~~
+/usr/include/c++/8/bits/basic_string.h:541:7: note:   candidate expects 1 argument, 2 provided
+/usr/include/c++/8/bits/basic_string.h:514:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, const _Alloc&) [with _CharT = char32_t; _Traits = std::char_traits<char32_t>; _Alloc = std::allocator<char32_t>]’
+       basic_string(const _CharT* __s, const _Alloc& __a = _Alloc())
+       ^~~~~~~~~~~~
+/usr/include/c++/8/bits/basic_string.h:514:7: note:   no known conversion for argument 2 from ‘char32_t’ to ‘const std::allocator<char32_t>&’
+/usr/include/c++/8/bits/basic_string.h:437:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char32_t; _Traits = std::char_traits<char32_t>; _Alloc = std::allocator<char32_t>]’
+       basic_string(const basic_string& __str)
+       ^~~~~~~~~~~~
+/usr/include/c++/8/bits/basic_string.h:437:7: note:   candidate expects 1 argument, 2 provided
+/usr/include/c++/8/bits/basic_string.h:429:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _Alloc&) [with _CharT = char32_t; _Traits = std::char_traits<char32_t>; _Alloc = std::allocator<char32_t>]’
+       basic_string(const _Alloc& __a) _GLIBCXX_NOEXCEPT
+       ^~~~~~~~~~~~
+/usr/include/c++/8/bits/basic_string.h:429:7: note:   candidate expects 1 argument, 2 provided
+/usr/include/c++/8/bits/basic_string.h:420:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string() [with _CharT = char32_t; _Traits = std::char_traits<char32_t>; _Alloc = std::allocator<char32_t>]’
+       basic_string()
+       ^~~~~~~~~~~~
+/usr/include/c++/8/bits/basic_string.h:420:7: note:   candidate expects 0 arguments, 2 provided
+In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
+                 from gui-main.cpp:8:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1403:81: error: no match for ‘operator[]’ (operand types are ‘std::__cxx11::u32string’ {aka ‘std::__cxx11::basic_string<char32_t>’} and ‘int’)
+     int len = toUcs4_helper(d->data(), length(), reinterpret_cast<uint*>(&u32str[0]));
+                                                                                 ^
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1404:12: error: ‘std::__cxx11::u32string’ {aka ‘class std::__cxx11::basic_string<char32_t>’} has no member named ‘resize’
+     u32str.resize(len);
+            ^~~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h: In function ‘bool operator==(QStringView, QStringView)’:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1729:86: error: ‘class QStringView’ has no member named ‘size’
+ inline bool operator==(QStringView lhs, QStringView rhs) Q_DECL_NOTHROW { return lhs.size() == rhs.size() && QtPrivate::compareStrings(lhs, rhs) == 0; }
+                                                                                      ^~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1729:100: error: ‘class QStringView’ has no member named ‘size’
+ inline bool operator==(QStringView lhs, QStringView rhs) Q_DECL_NOTHROW { return lhs.size() == rhs.size() && QtPrivate::compareStrings(lhs, rhs) == 0; }
+                                                                                                    ^~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h: In function ‘bool operator==(QStringView, QLatin1String)’:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1752:88: error: ‘class QStringView’ has no member named ‘size’
+ inline bool operator==(QStringView lhs, QLatin1String rhs) Q_DECL_NOTHROW { return lhs.size() == rhs.size() && QtPrivate::compareStrings(lhs, rhs) == 0; }
+                                                                                        ^~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h: In function ‘bool operator==(QLatin1String, QStringView)’:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1759:102: error: ‘class QStringView’ has no member named ‘size’
+ inline bool operator==(QLatin1String lhs, QStringView rhs) Q_DECL_NOTHROW { return lhs.size() == rhs.size() && QtPrivate::compareStrings(lhs, rhs) == 0; }
+                                                                                                      ^~~~
+In file included from /usr/include/c++/8/bits/stl_list.h:63,
+                 from /usr/include/c++/8/list:63,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h:50,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:49,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:46,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
+                 from gui-main.cpp:8:
+/usr/include/c++/8/bits/allocated_ptr.h: At global scope:
+/usr/include/c++/8/bits/allocated_ptr.h:78:31: error: declaration of ‘operator=’ as non-function
+       operator=(std::nullptr_t) noexcept
+                               ^
+/usr/include/c++/8/bits/allocated_ptr.h:78:15: error: expected ‘;’ at end of member declaration
+       operator=(std::nullptr_t) noexcept
+               ^
+                ;
+/usr/include/c++/8/bits/allocated_ptr.h:78:31: error: invalid use of ‘::’
+       operator=(std::nullptr_t) noexcept
+                               ^
+/usr/include/c++/8/bits/allocated_ptr.h:78:31: error: expected ‘;’ at end of member declaration
+       operator=(std::nullptr_t) noexcept
+                               ^
+                                ;
+/usr/include/c++/8/bits/allocated_ptr.h:78:33: error: expected unqualified-id before ‘noexcept’
+       operator=(std::nullptr_t) noexcept
+                                 ^~~~~~~~
+In file included from /usr/include/c++/8/bits/stl_list.h:64,
+                 from /usr/include/c++/8/list:63,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h:50,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:49,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:46,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
+                 from gui-main.cpp:8:
+/usr/include/c++/8/ext/aligned_buffer.h:61:42: error: invalid use of ‘::’
+       __aligned_membuf(std::nullptr_t) { }
+                                          ^
+/usr/include/c++/8/ext/aligned_buffer.h:61:42: error: expected ‘;’ at end of member declaration
+       __aligned_membuf(std::nullptr_t) { }
+                                          ^
+                                           ;
+/usr/include/c++/8/ext/aligned_buffer.h:99:42: error: invalid use of ‘::’
+       __aligned_buffer(std::nullptr_t) { }
+                                          ^
+/usr/include/c++/8/ext/aligned_buffer.h:99:42: error: expected ‘;’ at end of member declaration
+       __aligned_buffer(std::nullptr_t) { }
+                                          ^
+                                           ;
+In file included from /usr/include/c++/8/list:63,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h:50,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:49,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:46,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
+                 from gui-main.cpp:8:
+/usr/include/c++/8/bits/stl_list.h:106:12: error: ‘size_t’ in namespace ‘std’ does not name a type
+       std::size_t _M_size;
+            ^~~~~~
+/usr/include/c++/8/bits/stl_list.h: In constructor ‘std::__detail::_List_node_header::_List_node_header(std::__detail::_List_node_header&&)’:
+/usr/include/c++/8/bits/stl_list.h:116:9: error: class ‘std::__detail::_List_node_header’ does not have any field named ‘_M_size’
+       , _M_size(__x._M_size)
+         ^~~~~~~
+/usr/include/c++/8/bits/stl_list.h:116:21: error: ‘struct std::__detail::_List_node_header’ has no member named ‘_M_size’; did you mean ‘_M_base’?
+       , _M_size(__x._M_size)
+                     ^~~~~~~
+                     _M_base
+/usr/include/c++/8/bits/stl_list.h: In member function ‘void std::__detail::_List_node_header::_M_move_nodes(std::__detail::_List_node_header&&)’:
+/usr/include/c++/8/bits/stl_list.h:141:6: error: ‘_M_size’ was not declared in this scope
+      _M_size = __x._M_size;
+      ^~~~~~~
+/usr/include/c++/8/bits/stl_list.h:141:6: note: suggested alternative: ‘_M_base’
+      _M_size = __x._M_size;
+      ^~~~~~~
+      _M_base
+/usr/include/c++/8/bits/stl_list.h:141:20: error: ‘struct std::__detail::_List_node_header’ has no member named ‘_M_size’; did you mean ‘_M_base’?
+      _M_size = __x._M_size;
+                    ^~~~~~~
+                    _M_base
+/usr/include/c++/8/bits/stl_list.h: In member function ‘void std::__detail::_List_node_header::_M_init()’:
+/usr/include/c++/8/bits/stl_list.h:153:8: error: ‘struct std::__detail::_List_node_header’ has no member named ‘_M_size’; did you mean ‘_M_base’?
+  this->_M_size = 0;
+        ^~~~~~~
+        _M_base
+/usr/include/c++/8/bits/stl_list.h: In function ‘ptrdiff_t std::__distance(std::_List_const_iterator<_Tp>, std::_List_const_iterator<_Tp>, std::input_iterator_tag)’:
+/usr/include/c++/8/bits/stl_list.h:2082:56: error: ‘const _Sentinel’ {aka ‘const struct std::__detail::_List_node_header’} has no member named ‘_M_size’; did you mean ‘_M_base’?
+  return static_cast<const _Sentinel*>(__last._M_node)->_M_size;
+                                                        ^~~~~~~
+                                                        _M_base
+In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:53,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:46,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
+                 from gui-main.cpp:8:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qscopedpointer.h: At global scope:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qscopedpointer.h:196:68: error: ‘std::nullptr_t’ has not been declared
+ inline bool operator==(const QScopedPointer<T, Cleanup> &lhs, std::nullptr_t) Q_DECL_NOTHROW
+                                                                    ^~~~~~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qscopedpointer.h:202:29: error: declaration of ‘operator==’ as non-function
+ inline bool operator==(std::nullptr_t, const QScopedPointer<T, Cleanup> &rhs) Q_DECL_NOTHROW
+                             ^~~~~~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qscopedpointer.h:202:29: error: ‘nullptr_t’ is not a member of ‘std’
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qscopedpointer.h:202:29: note: suggested alternative:
+In file included from /usr/include/c++/8/bits/cxxabi_init_exception.h:38,
+                 from /usr/include/c++/8/bits/exception_ptr.h:38,
+                 from /usr/include/c++/8/exception:143,
+                 from /usr/include/c++/8/ios:39,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/lib/gcc/x86_64-linux-gnu/8/include/stddef.h:444:29: note:   ‘nullptr_t’
+   typedef decltype(nullptr) nullptr_t;
+                             ^~~~~~~~~
+In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:53,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:46,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
+                 from gui-main.cpp:8:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qscopedpointer.h:202:40: error: expected primary-expression before ‘const’
+ inline bool operator==(std::nullptr_t, const QScopedPointer<T, Cleanup> &rhs) Q_DECL_NOTHROW
+                                        ^~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qscopedpointer.h:202:71: error: expected primary-expression before ‘>’ token
+ inline bool operator==(std::nullptr_t, const QScopedPointer<T, Cleanup> &rhs) Q_DECL_NOTHROW
+                                                                       ^
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qscopedpointer.h:202:74: error: ‘rhs’ was not declared in this scope
+ inline bool operator==(std::nullptr_t, const QScopedPointer<T, Cleanup> &rhs) Q_DECL_NOTHROW
+                                                                          ^~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qscopedpointer.h:208:68: error: ‘std::nullptr_t’ has not been declared
+ inline bool operator!=(const QScopedPointer<T, Cleanup> &lhs, std::nullptr_t) Q_DECL_NOTHROW
+                                                                    ^~~~~~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qscopedpointer.h:214:29: error: declaration of ‘operator!=’ as non-function
+ inline bool operator!=(std::nullptr_t, const QScopedPointer<T, Cleanup> &rhs) Q_DECL_NOTHROW
+                             ^~~~~~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qscopedpointer.h:214:29: error: ‘nullptr_t’ is not a member of ‘std’
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qscopedpointer.h:214:29: note: suggested alternative:
+In file included from /usr/include/c++/8/bits/cxxabi_init_exception.h:38,
+                 from /usr/include/c++/8/bits/exception_ptr.h:38,
+                 from /usr/include/c++/8/exception:143,
+                 from /usr/include/c++/8/ios:39,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/lib/gcc/x86_64-linux-gnu/8/include/stddef.h:444:29: note:   ‘nullptr_t’
+   typedef decltype(nullptr) nullptr_t;
+                             ^~~~~~~~~
+In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:53,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:46,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
+                 from gui-main.cpp:8:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qscopedpointer.h:214:40: error: expected primary-expression before ‘const’
+ inline bool operator!=(std::nullptr_t, const QScopedPointer<T, Cleanup> &rhs) Q_DECL_NOTHROW
+                                        ^~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qscopedpointer.h:214:71: error: expected primary-expression before ‘>’ token
+ inline bool operator!=(std::nullptr_t, const QScopedPointer<T, Cleanup> &rhs) Q_DECL_NOTHROW
+                                                                       ^
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qscopedpointer.h:214:74: error: ‘rhs’ was not declared in this scope
+ inline bool operator!=(std::nullptr_t, const QScopedPointer<T, Cleanup> &rhs) Q_DECL_NOTHROW
+                                                                          ^~~
+In file included from /usr/include/c++/8/tuple:39,
+                 from /usr/include/c++/8/bits/stl_map.h:63,
+                 from /usr/include/c++/8/map:61,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:55,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:54,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:46,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
+                 from gui-main.cpp:8:
+/usr/include/c++/8/array:47:31: error: ‘std::size_t’ has not been declared
+   template<typename _Tp, std::size_t _Nm>
+                               ^~~~~~
+/usr/include/c++/8/array:50:25: error: ‘_Nm’ was not declared in this scope
+       typedef _Tp _Type[_Nm];
+                         ^~~
+/usr/include/c++/8/array:55:20: error: ‘_Type’ does not name a type; did you mean ‘_Tp’?
+       _S_ref(const _Type& __t, std::size_t __n) noexcept
+                    ^~~~~
+                    _Tp
+/usr/include/c++/8/array:55:37: error: ‘std::size_t’ has not been declared
+       _S_ref(const _Type& __t, std::size_t __n) noexcept
+                                     ^~~~~~
+/usr/include/c++/8/array:59:20: error: ‘_Type’ does not name a type; did you mean ‘_Tp’?
+       _S_ptr(const _Type& __t) noexcept
+                    ^~~~~
+                    _Tp
+/usr/include/c++/8/array:93:31: error: ‘std::size_t’ has not been declared
+   template<typename _Tp, std::size_t _Nm>
+                               ^~~~~~
+/usr/include/c++/8/array:103:20: error: ‘size_t’ in namespace ‘std’ does not name a type
+       typedef std::size_t                           size_type;
+                    ^~~~~~
+/usr/include/c++/8/array:104:20: error: ‘ptrdiff_t’ in namespace ‘std’ does not name a type
+       typedef std::ptrdiff_t                          difference_type;
+                    ^~~~~~~~~
+/usr/include/c++/8/array:109:51: error: ‘_Nm’ was not declared in this scope
+       typedef _GLIBCXX_STD_C::__array_traits<_Tp, _Nm> _AT_Type;
+                                                   ^~~
+/usr/include/c++/8/array:109:54: error: template argument 2 is invalid
+       typedef _GLIBCXX_STD_C::__array_traits<_Tp, _Nm> _AT_Type;
+                                                      ^
+/usr/include/c++/8/array:110:16: error: ‘_AT_Type’ is not a class, namespace, or enumeration
+       typename _AT_Type::_Type                         _M_elems;
+                ^~~~~~~~
+/usr/include/c++/8/array:121:16: error: ‘_AT_Type’ is not a class, namespace, or enumeration
+       noexcept(_AT_Type::_Is_nothrow_swappable::value)
+                ^~~~~~~~
+/usr/include/c++/8/array:174:17: error: ‘size_type’ does not name a type; did you mean ‘true_type’?
+       constexpr size_type
+                 ^~~~~~~~~
+                 true_type
+/usr/include/c++/8/array:177:17: error: ‘size_type’ does not name a type; did you mean ‘true_type’?
+       constexpr size_type
+                 ^~~~~~~~~
+                 true_type
+/usr/include/c++/8/array:185:18: error: ‘size_type’ has not been declared
+       operator[](size_type __n) noexcept
+                  ^~~~~~~~~
+/usr/include/c++/8/array:189:18: error: ‘size_type’ has not been declared
+       operator[](size_type __n) const noexcept
+                  ^~~~~~~~~
+/usr/include/c++/8/array:193:10: error: ‘size_type’ has not been declared
+       at(size_type __n)
+          ^~~~~~~~~
+/usr/include/c++/8/array:203:10: error: ‘size_type’ has not been declared
+       at(size_type __n) const
+          ^~~~~~~~~
+/usr/include/c++/8/array:250:31: error: ‘std::size_t’ has not been declared
+   template<typename _Tp, std::size_t _Nm>
+                               ^~~~~~
+/usr/include/c++/8/array:252:33: error: ‘_Nm’ was not declared in this scope
+     operator==(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
+                                 ^~~
+/usr/include/c++/8/array:252:36: error: template argument 2 is invalid
+     operator==(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
+                                    ^
+/usr/include/c++/8/array:252:63: error: ‘_Nm’ was not declared in this scope
+     operator==(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
+                                                               ^~~
+/usr/include/c++/8/array:252:66: error: template argument 2 is invalid
+     operator==(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
+                                                                  ^
+/usr/include/c++/8/array:252:74: error: ‘bool std::operator==(const int&, const int&)’ must have an argument of class or enumerated type
+     operator==(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
+                                                                          ^
+/usr/include/c++/8/array:255:31: error: ‘std::size_t’ has not been declared
+   template<typename _Tp, std::size_t _Nm>
+                               ^~~~~~
+/usr/include/c++/8/array:257:33: error: ‘_Nm’ was not declared in this scope
+     operator!=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
+                                 ^~~
+/usr/include/c++/8/array:257:36: error: template argument 2 is invalid
+     operator!=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
+                                    ^
+/usr/include/c++/8/array:257:63: error: ‘_Nm’ was not declared in this scope
+     operator!=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
+                                                               ^~~
+/usr/include/c++/8/array:257:66: error: template argument 2 is invalid
+     operator!=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
+                                                                  ^
+/usr/include/c++/8/array:257:74: error: ‘bool std::operator!=(const int&, const int&)’ must have an argument of class or enumerated type
+     operator!=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
+                                                                          ^
+/usr/include/c++/8/array:260:31: error: ‘std::size_t’ has not been declared
+   template<typename _Tp, std::size_t _Nm>
+                               ^~~~~~
+/usr/include/c++/8/array:262:32: error: ‘_Nm’ was not declared in this scope
+     operator<(const array<_Tp, _Nm>& __a, const array<_Tp, _Nm>& __b)
+                                ^~~
+/usr/include/c++/8/array:262:35: error: template argument 2 is invalid
+     operator<(const array<_Tp, _Nm>& __a, const array<_Tp, _Nm>& __b)
+                                   ^
+/usr/include/c++/8/array:262:60: error: ‘_Nm’ was not declared in this scope
+     operator<(const array<_Tp, _Nm>& __a, const array<_Tp, _Nm>& __b)
+                                                            ^~~
+/usr/include/c++/8/array:262:63: error: template argument 2 is invalid
+     operator<(const array<_Tp, _Nm>& __a, const array<_Tp, _Nm>& __b)
+                                                               ^
+/usr/include/c++/8/array:262:69: error: ‘bool std::operator<(const int&, const int&)’ must have an argument of class or enumerated type
+     operator<(const array<_Tp, _Nm>& __a, const array<_Tp, _Nm>& __b)
+                                                                     ^
+/usr/include/c++/8/array:268:31: error: ‘std::size_t’ has not been declared
+   template<typename _Tp, std::size_t _Nm>
+                               ^~~~~~
+/usr/include/c++/8/array:270:32: error: ‘_Nm’ was not declared in this scope
+     operator>(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
+                                ^~~
+/usr/include/c++/8/array:270:35: error: template argument 2 is invalid
+     operator>(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
+                                   ^
+/usr/include/c++/8/array:270:62: error: ‘_Nm’ was not declared in this scope
+     operator>(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
+                                                              ^~~
+/usr/include/c++/8/array:270:65: error: template argument 2 is invalid
+     operator>(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
+                                                                 ^
+/usr/include/c++/8/array:270:73: error: ‘bool std::operator>(const int&, const int&)’ must have an argument of class or enumerated type
+     operator>(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
+                                                                         ^
+/usr/include/c++/8/array:273:31: error: ‘std::size_t’ has not been declared
+   template<typename _Tp, std::size_t _Nm>
+                               ^~~~~~
+/usr/include/c++/8/array:275:33: error: ‘_Nm’ was not declared in this scope
+     operator<=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
+                                 ^~~
+/usr/include/c++/8/array:275:36: error: template argument 2 is invalid
+     operator<=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
+                                    ^
+/usr/include/c++/8/array:275:63: error: ‘_Nm’ was not declared in this scope
+     operator<=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
+                                                               ^~~
+/usr/include/c++/8/array:275:66: error: template argument 2 is invalid
+     operator<=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
+                                                                  ^
+/usr/include/c++/8/array:275:74: error: ‘bool std::operator<=(const int&, const int&)’ must have an argument of class or enumerated type
+     operator<=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
+                                                                          ^
+/usr/include/c++/8/array:278:31: error: ‘std::size_t’ has not been declared
+   template<typename _Tp, std::size_t _Nm>
+                               ^~~~~~
+/usr/include/c++/8/array:280:33: error: ‘_Nm’ was not declared in this scope
+     operator>=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
+                                 ^~~
+/usr/include/c++/8/array:280:36: error: template argument 2 is invalid
+     operator>=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
+                                    ^
+/usr/include/c++/8/array:280:63: error: ‘_Nm’ was not declared in this scope
+     operator>=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
+                                                               ^~~
+/usr/include/c++/8/array:280:66: error: template argument 2 is invalid
+     operator>=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
+                                                                  ^
+/usr/include/c++/8/array:280:74: error: ‘bool std::operator>=(const int&, const int&)’ must have an argument of class or enumerated type
+     operator>=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
+                                                                          ^
+/usr/include/c++/8/array:284:31: error: ‘std::size_t’ has not been declared
+   template<typename _Tp, std::size_t _Nm>
+                               ^~~~~~
+/usr/include/c++/8/array:289:43: error: ‘_Nm’ was not declared in this scope
+       _GLIBCXX_STD_C::__array_traits<_Tp, _Nm>::_Is_swappable::value
+                                           ^~~
+/usr/include/c++/8/array:289:46: error: template argument 2 is invalid
+       _GLIBCXX_STD_C::__array_traits<_Tp, _Nm>::_Is_swappable::value
+                                              ^
+/usr/include/c++/8/array:290:5: error: template argument 1 is invalid
+     >::type
+     ^
+/usr/include/c++/8/array:288:14: error: expected nested-name-specifier
+     typename enable_if<
+              ^~~~~~~~~~
+       _GLIBCXX_STD_C::__array_traits<_Tp, _Nm>::_Is_swappable::value
+       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+     >::type
+     ~         
+/usr/include/c++/8/array:294:5: error: expected initializer before ‘swap’
+     swap(array<_Tp, _Nm>& __one, array<_Tp, _Nm>& __two)
+     ^~~~
+/usr/include/c++/8/array:299:31: error: ‘std::size_t’ has not been declared
+   template<typename _Tp, std::size_t _Nm>
+                               ^~~~~~
+/usr/include/c++/8/array:301:44: error: ‘_Nm’ was not declared in this scope
+       !_GLIBCXX_STD_C::__array_traits<_Tp, _Nm>::_Is_swappable::value>::type
+                                            ^~~
+/usr/include/c++/8/array:301:47: error: template argument 2 is invalid
+       !_GLIBCXX_STD_C::__array_traits<_Tp, _Nm>::_Is_swappable::value>::type
+                                               ^
+/usr/include/c++/8/array:301:70: error: template argument 1 is invalid
+       !_GLIBCXX_STD_C::__array_traits<_Tp, _Nm>::_Is_swappable::value>::type
+                                                                      ^
+/usr/include/c++/8/array:300:14: error: expected nested-name-specifier
+     typename enable_if<
+              ^~~~~~~~~~
+       !_GLIBCXX_STD_C::__array_traits<_Tp, _Nm>::_Is_swappable::value>::type
+       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/usr/include/c++/8/array:302:5: error: expected initializer before ‘swap’
+     swap(array<_Tp, _Nm>&, array<_Tp, _Nm>&) = delete;
+     ^~~~
+/usr/include/c++/8/array:305:17: error: ‘std::size_t’ has not been declared
+   template<std::size_t _Int, typename _Tp, std::size_t _Nm>
+                 ^~~~~~
+/usr/include/c++/8/array:305:49: error: ‘std::size_t’ has not been declared
+   template<std::size_t _Int, typename _Tp, std::size_t _Nm>
+                                                 ^~~~~~
+/usr/include/c++/8/array:307:20: error: ‘_Nm’ was not declared in this scope
+     get(array<_Tp, _Nm>& __arr) noexcept
+                    ^~~
+/usr/include/c++/8/array:307:23: error: template argument 2 is invalid
+     get(array<_Tp, _Nm>& __arr) noexcept
+                       ^
+/usr/include/c++/8/array: In function ‘constexpr _Tp& std::get(int&)’:
+/usr/include/c++/8/array:309:21: error: ‘_Int’ was not declared in this scope
+       static_assert(_Int < _Nm, "array index is within bounds");
+                     ^~~~
+/usr/include/c++/8/array:309:21: note: suggested alternative: ‘qInf’
+       static_assert(_Int < _Nm, "array index is within bounds");
+                     ^~~~
+                     qInf
+/usr/include/c++/8/array:309:28: error: ‘_Nm’ was not declared in this scope
+       static_assert(_Int < _Nm, "array index is within bounds");
+                            ^~~
+/usr/include/c++/8/array:311:15: error: request for member ‘_M_elems’ in ‘__arr’, which is of non-class type ‘int’
+  _S_ref(__arr._M_elems, _Int);
+               ^~~~~~~~
+/usr/include/c++/8/array: At global scope:
+/usr/include/c++/8/array:314:17: error: ‘std::size_t’ has not been declared
+   template<std::size_t _Int, typename _Tp, std::size_t _Nm>
+                 ^~~~~~
+/usr/include/c++/8/array:314:49: error: ‘std::size_t’ has not been declared
+   template<std::size_t _Int, typename _Tp, std::size_t _Nm>
+                                                 ^~~~~~
+/usr/include/c++/8/array:316:20: error: ‘_Nm’ was not declared in this scope
+     get(array<_Tp, _Nm>&& __arr) noexcept
+                    ^~~
+/usr/include/c++/8/array:316:23: error: template argument 2 is invalid
+     get(array<_Tp, _Nm>&& __arr) noexcept
+                       ^
+/usr/include/c++/8/array: In function ‘constexpr _Tp&& std::get(int&&)’:
+/usr/include/c++/8/array:318:21: error: ‘_Int’ was not declared in this scope
+       static_assert(_Int < _Nm, "array index is within bounds");
+                     ^~~~
+/usr/include/c++/8/array:318:21: note: suggested alternative: ‘qInf’
+       static_assert(_Int < _Nm, "array index is within bounds");
+                     ^~~~
+                     qInf
+/usr/include/c++/8/array:318:28: error: ‘_Nm’ was not declared in this scope
+       static_assert(_Int < _Nm, "array index is within bounds");
+                            ^~~
+/usr/include/c++/8/array:319:55: error: no matching function for call to ‘get<_Int>(int&)’
+       return std::move(_GLIBCXX_STD_C::get<_Int>(__arr));
+                                                       ^
+In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h:47,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qtguiglobal.h:43,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtwidgetsglobal.h:43,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:43,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
+                 from gui-main.cpp:8:
+/usr/include/c++/8/utility:216:5: note: candidate: ‘template<<declaration error>, class _Tp1, class _Tp2> constexpr int& std::get(std::pair<_Tp1, _Tp2>&)’
+     get(std::pair<_Tp1, _Tp2>& __in) noexcept
+     ^~~
+/usr/include/c++/8/utility:216:5: note:   template argument deduction/substitution failed:
+/usr/include/c++/8/utility:221:5: note: candidate: ‘template<<declaration error>, class _Tp1, class _Tp2> constexpr int&& std::get(std::pair<_Tp1, _Tp2>&&)’
+     get(std::pair<_Tp1, _Tp2>&& __in) noexcept
+     ^~~
+/usr/include/c++/8/utility:221:5: note:   template argument deduction/substitution failed:
+/usr/include/c++/8/utility:226:5: note: candidate: ‘template<<declaration error>, class _Tp1, class _Tp2> constexpr const int& std::get(const std::pair<_Tp1, _Tp2>&)’
+     get(const std::pair<_Tp1, _Tp2>& __in) noexcept
+     ^~~
+/usr/include/c++/8/utility:226:5: note:   template argument deduction/substitution failed:
+/usr/include/c++/8/utility:231:5: note: candidate: ‘template<<declaration error>, class _Tp1, class _Tp2> constexpr const int&& std::get(const std::pair<_Tp1, _Tp2>&&)’
+     get(const std::pair<_Tp1, _Tp2>&& __in) noexcept
+     ^~~
+/usr/include/c++/8/utility:231:5: note:   template argument deduction/substitution failed:
+/usr/include/c++/8/utility:240:5: note: candidate: ‘template<class _Tp, class _Up> constexpr _Tp& std::get(std::pair<_T1, _T2>&)’
+     get(pair<_Tp, _Up>& __p) noexcept
+     ^~~
+/usr/include/c++/8/utility:240:5: note:   template argument deduction/substitution failed:
+/usr/include/c++/8/utility:245:5: note: candidate: ‘template<class _Tp, class _Up> constexpr const _Tp& std::get(const std::pair<_T1, _T2>&)’
+     get(const pair<_Tp, _Up>& __p) noexcept
+     ^~~
+/usr/include/c++/8/utility:245:5: note:   template argument deduction/substitution failed:
+/usr/include/c++/8/utility:250:5: note: candidate: ‘template<class _Tp, class _Up> constexpr _Tp&& std::get(std::pair<_T1, _T2>&&)’
+     get(pair<_Tp, _Up>&& __p) noexcept
+     ^~~
+/usr/include/c++/8/utility:250:5: note:   template argument deduction/substitution failed:
+/usr/include/c++/8/utility:255:5: note: candidate: ‘template<class _Tp, class _Up> constexpr const _Tp&& std::get(const std::pair<_T1, _T2>&&)’
+     get(const pair<_Tp, _Up>&& __p) noexcept
+     ^~~
+/usr/include/c++/8/utility:255:5: note:   template argument deduction/substitution failed:
+/usr/include/c++/8/utility:260:5: note: candidate: ‘template<class _Tp, class _Up> constexpr _Tp& std::get(std::pair<_Up, _Tp>&)’
+     get(pair<_Up, _Tp>& __p) noexcept
+     ^~~
+/usr/include/c++/8/utility:260:5: note:   template argument deduction/substitution failed:
+/usr/include/c++/8/utility:265:5: note: candidate: ‘template<class _Tp, class _Up> constexpr const _Tp& std::get(const std::pair<_Up, _Tp>&)’
+     get(const pair<_Up, _Tp>& __p) noexcept
+     ^~~
+/usr/include/c++/8/utility:265:5: note:   template argument deduction/substitution failed:
+/usr/include/c++/8/utility:270:5: note: candidate: ‘template<class _Tp, class _Up> constexpr _Tp&& std::get(std::pair<_Up, _Tp>&&)’
+     get(pair<_Up, _Tp>&& __p) noexcept
+     ^~~
+/usr/include/c++/8/utility:270:5: note:   template argument deduction/substitution failed:
+/usr/include/c++/8/utility:275:5: note: candidate: ‘template<class _Tp, class _Up> constexpr const _Tp&& std::get(const std::pair<_Up, _Tp>&&)’
+     get(const pair<_Up, _Tp>&& __p) noexcept
+     ^~~
+/usr/include/c++/8/utility:275:5: note:   template argument deduction/substitution failed:
+In file included from /usr/include/c++/8/tuple:39,
+                 from /usr/include/c++/8/bits/stl_map.h:63,
+                 from /usr/include/c++/8/map:61,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:55,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:54,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:46,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
+                 from gui-main.cpp:8:
+/usr/include/c++/8/array:307:5: note: candidate: ‘template<<declaration error>, class _Tp, <declaration error> > constexpr _Tp& std::get(int&)’
+     get(array<_Tp, _Nm>& __arr) noexcept
+     ^~~
+/usr/include/c++/8/array:307:5: note:   template argument deduction/substitution failed:
+/usr/include/c++/8/array:316:5: note: candidate: ‘template<<declaration error>, class _Tp, <declaration error> > constexpr _Tp&& std::get(int&&)’
+     get(array<_Tp, _Nm>&& __arr) noexcept
+     ^~~
+/usr/include/c++/8/array:316:5: note:   template argument deduction/substitution failed:
+/usr/include/c++/8/array: At global scope:
+/usr/include/c++/8/array:322:17: error: ‘std::size_t’ has not been declared
+   template<std::size_t _Int, typename _Tp, std::size_t _Nm>
+                 ^~~~~~
+/usr/include/c++/8/array:322:49: error: ‘std::size_t’ has not been declared
+   template<std::size_t _Int, typename _Tp, std::size_t _Nm>
+                                                 ^~~~~~
+/usr/include/c++/8/array:324:26: error: ‘_Nm’ was not declared in this scope
+     get(const array<_Tp, _Nm>& __arr) noexcept
+                          ^~~
+/usr/include/c++/8/array:324:29: error: template argument 2 is invalid
+     get(const array<_Tp, _Nm>& __arr) noexcept
+                             ^
+/usr/include/c++/8/array: In function ‘constexpr const _Tp& std::get(const int&)’:
+/usr/include/c++/8/array:326:21: error: ‘_Int’ was not declared in this scope
+       static_assert(_Int < _Nm, "array index is within bounds");
+                     ^~~~
+/usr/include/c++/8/array:326:21: note: suggested alternative: ‘qInf’
+       static_assert(_Int < _Nm, "array index is within bounds");
+                     ^~~~
+                     qInf
+/usr/include/c++/8/array:326:28: error: ‘_Nm’ was not declared in this scope
+       static_assert(_Int < _Nm, "array index is within bounds");
+                            ^~~
+/usr/include/c++/8/array:328:15: error: request for member ‘_M_elems’ in ‘__arr’, which is of non-class type ‘const int’
+  _S_ref(__arr._M_elems, _Int);
+               ^~~~~~~~
+/usr/include/c++/8/array: At global scope:
+/usr/include/c++/8/array:331:17: error: ‘std::size_t’ has not been declared
+   template<std::size_t _Int, typename _Tp, std::size_t _Nm>
+                 ^~~~~~
+/usr/include/c++/8/array:331:49: error: ‘std::size_t’ has not been declared
+   template<std::size_t _Int, typename _Tp, std::size_t _Nm>
+                                                 ^~~~~~
+/usr/include/c++/8/array:333:26: error: ‘_Nm’ was not declared in this scope
+     get(const array<_Tp, _Nm>&& __arr) noexcept
+                          ^~~
+/usr/include/c++/8/array:333:29: error: template argument 2 is invalid
+     get(const array<_Tp, _Nm>&& __arr) noexcept
+                             ^
+/usr/include/c++/8/array: In function ‘constexpr const _Tp&& std::get(const int&&)’:
+/usr/include/c++/8/array:335:21: error: ‘_Int’ was not declared in this scope
+       static_assert(_Int < _Nm, "array index is within bounds");
+                     ^~~~
+/usr/include/c++/8/array:335:21: note: suggested alternative: ‘qInf’
+       static_assert(_Int < _Nm, "array index is within bounds");
+                     ^~~~
+                     qInf
+/usr/include/c++/8/array:335:28: error: ‘_Nm’ was not declared in this scope
+       static_assert(_Int < _Nm, "array index is within bounds");
+                            ^~~
+/usr/include/c++/8/array:336:55: error: no matching function for call to ‘get<_Int>(const int&)’
+       return std::move(_GLIBCXX_STD_C::get<_Int>(__arr));
+                                                       ^
+In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h:47,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qtguiglobal.h:43,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtwidgetsglobal.h:43,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:43,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
+                 from gui-main.cpp:8:
+/usr/include/c++/8/utility:216:5: note: candidate: ‘template<<declaration error>, class _Tp1, class _Tp2> constexpr int& std::get(std::pair<_Tp1, _Tp2>&)’
+     get(std::pair<_Tp1, _Tp2>& __in) noexcept
+     ^~~
+/usr/include/c++/8/utility:216:5: note:   template argument deduction/substitution failed:
+/usr/include/c++/8/utility:221:5: note: candidate: ‘template<<declaration error>, class _Tp1, class _Tp2> constexpr int&& std::get(std::pair<_Tp1, _Tp2>&&)’
+     get(std::pair<_Tp1, _Tp2>&& __in) noexcept
+     ^~~
+/usr/include/c++/8/utility:221:5: note:   template argument deduction/substitution failed:
+/usr/include/c++/8/utility:226:5: note: candidate: ‘template<<declaration error>, class _Tp1, class _Tp2> constexpr const int& std::get(const std::pair<_Tp1, _Tp2>&)’
+     get(const std::pair<_Tp1, _Tp2>& __in) noexcept
+     ^~~
+/usr/include/c++/8/utility:226:5: note:   template argument deduction/substitution failed:
+/usr/include/c++/8/utility:231:5: note: candidate: ‘template<<declaration error>, class _Tp1, class _Tp2> constexpr const int&& std::get(const std::pair<_Tp1, _Tp2>&&)’
+     get(const std::pair<_Tp1, _Tp2>&& __in) noexcept
+     ^~~
+/usr/include/c++/8/utility:231:5: note:   template argument deduction/substitution failed:
+/usr/include/c++/8/utility:240:5: note: candidate: ‘template<class _Tp, class _Up> constexpr _Tp& std::get(std::pair<_T1, _T2>&)’
+     get(pair<_Tp, _Up>& __p) noexcept
+     ^~~
+/usr/include/c++/8/utility:240:5: note:   template argument deduction/substitution failed:
+/usr/include/c++/8/utility:245:5: note: candidate: ‘template<class _Tp, class _Up> constexpr const _Tp& std::get(const std::pair<_T1, _T2>&)’
+     get(const pair<_Tp, _Up>& __p) noexcept
+     ^~~
+/usr/include/c++/8/utility:245:5: note:   template argument deduction/substitution failed:
+/usr/include/c++/8/utility:250:5: note: candidate: ‘template<class _Tp, class _Up> constexpr _Tp&& std::get(std::pair<_T1, _T2>&&)’
+     get(pair<_Tp, _Up>&& __p) noexcept
+     ^~~
+/usr/include/c++/8/utility:250:5: note:   template argument deduction/substitution failed:
+/usr/include/c++/8/utility:255:5: note: candidate: ‘template<class _Tp, class _Up> constexpr const _Tp&& std::get(const std::pair<_T1, _T2>&&)’
+     get(const pair<_Tp, _Up>&& __p) noexcept
+     ^~~
+/usr/include/c++/8/utility:255:5: note:   template argument deduction/substitution failed:
+/usr/include/c++/8/utility:260:5: note: candidate: ‘template<class _Tp, class _Up> constexpr _Tp& std::get(std::pair<_Up, _Tp>&)’
+     get(pair<_Up, _Tp>& __p) noexcept
+     ^~~
+/usr/include/c++/8/utility:260:5: note:   template argument deduction/substitution failed:
+/usr/include/c++/8/utility:265:5: note: candidate: ‘template<class _Tp, class _Up> constexpr const _Tp& std::get(const std::pair<_Up, _Tp>&)’
+     get(const pair<_Up, _Tp>& __p) noexcept
+     ^~~
+/usr/include/c++/8/utility:265:5: note:   template argument deduction/substitution failed:
+/usr/include/c++/8/utility:270:5: note: candidate: ‘template<class _Tp, class _Up> constexpr _Tp&& std::get(std::pair<_Up, _Tp>&&)’
+     get(pair<_Up, _Tp>&& __p) noexcept
+     ^~~
+/usr/include/c++/8/utility:270:5: note:   template argument deduction/substitution failed:
+/usr/include/c++/8/utility:275:5: note: candidate: ‘template<class _Tp, class _Up> constexpr const _Tp&& std::get(const std::pair<_Up, _Tp>&&)’
+     get(const pair<_Up, _Tp>&& __p) noexcept
+     ^~~
+/usr/include/c++/8/utility:275:5: note:   template argument deduction/substitution failed:
+In file included from /usr/include/c++/8/tuple:39,
+                 from /usr/include/c++/8/bits/stl_map.h:63,
+                 from /usr/include/c++/8/map:61,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:55,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:54,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:46,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
+                 from gui-main.cpp:8:
+/usr/include/c++/8/array:307:5: note: candidate: ‘template<<declaration error>, class _Tp, <declaration error> > constexpr _Tp& std::get(int&)’
+     get(array<_Tp, _Nm>& __arr) noexcept
+     ^~~
+/usr/include/c++/8/array:307:5: note:   template argument deduction/substitution failed:
+/usr/include/c++/8/array:316:5: note: candidate: ‘template<<declaration error>, class _Tp, <declaration error> > constexpr _Tp&& std::get(int&&)’
+     get(array<_Tp, _Nm>&& __arr) noexcept
+     ^~~
+/usr/include/c++/8/array:316:5: note:   template argument deduction/substitution failed:
+/usr/include/c++/8/array:324:5: note: candidate: ‘template<<declaration error>, class _Tp, <declaration error> > constexpr const _Tp& std::get(const int&)’
+     get(const array<_Tp, _Nm>& __arr) noexcept
+     ^~~
+/usr/include/c++/8/array:324:5: note:   template argument deduction/substitution failed:
+/usr/include/c++/8/array:333:5: note: candidate: ‘template<<declaration error>, class _Tp, <declaration error> > constexpr const _Tp&& std::get(const int&&)’
+     get(const array<_Tp, _Nm>&& __arr) noexcept
+     ^~~
+/usr/include/c++/8/array:333:5: note:   template argument deduction/substitution failed:
+/usr/include/c++/8/array: At global scope:
+/usr/include/c++/8/array:353:31: error: ‘std::size_t’ has not been declared
+   template<typename _Tp, std::size_t _Nm>
+                               ^~~~~~
+/usr/include/c++/8/array:354:50: error: ‘_Nm’ was not declared in this scope
+     struct tuple_size<_GLIBCXX_STD_C::array<_Tp, _Nm>>
+                                                  ^~~
+/usr/include/c++/8/array:354:50: error: template argument 2 is invalid
+/usr/include/c++/8/array:354:53: error: template argument 1 is invalid
+     struct tuple_size<_GLIBCXX_STD_C::array<_Tp, _Nm>>
+                                                     ^~
+/usr/include/c++/8/array:355:37: error: ‘size_t’ is not a member of ‘std’
+     : public integral_constant<std::size_t, _Nm> { };
+                                     ^~~~~~
+/usr/include/c++/8/array:355:37: note: suggested alternative:
+In file included from /usr/include/wchar.h:35,
+                 from /usr/include/c++/8/cwchar:44,
+                 from /usr/include/c++/8/bits/postypes.h:40,
+                 from /usr/include/c++/8/iosfwd:40,
+                 from /usr/include/c++/8/ios:38,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/lib/gcc/x86_64-linux-gnu/8/include/stddef.h:216:23: note:   ‘size_t’
+ typedef __SIZE_TYPE__ size_t;
+                       ^~~~~~
+In file included from /usr/include/c++/8/tuple:39,
+                 from /usr/include/c++/8/bits/stl_map.h:63,
+                 from /usr/include/c++/8/map:61,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:55,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:54,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:46,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
+                 from gui-main.cpp:8:
+/usr/include/c++/8/array:355:37: error: ‘size_t’ is not a member of ‘std’
+     : public integral_constant<std::size_t, _Nm> { };
+                                     ^~~~~~
+/usr/include/c++/8/array:355:37: note: suggested alternative:
+In file included from /usr/include/wchar.h:35,
+                 from /usr/include/c++/8/cwchar:44,
+                 from /usr/include/c++/8/bits/postypes.h:40,
+                 from /usr/include/c++/8/iosfwd:40,
+                 from /usr/include/c++/8/ios:38,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/lib/gcc/x86_64-linux-gnu/8/include/stddef.h:216:23: note:   ‘size_t’
+ typedef __SIZE_TYPE__ size_t;
+                       ^~~~~~
+In file included from /usr/include/c++/8/tuple:39,
+                 from /usr/include/c++/8/bits/stl_map.h:63,
+                 from /usr/include/c++/8/map:61,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:55,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:54,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:46,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
+                 from gui-main.cpp:8:
+/usr/include/c++/8/array:355:45: error: ‘_Nm’ was not declared in this scope
+     : public integral_constant<std::size_t, _Nm> { };
+                                             ^~~
+/usr/include/c++/8/array:355:48: error: template argument 1 is invalid
+     : public integral_constant<std::size_t, _Nm> { };
+                                                ^
+/usr/include/c++/8/array:355:48: error: template argument 2 is invalid
+/usr/include/c++/8/array:358:17: error: ‘std::size_t’ has not been declared
+   template<std::size_t _Int, typename _Tp>
+                 ^~~~~~
+/usr/include/c++/8/array:362:17: error: ‘std::size_t’ has not been declared
+   template<std::size_t _Int, typename _Tp, std::size_t _Nm>
+                 ^~~~~~
+/usr/include/c++/8/array:362:49: error: ‘std::size_t’ has not been declared
+   template<std::size_t _Int, typename _Tp, std::size_t _Nm>
+                                                 ^~~~~~
+/usr/include/c++/8/array:363:26: error: ‘_Int’ was not declared in this scope
+     struct tuple_element<_Int, _GLIBCXX_STD_C::array<_Tp, _Nm>>
+                          ^~~~
+/usr/include/c++/8/array:363:26: note: suggested alternative: ‘qInf’
+     struct tuple_element<_Int, _GLIBCXX_STD_C::array<_Tp, _Nm>>
+                          ^~~~
+                          qInf
+/usr/include/c++/8/array:363:59: error: ‘_Nm’ was not declared in this scope
+     struct tuple_element<_Int, _GLIBCXX_STD_C::array<_Tp, _Nm>>
+                                                           ^~~
+/usr/include/c++/8/array:363:59: error: template argument 2 is invalid
+/usr/include/c++/8/array:363:62: error: template argument 1 is invalid
+     struct tuple_element<_Int, _GLIBCXX_STD_C::array<_Tp, _Nm>>
+                                                              ^~
+/usr/include/c++/8/array:363:62: error: template argument 2 is invalid
+/usr/include/c++/8/array:369:31: error: ‘std::size_t’ has not been declared
+   template<typename _Tp, std::size_t _Nm>
+                               ^~~~~~
+/usr/include/c++/8/array:370:60: error: ‘_Nm’ was not declared in this scope
+     struct __is_tuple_like_impl<_GLIBCXX_STD_C::array<_Tp, _Nm>> : true_type
+                                                            ^~~
+/usr/include/c++/8/array:370:60: error: template argument 2 is invalid
+/usr/include/c++/8/array:370:63: error: template argument 1 is invalid
+     struct __is_tuple_like_impl<_GLIBCXX_STD_C::array<_Tp, _Nm>> : true_type
+                                                               ^~
+In file included from /usr/include/c++/8/bits/stl_map.h:63,
+                 from /usr/include/c++/8/map:61,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:55,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:54,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:46,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
+                 from gui-main.cpp:8:
+/usr/include/c++/8/tuple:68:17: error: ‘std::size_t’ has not been declared
+   template<std::size_t _Idx, typename _Head,
+                 ^~~~~~
+/usr/include/c++/8/tuple:70:12: error: no default argument for ‘_Head’
+     struct _Head_base;
+            ^~~~~~~~~~
+/usr/include/c++/8/tuple:72:17: error: ‘std::size_t’ has not been declared
+   template<std::size_t _Idx, typename _Head>
+                 ^~~~~~
+/usr/include/c++/8/tuple:73:23: error: ‘_Idx’ was not declared in this scope
+     struct _Head_base<_Idx, _Head, true>
+                       ^~~~
+/usr/include/c++/8/tuple:73:40: error: template argument 1 is invalid
+     struct _Head_base<_Idx, _Head, true>
+                                        ^
+/usr/include/c++/8/tuple:119:17: error: ‘std::size_t’ has not been declared
+   template<std::size_t _Idx, typename _Head>
+                 ^~~~~~
+/usr/include/c++/8/tuple:120:23: error: ‘_Idx’ was not declared in this scope
+     struct _Head_base<_Idx, _Head, false>
+                       ^~~~
+/usr/include/c++/8/tuple:120:41: error: template argument 1 is invalid
+     struct _Head_base<_Idx, _Head, false>
+                                         ^
+/usr/include/c++/8/tuple:176:17: error: ‘std::size_t’ has not been declared
+   template<std::size_t _Idx, typename... _Elements>
+                 ^~~~~~
+/usr/include/c++/8/tuple:184:17: error: ‘std::size_t’ has not been declared
+   template<std::size_t _Idx, typename _Head, typename... _Tail>
+                 ^~~~~~
+/usr/include/c++/8/tuple:185:24: error: ‘_Idx’ was not declared in this scope
+     struct _Tuple_impl<_Idx, _Head, _Tail...>
+                        ^~~~
+/usr/include/c++/8/tuple:185:45: error: template argument 1 is invalid
+     struct _Tuple_impl<_Idx, _Head, _Tail...>
+                                             ^
+/usr/include/c++/8/tuple:186:26: error: ‘_Idx’ was not declared in this scope
+     : public _Tuple_impl<_Idx + 1, _Tail...>,
+                          ^~~~
+/usr/include/c++/8/tuple:186:44: error: template argument 1 is invalid
+     : public _Tuple_impl<_Idx + 1, _Tail...>,
+                                            ^
+/usr/include/c++/8/tuple:187:26: error: ‘_Idx’ was not declared in this scope
+       private _Head_base<_Idx, _Head>
+                          ^~~~
+/usr/include/c++/8/tuple:187:37: error: template argument 1 is invalid
+       private _Head_base<_Idx, _Head>
+                                     ^
+/usr/include/c++/8/tuple:342:17: error: ‘std::size_t’ has not been declared
+   template<std::size_t _Idx, typename _Head>
+                 ^~~~~~
+/usr/include/c++/8/tuple:343:24: error: ‘_Idx’ was not declared in this scope
+     struct _Tuple_impl<_Idx, _Head>
+                        ^~~~
+/usr/include/c++/8/tuple:343:35: error: template argument 1 is invalid
+     struct _Tuple_impl<_Idx, _Head>
+                                   ^
+/usr/include/c++/8/tuple:344:26: error: ‘_Idx’ was not declared in this scope
+     : private _Head_base<_Idx, _Head>
+                          ^~~~
+/usr/include/c++/8/tuple:344:37: error: template argument 1 is invalid
+     : private _Head_base<_Idx, _Head>
+                                     ^
+/usr/include/c++/8/tuple: In constructor ‘constexpr std::tuple<_Elements>::tuple()’:
+/usr/include/c++/8/tuple:582:9: error: ‘typedef int std::tuple<_Elements>::_Inherited’ is not a non-static data member of ‘std::tuple<_Elements>’
+       : _Inherited() { }
+         ^~~~~~~~~~
+/usr/include/c++/8/tuple: In constructor ‘constexpr std::tuple<_Elements>::tuple()’:
+/usr/include/c++/8/tuple:592:9: error: ‘typedef int std::tuple<_Elements>::_Inherited’ is not a non-static data member of ‘std::tuple<_Elements>’
+       : _Inherited() { }
+         ^~~~~~~~~~
+/usr/include/c++/8/tuple: In constructor ‘constexpr std::tuple<_Elements>::tuple(const _Elements& ...)’:
+/usr/include/c++/8/tuple:609:9: error: ‘typedef int std::tuple<_Elements>::_Inherited’ is not a non-static data member of ‘std::tuple<_Elements>’
+       : _Inherited(__elements...) { }
+         ^~~~~~~~~~
+/usr/include/c++/8/tuple: In constructor ‘constexpr std::tuple<_Elements>::tuple(const _Elements& ...)’:
+/usr/include/c++/8/tuple:620:9: error: ‘typedef int std::tuple<_Elements>::_Inherited’ is not a non-static data member of ‘std::tuple<_Elements>’
+       : _Inherited(__elements...) { }
+         ^~~~~~~~~~
+/usr/include/c++/8/tuple: In constructor ‘constexpr std::tuple<_Elements>::tuple(_UElements&& ...)’:
+/usr/include/c++/8/tuple:647:11: error: ‘typedef int std::tuple<_Elements>::_Inherited’ is not a non-static data member of ‘std::tuple<_Elements>’
+         : _Inherited(std::forward<_UElements>(__elements)...) { }
+           ^~~~~~~~~~
+/usr/include/c++/8/tuple: In constructor ‘constexpr std::tuple<_Elements>::tuple(_UElements&& ...)’:
+/usr/include/c++/8/tuple:658:4: error: ‘typedef int std::tuple<_Elements>::_Inherited’ is not a non-static data member of ‘std::tuple<_Elements>’
+  : _Inherited(std::forward<_UElements>(__elements)...) { }
+    ^~~~~~~~~~
+/usr/include/c++/8/tuple: In constructor ‘constexpr std::tuple<_Elements>::tuple(const std::tuple<_Args1 ...>&)’:
+/usr/include/c++/8/tuple:679:11: error: ‘typedef int std::tuple<_Elements>::_Inherited’ is not a non-static data member of ‘std::tuple<_Elements>’
+         : _Inherited(static_cast<const _Tuple_impl<0, _UElements...>&>(__in))
+           ^~~~~~~~~~
+/usr/include/c++/8/tuple:679:69: error: expected ‘>’ before ‘&’ token
+         : _Inherited(static_cast<const _Tuple_impl<0, _UElements...>&>(__in))
+                                                                     ^
+/usr/include/c++/8/tuple:679:69: error: expected ‘(’ before ‘&’ token
+         : _Inherited(static_cast<const _Tuple_impl<0, _UElements...>&>(__in))
+                                                                     ^
+                                                                     (
+/usr/include/c++/8/tuple:679:70: error: expected primary-expression before ‘>’ token
+         : _Inherited(static_cast<const _Tuple_impl<0, _UElements...>&>(__in))
+                                                                      ^
+/usr/include/c++/8/tuple:680:11: error: expected ‘{’ at end of input
+         { }
+           ^
+/usr/include/c++/8/tuple: In constructor ‘constexpr std::tuple<_Elements>::tuple(const std::tuple<_Args1 ...>&)’:
+/usr/include/c++/8/tuple:691:11: error: ‘typedef int std::tuple<_Elements>::_Inherited’ is not a non-static data member of ‘std::tuple<_Elements>’
+         : _Inherited(static_cast<const _Tuple_impl<0, _UElements...>&>(__in))
+           ^~~~~~~~~~
+/usr/include/c++/8/tuple:691:69: error: expected ‘>’ before ‘&’ token
+         : _Inherited(static_cast<const _Tuple_impl<0, _UElements...>&>(__in))
+                                                                     ^
+/usr/include/c++/8/tuple:691:69: error: expected ‘(’ before ‘&’ token
+         : _Inherited(static_cast<const _Tuple_impl<0, _UElements...>&>(__in))
+                                                                     ^
+                                                                     (
+/usr/include/c++/8/tuple:691:70: error: expected primary-expression before ‘>’ token
+         : _Inherited(static_cast<const _Tuple_impl<0, _UElements...>&>(__in))
+                                                                      ^
+/usr/include/c++/8/tuple:692:11: error: expected ‘{’ at end of input
+         { }
+           ^
+/usr/include/c++/8/tuple: In constructor ‘constexpr std::tuple<_Elements>::tuple(std::tuple<_Args1 ...>&&)’:
+/usr/include/c++/8/tuple:703:11: error: ‘typedef int std::tuple<_Elements>::_Inherited’ is not a non-static data member of ‘std::tuple<_Elements>’
+         : _Inherited(static_cast<_Tuple_impl<0, _UElements...>&&>(__in)) { }
+           ^~~~~~~~~~
+/usr/include/c++/8/tuple:703:63: error: expected ‘>’ before ‘&&’ token
+         : _Inherited(static_cast<_Tuple_impl<0, _UElements...>&&>(__in)) { }
+                                                               ^~
+/usr/include/c++/8/tuple:703:63: error: expected ‘(’ before ‘&&’ token
+         : _Inherited(static_cast<_Tuple_impl<0, _UElements...>&&>(__in)) { }
+                                                               ^~
+                                                               (
+/usr/include/c++/8/tuple:703:65: error: expected identifier before ‘>’ token
+         : _Inherited(static_cast<_Tuple_impl<0, _UElements...>&&>(__in)) { }
+                                                                 ^
+/usr/include/c++/8/tuple:703:76: error: expected ‘{’ at end of input
+         : _Inherited(static_cast<_Tuple_impl<0, _UElements...>&&>(__in)) { }
+                                                                            ^
+/usr/include/c++/8/tuple: In constructor ‘constexpr std::tuple<_Elements>::tuple(std::tuple<_Args1 ...>&&)’:
+/usr/include/c++/8/tuple:714:11: error: ‘typedef int std::tuple<_Elements>::_Inherited’ is not a non-static data member of ‘std::tuple<_Elements>’
+         : _Inherited(static_cast<_Tuple_impl<0, _UElements...>&&>(__in)) { }
+           ^~~~~~~~~~
+/usr/include/c++/8/tuple:714:63: error: expected ‘>’ before ‘&&’ token
+         : _Inherited(static_cast<_Tuple_impl<0, _UElements...>&&>(__in)) { }
+                                                               ^~
+/usr/include/c++/8/tuple:714:63: error: expected ‘(’ before ‘&&’ token
+         : _Inherited(static_cast<_Tuple_impl<0, _UElements...>&&>(__in)) { }
+                                                               ^~
+                                                               (
+/usr/include/c++/8/tuple:714:65: error: expected identifier before ‘>’ token
+         : _Inherited(static_cast<_Tuple_impl<0, _UElements...>&&>(__in)) { }
+                                                                 ^
+/usr/include/c++/8/tuple:714:76: error: expected ‘{’ at end of input
+         : _Inherited(static_cast<_Tuple_impl<0, _UElements...>&&>(__in)) { }
+                                                                            ^
+/usr/include/c++/8/tuple: In constructor ‘std::tuple<_Elements>::tuple(std::allocator_arg_t, const _Alloc&)’:
+/usr/include/c++/8/tuple:720:4: error: ‘typedef int std::tuple<_Elements>::_Inherited’ is not a non-static data member of ‘std::tuple<_Elements>’
+  : _Inherited(__tag, __a) { }
+    ^~~~~~~~~~
+/usr/include/c++/8/tuple: In constructor ‘std::tuple<_Elements>::tuple(std::allocator_arg_t, const _Alloc&, const _Elements& ...)’:
+/usr/include/c++/8/tuple:731:4: error: ‘typedef int std::tuple<_Elements>::_Inherited’ is not a non-static data member of ‘std::tuple<_Elements>’
+  : _Inherited(__tag, __a, __elements...) { }
+    ^~~~~~~~~~
+/usr/include/c++/8/tuple: In constructor ‘std::tuple<_Elements>::tuple(std::allocator_arg_t, const _Alloc&, const _Elements& ...)’:
+/usr/include/c++/8/tuple:742:4: error: ‘typedef int std::tuple<_Elements>::_Inherited’ is not a non-static data member of ‘std::tuple<_Elements>’
+  : _Inherited(__tag, __a, __elements...) { }
+    ^~~~~~~~~~
+/usr/include/c++/8/tuple: In constructor ‘std::tuple<_Elements>::tuple(std::allocator_arg_t, const _Alloc&, _UElements&& ...)’:
+/usr/include/c++/8/tuple:752:4: error: ‘typedef int std::tuple<_Elements>::_Inherited’ is not a non-static data member of ‘std::tuple<_Elements>’
+  : _Inherited(__tag, __a, std::forward<_UElements>(__elements)...)
+    ^~~~~~~~~~
+/usr/include/c++/8/tuple: In constructor ‘std::tuple<_Elements>::tuple(std::allocator_arg_t, const _Alloc&, _UElements&& ...)’:
+/usr/include/c++/8/tuple:763:4: error: ‘typedef int std::tuple<_Elements>::_Inherited’ is not a non-static data member of ‘std::tuple<_Elements>’
+  : _Inherited(__tag, __a, std::forward<_UElements>(__elements)...)
+    ^~~~~~~~~~
+/usr/include/c++/8/tuple: In constructor ‘std::tuple<_Elements>::tuple(std::allocator_arg_t, const _Alloc&, const std::tuple<_Elements>&)’:
+/usr/include/c++/8/tuple:768:4: error: ‘typedef int std::tuple<_Elements>::_Inherited’ is not a non-static data member of ‘std::tuple<_Elements>’
+  : _Inherited(__tag, __a, static_cast<const _Inherited&>(__in)) { }
+    ^~~~~~~~~~
+/usr/include/c++/8/tuple: In constructor ‘std::tuple<_Elements>::tuple(std::allocator_arg_t, const _Alloc&, std::tuple<_Elements>&&)’:
+/usr/include/c++/8/tuple:772:4: error: ‘typedef int std::tuple<_Elements>::_Inherited’ is not a non-static data member of ‘std::tuple<_Elements>’
+  : _Inherited(__tag, __a, static_cast<_Inherited&&>(__in)) { }
+    ^~~~~~~~~~
+/usr/include/c++/8/tuple: In constructor ‘std::tuple<_Elements>::tuple(std::allocator_arg_t, const _Alloc&, const std::tuple<_UElements ...>&)’:
+/usr/include/c++/8/tuple:785:4: error: ‘typedef int std::tuple<_Elements>::_Inherited’ is not a non-static data member of ‘std::tuple<_Elements>’
+  : _Inherited(__tag, __a,
+    ^~~~~~~~~~
+/usr/include/c++/8/tuple:786:62: error: expected ‘>’ before ‘&’ token
+               static_cast<const _Tuple_impl<0, _UElements...>&>(__in))
+                                                              ^
+/usr/include/c++/8/tuple:786:62: error: expected ‘(’ before ‘&’ token
+               static_cast<const _Tuple_impl<0, _UElements...>&>(__in))
+                                                              ^
+                                                              (
+/usr/include/c++/8/tuple:786:63: error: expected primary-expression before ‘>’ token
+               static_cast<const _Tuple_impl<0, _UElements...>&>(__in))
+                                                               ^
+/usr/include/c++/8/tuple:787:4: error: expected ‘{’ at end of input
+  { }
+    ^
+/usr/include/c++/8/tuple: In constructor ‘std::tuple<_Elements>::tuple(std::allocator_arg_t, const _Alloc&, const std::tuple<_UElements ...>&)’:
+/usr/include/c++/8/tuple:800:4: error: ‘typedef int std::tuple<_Elements>::_Inherited’ is not a non-static data member of ‘std::tuple<_Elements>’
+  : _Inherited(__tag, __a,
+    ^~~~~~~~~~
+/usr/include/c++/8/tuple:801:62: error: expected ‘>’ before ‘&’ token
+               static_cast<const _Tuple_impl<0, _UElements...>&>(__in))
+                                                              ^
+/usr/include/c++/8/tuple:801:62: error: expected ‘(’ before ‘&’ token
+               static_cast<const _Tuple_impl<0, _UElements...>&>(__in))
+                                                              ^
+                                                              (
+/usr/include/c++/8/tuple:801:63: error: expected primary-expression before ‘>’ token
+               static_cast<const _Tuple_impl<0, _UElements...>&>(__in))
+                                                               ^
+/usr/include/c++/8/tuple:802:4: error: expected ‘{’ at end of input
+  { }
+    ^
+/usr/include/c++/8/tuple: In constructor ‘std::tuple<_Elements>::tuple(std::allocator_arg_t, const _Alloc&, std::tuple<_UElements ...>&&)’:
+/usr/include/c++/8/tuple:815:4: error: ‘typedef int std::tuple<_Elements>::_Inherited’ is not a non-static data member of ‘std::tuple<_Elements>’
+  : _Inherited(__tag, __a,
+    ^~~~~~~~~~
+/usr/include/c++/8/tuple:816:56: error: expected ‘>’ before ‘&&’ token
+               static_cast<_Tuple_impl<0, _UElements...>&&>(__in))
+                                                        ^~
+/usr/include/c++/8/tuple:816:56: error: expected ‘(’ before ‘&&’ token
+               static_cast<_Tuple_impl<0, _UElements...>&&>(__in))
+                                                        ^~
+                                                        (
+/usr/include/c++/8/tuple:816:58: error: expected identifier before ‘>’ token
+               static_cast<_Tuple_impl<0, _UElements...>&&>(__in))
+                                                          ^
+/usr/include/c++/8/tuple:817:4: error: expected ‘{’ at end of input
+  { }
+    ^
+/usr/include/c++/8/tuple: In constructor ‘std::tuple<_Elements>::tuple(std::allocator_arg_t, const _Alloc&, std::tuple<_UElements ...>&&)’:
+/usr/include/c++/8/tuple:830:4: error: ‘typedef int std::tuple<_Elements>::_Inherited’ is not a non-static data member of ‘std::tuple<_Elements>’
+  : _Inherited(__tag, __a,
+    ^~~~~~~~~~
+/usr/include/c++/8/tuple:831:56: error: expected ‘>’ before ‘&&’ token
+               static_cast<_Tuple_impl<0, _UElements...>&&>(__in))
+                                                        ^~
+/usr/include/c++/8/tuple:831:56: error: expected ‘(’ before ‘&&’ token
+               static_cast<_Tuple_impl<0, _UElements...>&&>(__in))
+                                                        ^~
+                                                        (
+/usr/include/c++/8/tuple:831:58: error: expected identifier before ‘>’ token
+               static_cast<_Tuple_impl<0, _UElements...>&&>(__in))
+                                                          ^
+/usr/include/c++/8/tuple:832:4: error: expected ‘{’ at end of input
+  { }
+    ^
+/usr/include/c++/8/tuple: In member function ‘void std::tuple<_Elements>::swap(std::tuple<_Elements>&)’:
+/usr/include/c++/8/tuple:872:28: error: qualified-id in declaration before ‘(’ token
+       { _Inherited::_M_swap(__in); }
+                            ^
+/usr/include/c++/8/tuple: In constructor ‘constexpr std::tuple<_T1, _T2>::tuple()’:
+/usr/include/c++/8/tuple:920:9: error: ‘typedef int std::tuple<_T1, _T2>::_Inherited’ is not a non-static data member of ‘std::tuple<_T1, _T2>’
+       : _Inherited() { }
+         ^~~~~~~~~~
+/usr/include/c++/8/tuple: In constructor ‘constexpr std::tuple<_T1, _T2>::tuple()’:
+/usr/include/c++/8/tuple:934:9: error: ‘typedef int std::tuple<_T1, _T2>::_Inherited’ is not a non-static data member of ‘std::tuple<_T1, _T2>’
+       : _Inherited() { }
+         ^~~~~~~~~~
+/usr/include/c++/8/tuple: In constructor ‘constexpr std::tuple<_T1, _T2>::tuple(const _T1&, const _T2&)’:
+/usr/include/c++/8/tuple:948:11: error: ‘typedef int std::tuple<_T1, _T2>::_Inherited’ is not a non-static data member of ‘std::tuple<_T1, _T2>’
+         : _Inherited(__a1, __a2) { }
+           ^~~~~~~~~~
+/usr/include/c++/8/tuple: In constructor ‘constexpr std::tuple<_T1, _T2>::tuple(const _T1&, const _T2&)’:
+/usr/include/c++/8/tuple:957:11: error: ‘typedef int std::tuple<_T1, _T2>::_Inherited’ is not a non-static data member of ‘std::tuple<_T1, _T2>’
+         : _Inherited(__a1, __a2) { }
+           ^~~~~~~~~~
+/usr/include/c++/8/tuple: In constructor ‘constexpr std::tuple<_T1, _T2>::tuple(_U1&&, _U2&&)’:
+/usr/include/c++/8/tuple:972:4: error: ‘typedef int std::tuple<_T1, _T2>::_Inherited’ is not a non-static data member of ‘std::tuple<_T1, _T2>’
+  : _Inherited(std::forward<_U1>(__a1), std::forward<_U2>(__a2)) { }
+    ^~~~~~~~~~
+/usr/include/c++/8/tuple: In constructor ‘constexpr std::tuple<_T1, _T2>::tuple(_U1&&, _U2&&)’:
+/usr/include/c++/8/tuple:983:4: error: ‘typedef int std::tuple<_T1, _T2>::_Inherited’ is not a non-static data member of ‘std::tuple<_T1, _T2>’
+  : _Inherited(std::forward<_U1>(__a1), std::forward<_U2>(__a2)) { }
+    ^~~~~~~~~~
+/usr/include/c++/8/tuple: In constructor ‘constexpr std::tuple<_T1, _T2>::tuple(const std::tuple<_U1, _U2>&)’:
+/usr/include/c++/8/tuple:996:4: error: ‘typedef int std::tuple<_T1, _T2>::_Inherited’ is not a non-static data member of ‘std::tuple<_T1, _T2>’
+  : _Inherited(static_cast<const _Tuple_impl<0, _U1, _U2>&>(__in)) { }
+    ^~~~~~~~~~
+/usr/include/c++/8/tuple:996:57: error: expected ‘>’ before ‘&’ token
+  : _Inherited(static_cast<const _Tuple_impl<0, _U1, _U2>&>(__in)) { }
+                                                         ^
+/usr/include/c++/8/tuple:996:57: error: expected ‘(’ before ‘&’ token
+  : _Inherited(static_cast<const _Tuple_impl<0, _U1, _U2>&>(__in)) { }
+                                                         ^
+                                                         (
+/usr/include/c++/8/tuple:996:58: error: expected primary-expression before ‘>’ token
+  : _Inherited(static_cast<const _Tuple_impl<0, _U1, _U2>&>(__in)) { }
+                                                          ^
+/usr/include/c++/8/tuple:996:69: error: expected ‘{’ at end of input
+  : _Inherited(static_cast<const _Tuple_impl<0, _U1, _U2>&>(__in)) { }
+                                                                     ^
+/usr/include/c++/8/tuple: In constructor ‘constexpr std::tuple<_T1, _T2>::tuple(const std::tuple<_U1, _U2>&)’:
+/usr/include/c++/8/tuple:1005:4: error: ‘typedef int std::tuple<_T1, _T2>::_Inherited’ is not a non-static data member of ‘std::tuple<_T1, _T2>’
+  : _Inherited(static_cast<const _Tuple_impl<0, _U1, _U2>&>(__in)) { }
+    ^~~~~~~~~~
+/usr/include/c++/8/tuple:1005:57: error: expected ‘>’ before ‘&’ token
+  : _Inherited(static_cast<const _Tuple_impl<0, _U1, _U2>&>(__in)) { }
+                                                         ^
+/usr/include/c++/8/tuple:1005:57: error: expected ‘(’ before ‘&’ token
+  : _Inherited(static_cast<const _Tuple_impl<0, _U1, _U2>&>(__in)) { }
+                                                         ^
+                                                         (
+/usr/include/c++/8/tuple:1005:58: error: expected primary-expression before ‘>’ token
+  : _Inherited(static_cast<const _Tuple_impl<0, _U1, _U2>&>(__in)) { }
+                                                          ^
+/usr/include/c++/8/tuple:1005:69: error: expected ‘{’ at end of input
+  : _Inherited(static_cast<const _Tuple_impl<0, _U1, _U2>&>(__in)) { }
+                                                                     ^
+/usr/include/c++/8/tuple: In constructor ‘constexpr std::tuple<_T1, _T2>::tuple(std::tuple<_U1, _U2>&&)’:
+/usr/include/c++/8/tuple:1014:4: error: ‘typedef int std::tuple<_T1, _T2>::_Inherited’ is not a non-static data member of ‘std::tuple<_T1, _T2>’
+  : _Inherited(static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in)) { }
+    ^~~~~~~~~~
+/usr/include/c++/8/tuple:1014:51: error: expected ‘>’ before ‘&&’ token
+  : _Inherited(static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in)) { }
+                                                   ^~
+/usr/include/c++/8/tuple:1014:51: error: expected ‘(’ before ‘&&’ token
+  : _Inherited(static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in)) { }
+                                                   ^~
+                                                   (
+/usr/include/c++/8/tuple:1014:53: error: expected identifier before ‘>’ token
+  : _Inherited(static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in)) { }
+                                                     ^
+/usr/include/c++/8/tuple:1014:64: error: expected ‘{’ at end of input
+  : _Inherited(static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in)) { }
+                                                                ^
+/usr/include/c++/8/tuple: In constructor ‘constexpr std::tuple<_T1, _T2>::tuple(std::tuple<_U1, _U2>&&)’:
+/usr/include/c++/8/tuple:1023:4: error: ‘typedef int std::tuple<_T1, _T2>::_Inherited’ is not a non-static data member of ‘std::tuple<_T1, _T2>’
+  : _Inherited(static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in)) { }
+    ^~~~~~~~~~
+/usr/include/c++/8/tuple:1023:51: error: expected ‘>’ before ‘&&’ token
+  : _Inherited(static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in)) { }
+                                                   ^~
+/usr/include/c++/8/tuple:1023:51: error: expected ‘(’ before ‘&&’ token
+  : _Inherited(static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in)) { }
+                                                   ^~
+                                                   (
+/usr/include/c++/8/tuple:1023:53: error: expected identifier before ‘>’ token
+  : _Inherited(static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in)) { }
+                                                     ^
+/usr/include/c++/8/tuple:1023:64: error: expected ‘{’ at end of input
+  : _Inherited(static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in)) { }
+                                                                ^
+/usr/include/c++/8/tuple: In constructor ‘constexpr std::tuple<_T1, _T2>::tuple(const std::pair<_U1, _U2>&)’:
+/usr/include/c++/8/tuple:1032:4: error: ‘typedef int std::tuple<_T1, _T2>::_Inherited’ is not a non-static data member of ‘std::tuple<_T1, _T2>’
+  : _Inherited(__in.first, __in.second) { }
+    ^~~~~~~~~~
+/usr/include/c++/8/tuple: In constructor ‘constexpr std::tuple<_T1, _T2>::tuple(const std::pair<_U1, _U2>&)’:
+/usr/include/c++/8/tuple:1041:4: error: ‘typedef int std::tuple<_T1, _T2>::_Inherited’ is not a non-static data member of ‘std::tuple<_T1, _T2>’
+  : _Inherited(__in.first, __in.second) { }
+    ^~~~~~~~~~
+/usr/include/c++/8/tuple: In constructor ‘constexpr std::tuple<_T1, _T2>::tuple(std::pair<_U1, _U2>&&)’:
+/usr/include/c++/8/tuple:1050:4: error: ‘typedef int std::tuple<_T1, _T2>::_Inherited’ is not a non-static data member of ‘std::tuple<_T1, _T2>’
+  : _Inherited(std::forward<_U1>(__in.first),
+    ^~~~~~~~~~
+/usr/include/c++/8/tuple: In constructor ‘constexpr std::tuple<_T1, _T2>::tuple(std::pair<_U1, _U2>&&)’:
+/usr/include/c++/8/tuple:1060:4: error: ‘typedef int std::tuple<_T1, _T2>::_Inherited’ is not a non-static data member of ‘std::tuple<_T1, _T2>’
+  : _Inherited(std::forward<_U1>(__in.first),
+    ^~~~~~~~~~
+/usr/include/c++/8/tuple: In constructor ‘std::tuple<_T1, _T2>::tuple(std::allocator_arg_t, const _Alloc&)’:
+/usr/include/c++/8/tuple:1067:4: error: ‘typedef int std::tuple<_T1, _T2>::_Inherited’ is not a non-static data member of ‘std::tuple<_T1, _T2>’
+  : _Inherited(__tag, __a) { }
+    ^~~~~~~~~~
+/usr/include/c++/8/tuple: In constructor ‘std::tuple<_T1, _T2>::tuple(std::allocator_arg_t, const _Alloc&, const _T1&, const _T2&)’:
+/usr/include/c++/8/tuple:1079:4: error: ‘typedef int std::tuple<_T1, _T2>::_Inherited’ is not a non-static data member of ‘std::tuple<_T1, _T2>’
+  : _Inherited(__tag, __a, __a1, __a2) { }
+    ^~~~~~~~~~
+/usr/include/c++/8/tuple: In constructor ‘std::tuple<_T1, _T2>::tuple(std::allocator_arg_t, const _Alloc&, const _T1&, const _T2&)’:
+/usr/include/c++/8/tuple:1091:4: error: ‘typedef int std::tuple<_T1, _T2>::_Inherited’ is not a non-static data member of ‘std::tuple<_T1, _T2>’
+  : _Inherited(__tag, __a, __a1, __a2) { }
+    ^~~~~~~~~~
+/usr/include/c++/8/tuple: In constructor ‘std::tuple<_T1, _T2>::tuple(std::allocator_arg_t, const _Alloc&, _U1&&, _U2&&)’:
+/usr/include/c++/8/tuple:1100:4: error: ‘typedef int std::tuple<_T1, _T2>::_Inherited’ is not a non-static data member of ‘std::tuple<_T1, _T2>’
+  : _Inherited(__tag, __a, std::forward<_U1>(__a1),
+    ^~~~~~~~~~
+/usr/include/c++/8/tuple: In constructor ‘std::tuple<_T1, _T2>::tuple(std::allocator_arg_t, const _Alloc&, _U1&&, _U2&&)’:
+/usr/include/c++/8/tuple:1111:4: error: ‘typedef int std::tuple<_T1, _T2>::_Inherited’ is not a non-static data member of ‘std::tuple<_T1, _T2>’
+  : _Inherited(__tag, __a, std::forward<_U1>(__a1),
+    ^~~~~~~~~~
+/usr/include/c++/8/tuple: In constructor ‘std::tuple<_T1, _T2>::tuple(std::allocator_arg_t, const _Alloc&, const std::tuple<_T1, _T2>&)’:
+/usr/include/c++/8/tuple:1116:4: error: ‘typedef int std::tuple<_T1, _T2>::_Inherited’ is not a non-static data member of ‘std::tuple<_T1, _T2>’
+  : _Inherited(__tag, __a, static_cast<const _Inherited&>(__in)) { }
+    ^~~~~~~~~~
+/usr/include/c++/8/tuple: In constructor ‘std::tuple<_T1, _T2>::tuple(std::allocator_arg_t, const _Alloc&, std::tuple<_T1, _T2>&&)’:
+/usr/include/c++/8/tuple:1120:4: error: ‘typedef int std::tuple<_T1, _T2>::_Inherited’ is not a non-static data member of ‘std::tuple<_T1, _T2>’
+  : _Inherited(__tag, __a, static_cast<_Inherited&&>(__in)) { }
+    ^~~~~~~~~~
+/usr/include/c++/8/tuple: In constructor ‘std::tuple<_T1, _T2>::tuple(std::allocator_arg_t, const _Alloc&, const std::tuple<_U1, _U2>&)’:
+/usr/include/c++/8/tuple:1130:4: error: ‘typedef int std::tuple<_T1, _T2>::_Inherited’ is not a non-static data member of ‘std::tuple<_T1, _T2>’
+  : _Inherited(__tag, __a,
+    ^~~~~~~~~~
+/usr/include/c++/8/tuple:1131:57: error: expected ‘>’ before ‘&’ token
+               static_cast<const _Tuple_impl<0, _U1, _U2>&>(__in))
+                                                         ^
+/usr/include/c++/8/tuple:1131:57: error: expected ‘(’ before ‘&’ token
+               static_cast<const _Tuple_impl<0, _U1, _U2>&>(__in))
+                                                         ^
+                                                         (
+/usr/include/c++/8/tuple:1131:58: error: expected primary-expression before ‘>’ token
+               static_cast<const _Tuple_impl<0, _U1, _U2>&>(__in))
+                                                          ^
+/usr/include/c++/8/tuple:1132:4: error: expected ‘{’ at end of input
+  { }
+    ^
+/usr/include/c++/8/tuple: In constructor ‘std::tuple<_T1, _T2>::tuple(std::allocator_arg_t, const _Alloc&, const std::tuple<_U1, _U2>&)’:
+/usr/include/c++/8/tuple:1142:4: error: ‘typedef int std::tuple<_T1, _T2>::_Inherited’ is not a non-static data member of ‘std::tuple<_T1, _T2>’
+  : _Inherited(__tag, __a,
+    ^~~~~~~~~~
+/usr/include/c++/8/tuple:1143:57: error: expected ‘>’ before ‘&’ token
+               static_cast<const _Tuple_impl<0, _U1, _U2>&>(__in))
+                                                         ^
+/usr/include/c++/8/tuple:1143:57: error: expected ‘(’ before ‘&’ token
+               static_cast<const _Tuple_impl<0, _U1, _U2>&>(__in))
+                                                         ^
+                                                         (
+/usr/include/c++/8/tuple:1143:58: error: expected primary-expression before ‘>’ token
+               static_cast<const _Tuple_impl<0, _U1, _U2>&>(__in))
+                                                          ^
+/usr/include/c++/8/tuple:1144:4: error: expected ‘{’ at end of input
+  { }
+    ^
+/usr/include/c++/8/tuple: In constructor ‘std::tuple<_T1, _T2>::tuple(std::allocator_arg_t, const _Alloc&, std::tuple<_U1, _U2>&&)’:
+/usr/include/c++/8/tuple:1153:4: error: ‘typedef int std::tuple<_T1, _T2>::_Inherited’ is not a non-static data member of ‘std::tuple<_T1, _T2>’
+  : _Inherited(__tag, __a, static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in))
+    ^~~~~~~~~~
+/usr/include/c++/8/tuple:1153:63: error: expected ‘>’ before ‘&&’ token
+  : _Inherited(__tag, __a, static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in))
+                                                               ^~
+/usr/include/c++/8/tuple:1153:63: error: expected ‘(’ before ‘&&’ token
+  : _Inherited(__tag, __a, static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in))
+                                                               ^~
+                                                               (
+/usr/include/c++/8/tuple:1153:65: error: expected identifier before ‘>’ token
+  : _Inherited(__tag, __a, static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in))
+                                                                 ^
+/usr/include/c++/8/tuple:1154:4: error: expected ‘{’ at end of input
+  { }
+    ^
+/usr/include/c++/8/tuple: In constructor ‘std::tuple<_T1, _T2>::tuple(std::allocator_arg_t, const _Alloc&, std::tuple<_U1, _U2>&&)’:
+/usr/include/c++/8/tuple:1164:4: error: ‘typedef int std::tuple<_T1, _T2>::_Inherited’ is not a non-static data member of ‘std::tuple<_T1, _T2>’
+  : _Inherited(__tag, __a, static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in))
+    ^~~~~~~~~~
+/usr/include/c++/8/tuple:1164:63: error: expected ‘>’ before ‘&&’ token
+  : _Inherited(__tag, __a, static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in))
+                                                               ^~
+/usr/include/c++/8/tuple:1164:63: error: expected ‘(’ before ‘&&’ token
+  : _Inherited(__tag, __a, static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in))
+                                                               ^~
+                                                               (
+/usr/include/c++/8/tuple:1164:65: error: expected identifier before ‘>’ token
+  : _Inherited(__tag, __a, static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in))
+                                                                 ^
+/usr/include/c++/8/tuple:1165:4: error: expected ‘{’ at end of input
+  { }
+    ^
+/usr/include/c++/8/tuple: In constructor ‘std::tuple<_T1, _T2>::tuple(std::allocator_arg_t, const _Alloc&, const std::pair<_U1, _U2>&)’:
+/usr/include/c++/8/tuple:1175:4: error: ‘typedef int std::tuple<_T1, _T2>::_Inherited’ is not a non-static data member of ‘std::tuple<_T1, _T2>’
+  : _Inherited(__tag, __a, __in.first, __in.second) { }
+    ^~~~~~~~~~
+/usr/include/c++/8/tuple: In constructor ‘std::tuple<_T1, _T2>::tuple(std::allocator_arg_t, const _Alloc&, const std::pair<_U1, _U2>&)’:
+/usr/include/c++/8/tuple:1185:4: error: ‘typedef int std::tuple<_T1, _T2>::_Inherited’ is not a non-static data member of ‘std::tuple<_T1, _T2>’
+  : _Inherited(__tag, __a, __in.first, __in.second) { }
+    ^~~~~~~~~~
+/usr/include/c++/8/tuple: In constructor ‘std::tuple<_T1, _T2>::tuple(std::allocator_arg_t, const _Alloc&, std::pair<_U1, _U2>&&)’:
+/usr/include/c++/8/tuple:1194:4: error: ‘typedef int std::tuple<_T1, _T2>::_Inherited’ is not a non-static data member of ‘std::tuple<_T1, _T2>’
+  : _Inherited(__tag, __a, std::forward<_U1>(__in.first),
+    ^~~~~~~~~~
+/usr/include/c++/8/tuple: In constructor ‘std::tuple<_T1, _T2>::tuple(std::allocator_arg_t, const _Alloc&, std::pair<_U1, _U2>&&)’:
+/usr/include/c++/8/tuple:1205:4: error: ‘typedef int std::tuple<_T1, _T2>::_Inherited’ is not a non-static data member of ‘std::tuple<_T1, _T2>’
+  : _Inherited(__tag, __a, std::forward<_U1>(__in.first),
+    ^~~~~~~~~~
+/usr/include/c++/8/tuple: In member function ‘void std::tuple<_T1, _T2>::swap(std::tuple<_T1, _T2>&)’:
+/usr/include/c++/8/tuple:1260:28: error: qualified-id in declaration before ‘(’ token
+       { _Inherited::_M_swap(__in); }
+                            ^
+/usr/include/c++/8/tuple: At global scope:
+/usr/include/c++/8/tuple:1267:37: error: ‘size_t’ is not a member of ‘std’
+     : public integral_constant<std::size_t, sizeof...(_Elements)> { };
+                                     ^~~~~~
+/usr/include/c++/8/tuple:1267:37: note: suggested alternative:
+In file included from /usr/include/wchar.h:35,
+                 from /usr/include/c++/8/cwchar:44,
+                 from /usr/include/c++/8/bits/postypes.h:40,
+                 from /usr/include/c++/8/iosfwd:40,
+                 from /usr/include/c++/8/ios:38,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/lib/gcc/x86_64-linux-gnu/8/include/stddef.h:216:23: note:   ‘size_t’
+ typedef __SIZE_TYPE__ size_t;
+                       ^~~~~~
+In file included from /usr/include/c++/8/bits/stl_map.h:63,
+                 from /usr/include/c++/8/map:61,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:55,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:54,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:46,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
+                 from gui-main.cpp:8:
+/usr/include/c++/8/tuple:1267:37: error: ‘size_t’ is not a member of ‘std’
+     : public integral_constant<std::size_t, sizeof...(_Elements)> { };
+                                     ^~~~~~
+/usr/include/c++/8/tuple:1267:37: note: suggested alternative:
+In file included from /usr/include/wchar.h:35,
+                 from /usr/include/c++/8/cwchar:44,
+                 from /usr/include/c++/8/bits/postypes.h:40,
+                 from /usr/include/c++/8/iosfwd:40,
+                 from /usr/include/c++/8/ios:38,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/lib/gcc/x86_64-linux-gnu/8/include/stddef.h:216:23: note:   ‘size_t’
+ typedef __SIZE_TYPE__ size_t;
+                       ^~~~~~
+In file included from /usr/include/c++/8/bits/stl_map.h:63,
+                 from /usr/include/c++/8/map:61,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:55,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:54,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:46,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
+                 from gui-main.cpp:8:
+/usr/include/c++/8/tuple:1267:65: error: template argument 1 is invalid
+     : public integral_constant<std::size_t, sizeof...(_Elements)> { };
+                                                                 ^
+/usr/include/c++/8/tuple:1267:65: note: invalid template non-type parameter
+/usr/include/c++/8/tuple:1278:17: error: ‘std::size_t’ has not been declared
+   template<std::size_t __i, typename _Head, typename... _Tail>
+                 ^~~~~~
+/usr/include/c++/8/tuple:1279:26: error: ‘__i’ was not declared in this scope
+     struct tuple_element<__i, tuple<_Head, _Tail...> >
+                          ^~~
+/usr/include/c++/8/tuple:1279:54: error: template argument 1 is invalid
+     struct tuple_element<__i, tuple<_Head, _Tail...> >
+                                                      ^
+/usr/include/c++/8/tuple:1280:21: error: ‘__i’ was not declared in this scope
+     : tuple_element<__i - 1, tuple<_Tail...> > { };
+                     ^~~
+/usr/include/c++/8/tuple:1280:46: error: template argument 1 is invalid
+     : tuple_element<__i - 1, tuple<_Tail...> > { };
+                                              ^
+/usr/include/c++/8/tuple:1301:17: error: ‘std::size_t’ has not been declared
+   template<std::size_t __i, typename _Head, typename... _Tail>
+                 ^~~~~~
+/usr/include/c++/8/tuple:1303:30: error: ‘__i’ was not declared in this scope
+     __get_helper(_Tuple_impl<__i, _Head, _Tail...>& __t) noexcept
+                              ^~~
+/usr/include/c++/8/tuple:1303:50: error: template argument 1 is invalid
+     __get_helper(_Tuple_impl<__i, _Head, _Tail...>& __t) noexcept
+                                                  ^
+/usr/include/c++/8/tuple: In function ‘constexpr _Head& std::__get_helper(int&)’:
+/usr/include/c++/8/tuple:1304:26: error: ‘__i’ was not declared in this scope
+     { return _Tuple_impl<__i, _Head, _Tail...>::_M_head(__t); }
+                          ^~~
+/usr/include/c++/8/tuple:1304:26: note: suggested alternative: ‘__t’
+     { return _Tuple_impl<__i, _Head, _Tail...>::_M_head(__t); }
+                          ^~~
+                          __t
+/usr/include/c++/8/tuple:1304:46: error: template argument 1 is invalid
+     { return _Tuple_impl<__i, _Head, _Tail...>::_M_head(__t); }
+                                              ^
+/usr/include/c++/8/tuple: At global scope:
+/usr/include/c++/8/tuple:1306:17: error: ‘std::size_t’ has not been declared
+   template<std::size_t __i, typename _Head, typename... _Tail>
+                 ^~~~~~
+/usr/include/c++/8/tuple:1308:36: error: ‘__i’ was not declared in this scope
+     __get_helper(const _Tuple_impl<__i, _Head, _Tail...>& __t) noexcept
+                                    ^~~
+/usr/include/c++/8/tuple:1308:56: error: template argument 1 is invalid
+     __get_helper(const _Tuple_impl<__i, _Head, _Tail...>& __t) noexcept
+                                                        ^
+/usr/include/c++/8/tuple: In function ‘constexpr const _Head& std::__get_helper(const int&)’:
+/usr/include/c++/8/tuple:1309:26: error: ‘__i’ was not declared in this scope
+     { return _Tuple_impl<__i, _Head, _Tail...>::_M_head(__t); }
+                          ^~~
+/usr/include/c++/8/tuple:1309:26: note: suggested alternative: ‘__t’
+     { return _Tuple_impl<__i, _Head, _Tail...>::_M_head(__t); }
+                          ^~~
+                          __t
+/usr/include/c++/8/tuple:1309:46: error: template argument 1 is invalid
+     { return _Tuple_impl<__i, _Head, _Tail...>::_M_head(__t); }
+                                              ^
+/usr/include/c++/8/tuple: At global scope:
+/usr/include/c++/8/tuple:1312:17: error: ‘std::size_t’ has not been declared
+   template<std::size_t __i, typename... _Elements>
+                 ^~~~~~
+/usr/include/c++/8/tuple:1313:15: error: ‘__tuple_element_t’ does not name a type; did you mean ‘tuple_element’?
+     constexpr __tuple_element_t<__i, tuple<_Elements...>>&
+               ^~~~~~~~~~~~~~~~~
+               tuple_element
+/usr/include/c++/8/tuple:1318:17: error: ‘std::size_t’ has not been declared
+   template<std::size_t __i, typename... _Elements>
+                 ^~~~~~
+/usr/include/c++/8/tuple:1319:21: error: ‘__tuple_element_t’ does not name a type; did you mean ‘tuple_element’?
+     constexpr const __tuple_element_t<__i, tuple<_Elements...>>&
+                     ^~~~~~~~~~~~~~~~~
+                     tuple_element
+/usr/include/c++/8/tuple:1324:17: error: ‘std::size_t’ has not been declared
+   template<std::size_t __i, typename... _Elements>
+                 ^~~~~~
+/usr/include/c++/8/tuple:1325:15: error: ‘__tuple_element_t’ does not name a type; did you mean ‘tuple_element’?
+     constexpr __tuple_element_t<__i, tuple<_Elements...>>&&
+               ^~~~~~~~~~~~~~~~~
+               tuple_element
+/usr/include/c++/8/tuple:1333:17: error: ‘std::size_t’ has not been declared
+   template<std::size_t __i, typename... _Elements>
+                 ^~~~~~
+/usr/include/c++/8/tuple:1334:21: error: ‘__tuple_element_t’ does not name a type; did you mean ‘tuple_element’?
+     constexpr const __tuple_element_t<__i, tuple<_Elements...>>&&
+                     ^~~~~~~~~~~~~~~~~
+                     tuple_element
+/usr/include/c++/8/tuple:1484:18: error: ‘__tuple_element_t’ was not declared in this scope
+    tuple<_Tp..., __tuple_element_t<_Idx, _Tuple>>,
+                  ^~~~~~~~~~~~~~~~~
+/usr/include/c++/8/tuple:1484:18: note: suggested alternative: ‘tuple_element’
+    tuple<_Tp..., __tuple_element_t<_Idx, _Tuple>>,
+                  ^~~~~~~~~~~~~~~~~
+                  tuple_element
+/usr/include/c++/8/tuple:1484:42: error: template argument 2 is invalid
+    tuple<_Tp..., __tuple_element_t<_Idx, _Tuple>>,
+                                          ^~~~~~
+/usr/include/c++/8/tuple:1484:48: error: wrong number of template arguments (2, should be 4)
+    tuple<_Tp..., __tuple_element_t<_Idx, _Tuple>>,
+                                                ^~
+/usr/include/c++/8/tuple:1479:12: note: provided for ‘template<long unsigned int <anonymous>, class, class, long unsigned int <anonymous> > struct std::__make_tuple_impl’
+     struct __make_tuple_impl;
+            ^~~~~~~~~~~~~~~~~
+/usr/include/c++/8/tuple:1485:15: error: expected class-name before ‘>’ token
+    _Tuple, _Nm>
+               ^
+/usr/include/c++/8/tuple:1485:15: error: expected ‘{’ before ‘>’ token
+/usr/include/c++/8/tuple:1488:17: error: ‘std::size_t’ has not been declared
+   template<std::size_t _Nm, typename _Tuple, typename... _Tp>
+                 ^~~~~~
+/usr/include/c++/8/tuple:1489:30: error: ‘_Nm’ was not declared in this scope
+     struct __make_tuple_impl<_Nm, tuple<_Tp...>, _Tuple, _Nm>
+                              ^~~
+/usr/include/c++/8/tuple:1489:58: error: ‘_Nm’ was not declared in this scope
+     struct __make_tuple_impl<_Nm, tuple<_Tp...>, _Tuple, _Nm>
+                                                          ^~~
+/usr/include/c++/8/tuple:1489:61: error: template argument 1 is invalid
+     struct __make_tuple_impl<_Nm, tuple<_Tp...>, _Tuple, _Nm>
+                                                             ^
+/usr/include/c++/8/tuple:1489:61: error: template argument 4 is invalid
+/usr/include/c++/8/tuple:1561:32: error: ‘std::size_t’ has not been declared
+   template<typename _Ret, std::size_t... _Is, typename _Tp, typename... _Tpls>
+                                ^~~~~~
+/usr/include/c++/8/tuple:1562:53: error: ‘_Is’ was not declared in this scope
+     struct __tuple_concater<_Ret, std::_Index_tuple<_Is...>, _Tp, _Tpls...>
+                                                     ^~~
+/usr/include/c++/8/tuple:1562:56: error: expected parameter pack before ‘...’
+     struct __tuple_concater<_Ret, std::_Index_tuple<_Is...>, _Tp, _Tpls...>
+                                                        ^~~
+/usr/include/c++/8/tuple:1562:59: error: template argument 1 is invalid
+     struct __tuple_concater<_Ret, std::_Index_tuple<_Is...>, _Tp, _Tpls...>
+                                                           ^
+/usr/include/c++/8/tuple:1562:75: error: template argument 2 is invalid
+     struct __tuple_concater<_Ret, std::_Index_tuple<_Is...>, _Tp, _Tpls...>
+                                                                           ^
+/usr/include/c++/8/tuple:1661:39: error: ‘std::size_t’ has not been declared
+     template<typename... _Args1, std::size_t... _Indexes1,
+                                       ^~~~~~
+/usr/include/c++/8/tuple:1662:39: error: ‘std::size_t’ has not been declared
+              typename... _Args2, std::size_t... _Indexes2>
+                                       ^~~~~~
+/usr/include/c++/8/tuple:1666:18: error: ‘_Indexes1’ was not declared in this scope
+     _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>)
+                  ^~~~~~~~~
+/usr/include/c++/8/tuple:1666:27: error: expected parameter pack before ‘...’
+     _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>)
+                           ^~~
+/usr/include/c++/8/tuple:1666:30: error: template argument 1 is invalid
+     _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>)
+                              ^
+/usr/include/c++/8/tuple:1666:46: error: ‘_Indexes2’ was not declared in this scope
+     _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>)
+                                              ^~~~~~~~~
+/usr/include/c++/8/tuple:1666:55: error: expected parameter pack before ‘...’
+     _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>)
+                                                       ^~~
+/usr/include/c++/8/tuple:1666:58: error: template argument 1 is invalid
+     _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>)
+                                                          ^
+/usr/include/c++/8/tuple:1666:59: error: default argument for template parameter for class enclosing ‘std::pair<_T1, _T2>::pair(std::tuple<_Args1 ...>&, std::tuple<_Args2 ...>&, int, int)’
+     _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>)
+                                                           ^
+/usr/include/c++/8/tuple: In constructor ‘std::pair<_T1, _T2>::pair(std::tuple<_Args1 ...>&, std::tuple<_Args2 ...>&, int, int)’:
+/usr/include/c++/8/tuple:1667:45: error: ‘_Indexes1’ was not declared in this scope
+       : first(std::forward<_Args1>(std::get<_Indexes1>(__tuple1))...),
+                                             ^~~~~~~~~
+/usr/include/c++/8/tuple:1668:46: error: ‘_Indexes2’ was not declared in this scope
+         second(std::forward<_Args2>(std::get<_Indexes2>(__tuple2))...)
+                                              ^~~~~~~~~
+In file included from /usr/include/c++/8/bits/basic_string.h:40,
+                 from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/ext/alloc_traits.h: In instantiation of ‘struct __gnu_cxx::__alloc_traits<std::allocator<bool>, bool>’:
+/usr/include/c++/8/bits/stl_bvector.h:429:34:   required from ‘struct std::_Bvector_base<std::allocator<bool> >’
+/usr/include/c++/8/bits/stl_bvector.h:588:11:   required from ‘class std::vector<bool>’
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:876:39:   required from here
+/usr/include/c++/8/ext/alloc_traits.h:61:53: error: no type named ‘size_type’ in ‘struct std::allocator_traits<std::allocator<bool> >’
+     typedef typename _Base_type::size_type          size_type;
+                                                     ^~~~~~~~~
+/usr/include/c++/8/ext/alloc_traits.h:62:53: error: no type named ‘difference_type’ in ‘struct std::allocator_traits<std::allocator<bool> >’
+     typedef typename _Base_type::difference_type    difference_type;
+                                                     ^~~~~~~~~~~~~~~
+/usr/include/c++/8/ext/alloc_traits.h:70:23: error: no members matching ‘__gnu_cxx::__alloc_traits<std::allocator<bool>, bool>::_Base_type {aka std::allocator_traits<std::allocator<bool> >}::max_size’ in ‘__gnu_cxx::__alloc_traits<std::allocator<bool>, bool>::_Base_type’ {aka ‘struct std::allocator_traits<std::allocator<bool> >’}
+     using _Base_type::max_size;
+                       ^~~~~~~~
+/usr/include/c++/8/ext/alloc_traits.h: In instantiation of ‘struct __gnu_cxx::__alloc_traits<std::allocator<long unsigned int>, long unsigned int>’:
+/usr/include/c++/8/bits/stl_bvector.h:432:51:   required from ‘struct std::_Bvector_base<std::allocator<bool> >’
+/usr/include/c++/8/bits/stl_bvector.h:588:11:   required from ‘class std::vector<bool>’
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:876:39:   required from here
+/usr/include/c++/8/ext/alloc_traits.h:61:53: error: no type named ‘size_type’ in ‘struct std::allocator_traits<std::allocator<long unsigned int> >’
+     typedef typename _Base_type::size_type          size_type;
+                                                     ^~~~~~~~~
+/usr/include/c++/8/ext/alloc_traits.h:62:53: error: no type named ‘difference_type’ in ‘struct std::allocator_traits<std::allocator<long unsigned int> >’
+     typedef typename _Base_type::difference_type    difference_type;
+                                                     ^~~~~~~~~~~~~~~
+/usr/include/c++/8/ext/alloc_traits.h:70:23: error: no members matching ‘__gnu_cxx::__alloc_traits<std::allocator<long unsigned int>, long unsigned int>::_Base_type {aka std::allocator_traits<std::allocator<long unsigned int> >}::max_size’ in ‘__gnu_cxx::__alloc_traits<std::allocator<long unsigned int>, long unsigned int>::_Base_type’ {aka ‘struct std::allocator_traits<std::allocator<long unsigned int> >’}
+     using _Base_type::max_size;
+                       ^~~~~~~~
+In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:54,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:46,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
+                 from gui-main.cpp:8:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h: At global scope:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:2248:1: error: ‘nullptr_t’ is not a member of ‘std’
+ QT_FOR_EACH_STATIC_TYPE(Q_DECLARE_BUILTIN_METATYPE)
+ ^~~~~~~~~~~~~~~~~~~~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:2248:1: note: suggested alternative:
+In file included from /usr/include/c++/8/bits/cxxabi_init_exception.h:38,
+                 from /usr/include/c++/8/bits/exception_ptr.h:38,
+                 from /usr/include/c++/8/exception:143,
+                 from /usr/include/c++/8/ios:39,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/lib/gcc/x86_64-linux-gnu/8/include/stddef.h:444:29: note:   ‘nullptr_t’
+   typedef decltype(nullptr) nullptr_t;
+                             ^~~~~~~~~
+In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:54,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:46,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
+                 from gui-main.cpp:8:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:2248:1: error: ‘nullptr_t’ is not a member of ‘std’
+ QT_FOR_EACH_STATIC_TYPE(Q_DECLARE_BUILTIN_METATYPE)
+ ^~~~~~~~~~~~~~~~~~~~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:2248:1: note: suggested alternative:
+In file included from /usr/include/c++/8/bits/cxxabi_init_exception.h:38,
+                 from /usr/include/c++/8/bits/exception_ptr.h:38,
+                 from /usr/include/c++/8/exception:143,
+                 from /usr/include/c++/8/ios:39,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/lib/gcc/x86_64-linux-gnu/8/include/stddef.h:444:29: note:   ‘nullptr_t’
+   typedef decltype(nullptr) nullptr_t;
+                             ^~~~~~~~~
+In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:54,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:46,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
+                 from gui-main.cpp:8:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:2248:1: error: template argument 1 is invalid
+ QT_FOR_EACH_STATIC_TYPE(Q_DECLARE_BUILTIN_METATYPE)
+ ^~~~~~~~~~~~~~~~~~~~~~~
+In file included from /usr/include/c++/8/functional:59,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qmap.h:54,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qvariant.h:47,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qlocale.h:43,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qguiapplication.h:47,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:52,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
+                 from gui-main.cpp:8:
+/usr/include/c++/8/bits/std_function.h:134:23: error: ‘size_t’ in namespace ‘std’ does not name a type
+     static const std::size_t _M_max_size = sizeof(_Nocopy_types);
+                       ^~~~~~
+/usr/include/c++/8/bits/std_function.h:135:23: error: ‘size_t’ in namespace ‘std’ does not name a type
+     static const std::size_t _M_max_align = __alignof__(_Nocopy_types);
+                       ^~~~~~
+/usr/include/c++/8/bits/std_function.h:143:26: error: ‘_M_max_size’ was not declared in this scope
+   && sizeof(_Functor) <= _M_max_size
+                          ^~~~~~~~~~~
+/usr/include/c++/8/bits/std_function.h:143:26: note: suggested alternative: ‘_S_chunk_size’
+   && sizeof(_Functor) <= _M_max_size
+                          ^~~~~~~~~~~
+                          _S_chunk_size
+/usr/include/c++/8/bits/std_function.h:144:31: error: ‘_M_max_align’ was not declared in this scope
+   && __alignof__(_Functor) <= _M_max_align
+                               ^~~~~~~~~~~~
+/usr/include/c++/8/bits/std_function.h:144:31: note: suggested alternative: ‘max_align_t’
+   && __alignof__(_Functor) <= _M_max_align
+                               ^~~~~~~~~~~~
+                               max_align_t
+/usr/include/c++/8/bits/std_function.h:145:7: error: ‘_M_max_align’ was not declared in this scope
+   && (_M_max_align % __alignof__(_Functor) == 0));
+       ^~~~~~~~~~~~
+/usr/include/c++/8/bits/std_function.h:145:7: note: suggested alternative: ‘max_align_t’
+   && (_M_max_align % __alignof__(_Functor) == 0));
+       ^~~~~~~~~~~~
+       max_align_t
+In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qmap.h:54,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qvariant.h:47,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qlocale.h:43,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qguiapplication.h:47,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:52,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
+                 from gui-main.cpp:8:
+/usr/include/c++/8/functional:259:17: error: ‘std::size_t’ has not been declared
+   template<std::size_t __i, typename _Tuple>
+                 ^~~~~~
+/usr/include/c++/8/functional:261:29: error: ‘__i’ was not declared in this scope
+       = typename enable_if<(__i < tuple_size<_Tuple>::value),
+                             ^~~
+/usr/include/c++/8/functional:262:21: error: ‘__i’ was not declared in this scope
+       tuple_element<__i, _Tuple>>::type::type;
+                     ^~~
+/usr/include/c++/8/functional:262:26: error: template argument 1 is invalid
+       tuple_element<__i, _Tuple>>::type::type;
+                          ^~~~~~
+/usr/include/c++/8/functional:262:32: error: template argument 2 is invalid
+       tuple_element<__i, _Tuple>>::type::type;
+                                ^~
+/usr/include/c++/8/functional:262:36: error: ‘<expression error>::type’ has not been declared
+       tuple_element<__i, _Tuple>>::type::type;
+                                    ^~~~
+/usr/include/c++/8/functional:324:57: error: ‘std::size_t’ has not been declared
+       template<typename _CVArg, typename... _Args, std::size_t... _Indexes>
+                                                         ^~~~~~
+/usr/include/c++/8/functional:327:28: error: ‘_Indexes’ was not declared in this scope
+         const _Index_tuple<_Indexes...>&) const volatile
+                            ^~~~~~~~
+/usr/include/c++/8/functional:327:28: note: suggested alternative: ‘rindex’
+         const _Index_tuple<_Indexes...>&) const volatile
+                            ^~~~~~~~
+                            rindex
+/usr/include/c++/8/functional:327:36: error: expected parameter pack before ‘...’
+         const _Index_tuple<_Indexes...>&) const volatile
+                                    ^~~
+/usr/include/c++/8/functional:327:39: error: template argument 1 is invalid
+         const _Index_tuple<_Indexes...>&) const volatile
+                                       ^
+/usr/include/c++/8/functional: In member function ‘decltype (__arg((declval<_Args>)()...)) std::_Mu<_Arg, true, false>::__call(_CVArg&, std::tuple<_Args2 ...>&, const int&) const volatile’:
+/usr/include/c++/8/functional:330:26: error: ‘_Indexes’ was not declared in this scope
+    return __arg(std::get<_Indexes>(std::move(__tuple))...);
+                          ^~~~~~~~
+/usr/include/c++/8/functional:330:26: note: suggested alternative: ‘rindex’
+    return __arg(std::get<_Indexes>(std::move(__tuple))...);
+                          ^~~~~~~~
+                          rindex
+/usr/include/c++/8/functional:330:55: error: expansion pattern ‘get<<expression error> >(std::move(__tuple))’ contains no argument packs
+    return __arg(std::get<_Indexes>(std::move(__tuple))...);
+                                                       ^~~
+/usr/include/c++/8/functional: At global scope:
+/usr/include/c++/8/functional:344:2: error: ‘_Safe_tuple_element_t’ does not name a type; did you mean ‘tuple_element’?
+  _Safe_tuple_element_t<(is_placeholder<_Arg>::value - 1), _Tuple>&&
+  ^~~~~~~~~~~~~~~~~~~~~
+  tuple_element
+/usr/include/c++/8/functional:368:17: error: ‘std::size_t’ has not been declared
+   template<std::size_t _Ind, typename... _Tp>
+                 ^~~~~~
+/usr/include/c++/8/functional:371:8: error: ‘__tuple_element_t’ does not name a type; did you mean ‘tuple_element’?
+     -> __tuple_element_t<_Ind, tuple<_Tp...>> volatile&
+        ^~~~~~~~~~~~~~~~~
+        tuple_element
+/usr/include/c++/8/functional:371:25: error: expected initializer before ‘<’ token
+     -> __tuple_element_t<_Ind, tuple<_Tp...>> volatile&
+                         ^
+/usr/include/c++/8/functional:375:17: error: ‘std::size_t’ has not been declared
+   template<std::size_t _Ind, typename... _Tp>
+                 ^~~~~~
+/usr/include/c++/8/functional:378:8: error: ‘__tuple_element_t’ does not name a type; did you mean ‘tuple_element’?
+     -> __tuple_element_t<_Ind, tuple<_Tp...>> const volatile&
+        ^~~~~~~~~~~~~~~~~
+        tuple_element
+/usr/include/c++/8/functional:378:25: error: expected initializer before ‘<’ token
+     -> __tuple_element_t<_Ind, tuple<_Tp...>> const volatile&
+                         ^
+/usr/include/c++/8/functional:396:58: error: ‘std::size_t’ has not been declared
+       template<typename _Result, typename... _Args, std::size_t... _Indexes>
+                                                          ^~~~~~
+/usr/include/c++/8/functional:398:48: error: ‘_Indexes’ was not declared in this scope
+  __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>)
+                                                ^~~~~~~~
+/usr/include/c++/8/functional:398:48: note: suggested alternative: ‘rindex’
+  __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>)
+                                                ^~~~~~~~
+                                                rindex
+/usr/include/c++/8/functional:398:56: error: expected parameter pack before ‘...’
+  __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>)
+                                                        ^~~
+/usr/include/c++/8/functional:398:59: error: template argument 1 is invalid
+  __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>)
+                                                           ^
+/usr/include/c++/8/functional:406:58: error: ‘std::size_t’ has not been declared
+       template<typename _Result, typename... _Args, std::size_t... _Indexes>
+                                                          ^~~~~~
+/usr/include/c++/8/functional:408:50: error: ‘_Indexes’ was not declared in this scope
+  __call_c(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>) const
+                                                  ^~~~~~~~
+/usr/include/c++/8/functional:408:50: note: suggested alternative: ‘rindex’
+  __call_c(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>) const
+                                                  ^~~~~~~~
+                                                  rindex
+/usr/include/c++/8/functional:408:58: error: expected parameter pack before ‘...’
+  __call_c(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>) const
+                                                          ^~~
+/usr/include/c++/8/functional:408:61: error: template argument 1 is invalid
+  __call_c(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>) const
+                                                             ^
+/usr/include/c++/8/functional:416:58: error: ‘std::size_t’ has not been declared
+       template<typename _Result, typename... _Args, std::size_t... _Indexes>
+                                                          ^~~~~~
+/usr/include/c++/8/functional:419:17: error: ‘_Indexes’ was not declared in this scope
+    _Index_tuple<_Indexes...>) volatile
+                 ^~~~~~~~
+/usr/include/c++/8/functional:419:17: note: suggested alternative: ‘rindex’
+    _Index_tuple<_Indexes...>) volatile
+                 ^~~~~~~~
+                 rindex
+/usr/include/c++/8/functional:419:25: error: expected parameter pack before ‘...’
+    _Index_tuple<_Indexes...>) volatile
+                         ^~~
+/usr/include/c++/8/functional:419:28: error: template argument 1 is invalid
+    _Index_tuple<_Indexes...>) volatile
+                            ^
+/usr/include/c++/8/functional:427:58: error: ‘std::size_t’ has not been declared
+       template<typename _Result, typename... _Args, std::size_t... _Indexes>
+                                                          ^~~~~~
+/usr/include/c++/8/functional:430:19: error: ‘_Indexes’ was not declared in this scope
+      _Index_tuple<_Indexes...>) const volatile
+                   ^~~~~~~~
+/usr/include/c++/8/functional:430:19: note: suggested alternative: ‘rindex’
+      _Index_tuple<_Indexes...>) const volatile
+                   ^~~~~~~~
+                   rindex
+/usr/include/c++/8/functional:430:27: error: expected parameter pack before ‘...’
+      _Index_tuple<_Indexes...>) const volatile
+                           ^~~
+/usr/include/c++/8/functional:430:30: error: template argument 1 is invalid
+      _Index_tuple<_Indexes...>) const volatile
+                              ^
+/usr/include/c++/8/functional: In member function ‘_Result std::_Bind<_Functor(_Bound_args ...)>::__call(std::tuple<_Args2 ...>&&, int)’:
+/usr/include/c++/8/functional:401:36: error: ‘_Indexes’ was not declared in this scope
+        _Mu<_Bound_args>()(std::get<_Indexes>(_M_bound_args), __args)...
+                                    ^~~~~~~~
+/usr/include/c++/8/functional:401:36: note: suggested alternative: ‘rindex’
+        _Mu<_Bound_args>()(std::get<_Indexes>(_M_bound_args), __args)...
+                                    ^~~~~~~~
+                                    rindex
+/usr/include/c++/8/functional: In member function ‘_Result std::_Bind<_Functor(_Bound_args ...)>::__call_c(std::tuple<_Args2 ...>&&, int) const’:
+/usr/include/c++/8/functional:411:36: error: ‘_Indexes’ was not declared in this scope
+        _Mu<_Bound_args>()(std::get<_Indexes>(_M_bound_args), __args)...
+                                    ^~~~~~~~
+/usr/include/c++/8/functional:411:36: note: suggested alternative: ‘rindex’
+        _Mu<_Bound_args>()(std::get<_Indexes>(_M_bound_args), __args)...
+                                    ^~~~~~~~
+                                    rindex
+/usr/include/c++/8/functional: In member function ‘_Result std::_Bind<_Functor(_Bound_args ...)>::__call_v(std::tuple<_Args2 ...>&&, int) volatile’:
+/usr/include/c++/8/functional:422:27: error: ‘__volget’ was not declared in this scope
+        _Mu<_Bound_args>()(__volget<_Indexes>(_M_bound_args), __args)...
+                           ^~~~~~~~
+/usr/include/c++/8/functional:422:27: note: suggested alternative: ‘__void_t’
+        _Mu<_Bound_args>()(__volget<_Indexes>(_M_bound_args), __args)...
+                           ^~~~~~~~
+                           __void_t
+/usr/include/c++/8/functional:422:36: error: ‘_Indexes’ was not declared in this scope
+        _Mu<_Bound_args>()(__volget<_Indexes>(_M_bound_args), __args)...
+                                    ^~~~~~~~
+/usr/include/c++/8/functional:422:36: note: suggested alternative: ‘rindex’
+        _Mu<_Bound_args>()(__volget<_Indexes>(_M_bound_args), __args)...
+                                    ^~~~~~~~
+                                    rindex
+/usr/include/c++/8/functional: In member function ‘_Result std::_Bind<_Functor(_Bound_args ...)>::__call_c_v(std::tuple<_Args2 ...>&&, int) const volatile’:
+/usr/include/c++/8/functional:433:27: error: ‘__volget’ was not declared in this scope
+        _Mu<_Bound_args>()(__volget<_Indexes>(_M_bound_args), __args)...
+                           ^~~~~~~~
+/usr/include/c++/8/functional:433:27: note: suggested alternative: ‘__void_t’
+        _Mu<_Bound_args>()(__volget<_Indexes>(_M_bound_args), __args)...
+                           ^~~~~~~~
+                           __void_t
+/usr/include/c++/8/functional:433:36: error: ‘_Indexes’ was not declared in this scope
+        _Mu<_Bound_args>()(__volget<_Indexes>(_M_bound_args), __args)...
+                                    ^~~~~~~~
+/usr/include/c++/8/functional:433:36: note: suggested alternative: ‘rindex’
+        _Mu<_Bound_args>()(__volget<_Indexes>(_M_bound_args), __args)...
+                                    ^~~~~~~~
+                                    rindex
+/usr/include/c++/8/functional: At global scope:
+/usr/include/c++/8/functional:552:55: error: ‘std::size_t’ has not been declared
+       template<typename _Res, typename... _Args, std::size_t... _Indexes>
+                                                       ^~~~~~
+/usr/include/c++/8/functional:554:48: error: ‘_Indexes’ was not declared in this scope
+  __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>)
+                                                ^~~~~~~~
+/usr/include/c++/8/functional:554:48: note: suggested alternative: ‘rindex’
+  __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>)
+                                                ^~~~~~~~
+                                                rindex
+/usr/include/c++/8/functional:554:56: error: expected parameter pack before ‘...’
+  __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>)
+                                                        ^~~
+/usr/include/c++/8/functional:554:59: error: template argument 1 is invalid
+  __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>)
+                                                           ^
+/usr/include/c++/8/functional:561:55: error: ‘std::size_t’ has not been declared
+       template<typename _Res, typename... _Args, std::size_t... _Indexes>
+                                                       ^~~~~~
+/usr/include/c++/8/functional:563:48: error: ‘_Indexes’ was not declared in this scope
+  __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>)
+                                                ^~~~~~~~
+/usr/include/c++/8/functional:563:48: note: suggested alternative: ‘rindex’
+  __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>)
+                                                ^~~~~~~~
+                                                rindex
+/usr/include/c++/8/functional:563:56: error: expected parameter pack before ‘...’
+  __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>)
+                                                        ^~~
+/usr/include/c++/8/functional:563:59: error: template argument 1 is invalid
+  __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>)
+                                                           ^
+/usr/include/c++/8/functional:570:55: error: ‘std::size_t’ has not been declared
+       template<typename _Res, typename... _Args, std::size_t... _Indexes>
+                                                       ^~~~~~
+/usr/include/c++/8/functional:572:48: error: ‘_Indexes’ was not declared in this scope
+  __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>) const
+                                                ^~~~~~~~
+/usr/include/c++/8/functional:572:48: note: suggested alternative: ‘rindex’
+  __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>) const
+                                                ^~~~~~~~
+                                                rindex
+/usr/include/c++/8/functional:572:56: error: expected parameter pack before ‘...’
+  __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>) const
+                                                        ^~~
+/usr/include/c++/8/functional:572:59: error: template argument 1 is invalid
+  __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>) const
+                                                           ^
+/usr/include/c++/8/functional:579:55: error: ‘std::size_t’ has not been declared
+       template<typename _Res, typename... _Args, std::size_t... _Indexes>
+                                                       ^~~~~~
+/usr/include/c++/8/functional:581:48: error: ‘_Indexes’ was not declared in this scope
+  __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>) const
+                                                ^~~~~~~~
+/usr/include/c++/8/functional:581:48: note: suggested alternative: ‘rindex’
+  __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>) const
+                                                ^~~~~~~~
+                                                rindex
+/usr/include/c++/8/functional:581:56: error: expected parameter pack before ‘...’
+  __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>) const
+                                                        ^~~
+/usr/include/c++/8/functional:581:59: error: template argument 1 is invalid
+  __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>) const
+                                                           ^
+/usr/include/c++/8/functional:588:55: error: ‘std::size_t’ has not been declared
+       template<typename _Res, typename... _Args, std::size_t... _Indexes>
+                                                       ^~~~~~
+/usr/include/c++/8/functional:590:48: error: ‘_Indexes’ was not declared in this scope
+  __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>) volatile
+                                                ^~~~~~~~
+/usr/include/c++/8/functional:590:48: note: suggested alternative: ‘rindex’
+  __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>) volatile
+                                                ^~~~~~~~
+                                                rindex
+/usr/include/c++/8/functional:590:56: error: expected parameter pack before ‘...’
+  __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>) volatile
+                                                        ^~~
+/usr/include/c++/8/functional:590:59: error: template argument 1 is invalid
+  __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>) volatile
+                                                           ^
+/usr/include/c++/8/functional:597:55: error: ‘std::size_t’ has not been declared
+       template<typename _Res, typename... _Args, std::size_t... _Indexes>
+                                                       ^~~~~~
+/usr/include/c++/8/functional:599:48: error: ‘_Indexes’ was not declared in this scope
+  __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>) volatile
+                                                ^~~~~~~~
+/usr/include/c++/8/functional:599:48: note: suggested alternative: ‘rindex’
+  __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>) volatile
+                                                ^~~~~~~~
+                                                rindex
+/usr/include/c++/8/functional:599:56: error: expected parameter pack before ‘...’
+  __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>) volatile
+                                                        ^~~
+/usr/include/c++/8/functional:599:59: error: template argument 1 is invalid
+  __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>) volatile
+                                                           ^
+/usr/include/c++/8/functional:606:55: error: ‘std::size_t’ has not been declared
+       template<typename _Res, typename... _Args, std::size_t... _Indexes>
+                                                       ^~~~~~
+/usr/include/c++/8/functional:609:22: error: ‘_Indexes’ was not declared in this scope
+         _Index_tuple<_Indexes...>) const volatile
+                      ^~~~~~~~
+/usr/include/c++/8/functional:609:22: note: suggested alternative: ‘rindex’
+         _Index_tuple<_Indexes...>) const volatile
+                      ^~~~~~~~
+                      rindex
+/usr/include/c++/8/functional:609:30: error: expected parameter pack before ‘...’
+         _Index_tuple<_Indexes...>) const volatile
+                              ^~~
+/usr/include/c++/8/functional:609:33: error: template argument 1 is invalid
+         _Index_tuple<_Indexes...>) const volatile
+                                 ^
+/usr/include/c++/8/functional:616:55: error: ‘std::size_t’ has not been declared
+       template<typename _Res, typename... _Args, std::size_t... _Indexes>
+                                                       ^~~~~~
+/usr/include/c++/8/functional:619:22: error: ‘_Indexes’ was not declared in this scope
+         _Index_tuple<_Indexes...>) const volatile
+                      ^~~~~~~~
+/usr/include/c++/8/functional:619:22: note: suggested alternative: ‘rindex’
+         _Index_tuple<_Indexes...>) const volatile
+                      ^~~~~~~~
+                      rindex
+/usr/include/c++/8/functional:619:30: error: expected parameter pack before ‘...’
+         _Index_tuple<_Indexes...>) const volatile
+                              ^~~
+/usr/include/c++/8/functional:619:33: error: template argument 1 is invalid
+         _Index_tuple<_Indexes...>) const volatile
+                                 ^
+/usr/include/c++/8/functional: In member function ‘std::_Bind_result<_Result, _Functor(_Bound_args ...)>::__disable_if_void<_Res> std::_Bind_result<_Result, _Functor(_Bound_args ...)>::__call(std::tuple<_Args2 ...>&&, int)’:
+/usr/include/c++/8/functional:557:19: error: ‘_Indexes’ was not declared in this scope
+         (std::get<_Indexes>(_M_bound_args), __args)...);
+                   ^~~~~~~~
+/usr/include/c++/8/functional:557:19: note: suggested alternative: ‘rindex’
+         (std::get<_Indexes>(_M_bound_args), __args)...);
+                   ^~~~~~~~
+                   rindex
+/usr/include/c++/8/functional: In member function ‘std::_Bind_result<_Result, _Functor(_Bound_args ...)>::__enable_if_void<_Res> std::_Bind_result<_Result, _Functor(_Bound_args ...)>::__call(std::tuple<_Args2 ...>&&, int)’:
+/usr/include/c++/8/functional:566:19: error: ‘_Indexes’ was not declared in this scope
+         (std::get<_Indexes>(_M_bound_args), __args)...);
+                   ^~~~~~~~
+/usr/include/c++/8/functional:566:19: note: suggested alternative: ‘rindex’
+         (std::get<_Indexes>(_M_bound_args), __args)...);
+                   ^~~~~~~~
+                   rindex
+/usr/include/c++/8/functional: In member function ‘std::_Bind_result<_Result, _Functor(_Bound_args ...)>::__disable_if_void<_Res> std::_Bind_result<_Result, _Functor(_Bound_args ...)>::__call(std::tuple<_Args2 ...>&&, int) const’:
+/usr/include/c++/8/functional:575:19: error: ‘_Indexes’ was not declared in this scope
+         (std::get<_Indexes>(_M_bound_args), __args)...);
+                   ^~~~~~~~
+/usr/include/c++/8/functional:575:19: note: suggested alternative: ‘rindex’
+         (std::get<_Indexes>(_M_bound_args), __args)...);
+                   ^~~~~~~~
+                   rindex
+/usr/include/c++/8/functional: In member function ‘std::_Bind_result<_Result, _Functor(_Bound_args ...)>::__enable_if_void<_Res> std::_Bind_result<_Result, _Functor(_Bound_args ...)>::__call(std::tuple<_Args2 ...>&&, int) const’:
+/usr/include/c++/8/functional:584:19: error: ‘_Indexes’ was not declared in this scope
+         (std::get<_Indexes>(_M_bound_args),  __args)...);
+                   ^~~~~~~~
+/usr/include/c++/8/functional:584:19: note: suggested alternative: ‘rindex’
+         (std::get<_Indexes>(_M_bound_args),  __args)...);
+                   ^~~~~~~~
+                   rindex
+/usr/include/c++/8/functional: In member function ‘std::_Bind_result<_Result, _Functor(_Bound_args ...)>::__disable_if_void<_Res> std::_Bind_result<_Result, _Functor(_Bound_args ...)>::__call(std::tuple<_Args2 ...>&&, int) volatile’:
+/usr/include/c++/8/functional:593:10: error: ‘__volget’ was not declared in this scope
+         (__volget<_Indexes>(_M_bound_args), __args)...);
+          ^~~~~~~~
+/usr/include/c++/8/functional:593:10: note: suggested alternative: ‘__void_t’
+         (__volget<_Indexes>(_M_bound_args), __args)...);
+          ^~~~~~~~
+          __void_t
+/usr/include/c++/8/functional:593:19: error: ‘_Indexes’ was not declared in this scope
+         (__volget<_Indexes>(_M_bound_args), __args)...);
+                   ^~~~~~~~
+/usr/include/c++/8/functional:593:19: note: suggested alternative: ‘rindex’
+         (__volget<_Indexes>(_M_bound_args), __args)...);
+                   ^~~~~~~~
+                   rindex
+/usr/include/c++/8/functional: In member function ‘std::_Bind_result<_Result, _Functor(_Bound_args ...)>::__enable_if_void<_Res> std::_Bind_result<_Result, _Functor(_Bound_args ...)>::__call(std::tuple<_Args2 ...>&&, int) volatile’:
+/usr/include/c++/8/functional:602:10: error: ‘__volget’ was not declared in this scope
+         (__volget<_Indexes>(_M_bound_args), __args)...);
+          ^~~~~~~~
+/usr/include/c++/8/functional:602:10: note: suggested alternative: ‘__void_t’
+         (__volget<_Indexes>(_M_bound_args), __args)...);
+          ^~~~~~~~
+          __void_t
+/usr/include/c++/8/functional:602:19: error: ‘_Indexes’ was not declared in this scope
+         (__volget<_Indexes>(_M_bound_args), __args)...);
+                   ^~~~~~~~
+/usr/include/c++/8/functional:602:19: note: suggested alternative: ‘rindex’
+         (__volget<_Indexes>(_M_bound_args), __args)...);
+                   ^~~~~~~~
+                   rindex
+/usr/include/c++/8/functional: In member function ‘std::_Bind_result<_Result, _Functor(_Bound_args ...)>::__disable_if_void<_Res> std::_Bind_result<_Result, _Functor(_Bound_args ...)>::__call(std::tuple<_Args2 ...>&&, int) const volatile’:
+/usr/include/c++/8/functional:612:10: error: ‘__volget’ was not declared in this scope
+         (__volget<_Indexes>(_M_bound_args), __args)...);
+          ^~~~~~~~
+/usr/include/c++/8/functional:612:10: note: suggested alternative: ‘__void_t’
+         (__volget<_Indexes>(_M_bound_args), __args)...);
+          ^~~~~~~~
+          __void_t
+/usr/include/c++/8/functional:612:19: error: ‘_Indexes’ was not declared in this scope
+         (__volget<_Indexes>(_M_bound_args), __args)...);
+                   ^~~~~~~~
+/usr/include/c++/8/functional:612:19: note: suggested alternative: ‘rindex’
+         (__volget<_Indexes>(_M_bound_args), __args)...);
+                   ^~~~~~~~
+                   rindex
+/usr/include/c++/8/functional: In member function ‘std::_Bind_result<_Result, _Functor(_Bound_args ...)>::__enable_if_void<_Res> std::_Bind_result<_Result, _Functor(_Bound_args ...)>::__call(std::tuple<_Args2 ...>&&, int) const volatile’:
+/usr/include/c++/8/functional:622:10: error: ‘__volget’ was not declared in this scope
+         (__volget<_Indexes>(_M_bound_args), __args)...);
+          ^~~~~~~~
+/usr/include/c++/8/functional:622:10: note: suggested alternative: ‘__void_t’
+         (__volget<_Indexes>(_M_bound_args), __args)...);
+          ^~~~~~~~
+          __void_t
+/usr/include/c++/8/functional:622:19: error: ‘_Indexes’ was not declared in this scope
+         (__volget<_Indexes>(_M_bound_args), __args)...);
+                   ^~~~~~~~
+/usr/include/c++/8/functional:622:19: note: suggested alternative: ‘rindex’
+         (__volget<_Indexes>(_M_bound_args), __args)...);
+                   ^~~~~~~~
+                   rindex
+In file included from /usr/include/x86_64-linux-gnu/qt5/QtGui/qregion.h:49,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qevent.h:45,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/QKeyEvent:1,
+                 from gui-main.cpp:9:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qdatastream.h: At global scope:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qdatastream.h:157:34: error: declaration of ‘operator>>’ as non-function
+     QDataStream &operator>>(std::nullptr_t &ptr) { ptr = nullptr; return *this; }
+                                  ^~~~~~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qdatastream.h:157:26: error: expected ‘;’ at end of member declaration
+     QDataStream &operator>>(std::nullptr_t &ptr) { ptr = nullptr; return *this; }
+                          ^~
+                            ;
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qdatastream.h:157:43: error: expected ‘)’ before ‘&’ token
+     QDataStream &operator>>(std::nullptr_t &ptr) { ptr = nullptr; return *this; }
+                            ~              ^~
+                                           )
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qdatastream.h:173:43: error: declaration of ‘operator<<’ as non-function
+     QDataStream &operator<<(std::nullptr_t) { return *this; }
+                                           ^
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qdatastream.h:173:26: error: expected ‘;’ at end of member declaration
+     QDataStream &operator<<(std::nullptr_t) { return *this; }
+                          ^~
+                            ;
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qdatastream.h:173:61: error: invalid use of ‘::’
+     QDataStream &operator<<(std::nullptr_t) { return *this; }
+                                                             ^
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qdatastream.h:173:61: error: expected ‘;’ at end of member declaration
+     QDataStream &operator<<(std::nullptr_t) { return *this; }
+                                                             ^
+                                                              ;
+In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer.h:48,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qfont.h:46,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qtextdocument.h:48,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/QTextDocument:1,
+                 from gui-main.cpp:10:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:317:51: error: invalid use of ‘::’
+     Q_DECL_CONSTEXPR QSharedPointer(std::nullptr_t) Q_DECL_NOTHROW : value(nullptr), d(nullptr) { }
+                                                   ^
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:317:51: error: expected ‘;’ at end of member declaration
+     Q_DECL_CONSTEXPR QSharedPointer(std::nullptr_t) Q_DECL_NOTHROW : value(nullptr), d(nullptr) { }
+                                                   ^
+                                                    ;
+In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h:105,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qtguiglobal.h:43,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtwidgetsglobal.h:43,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:43,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
+                 from gui-main.cpp:8:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:317:53: error: expected unqualified-id before ‘noexcept’
+     Q_DECL_CONSTEXPR QSharedPointer(std::nullptr_t) Q_DECL_NOTHROW : value(nullptr), d(nullptr) { }
+                                                     ^~~~~~~~~~~~~~
+In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer.h:48,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qfont.h:46,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qtextdocument.h:48,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/QTextDocument:1,
+                 from gui-main.cpp:10:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:328:34: error: expected ‘)’ before ‘,’ token
+     QSharedPointer(std::nullptr_t, Deleter) : value(nullptr), d(nullptr) { }
+                   ~              ^
+                                  )
+In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer.h:48,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qfont.h:46,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qtextdocument.h:48,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/QTextDocument:1,
+                 from gui-main.cpp:10:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:785:59: error: ‘std::nullptr_t’ has not been declared
+ inline bool operator==(const QSharedPointer<T> &lhs, std::nullptr_t) Q_DECL_NOTHROW
+                                                           ^~~~~~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:791:59: error: ‘std::nullptr_t’ has not been declared
+ inline bool operator!=(const QSharedPointer<T> &lhs, std::nullptr_t) Q_DECL_NOTHROW
+                                                           ^~~~~~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:797:29: error: declaration of ‘operator==’ as non-function
+ inline bool operator==(std::nullptr_t, const QSharedPointer<T> &rhs) Q_DECL_NOTHROW
+                             ^~~~~~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:797:29: error: ‘nullptr_t’ is not a member of ‘std’
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:797:29: note: suggested alternative:
+In file included from /usr/include/c++/8/bits/cxxabi_init_exception.h:38,
+                 from /usr/include/c++/8/bits/exception_ptr.h:38,
+                 from /usr/include/c++/8/exception:143,
+                 from /usr/include/c++/8/ios:39,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/lib/gcc/x86_64-linux-gnu/8/include/stddef.h:444:29: note:   ‘nullptr_t’
+   typedef decltype(nullptr) nullptr_t;
+                             ^~~~~~~~~
+In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer.h:48,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qfont.h:46,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qtextdocument.h:48,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/QTextDocument:1,
+                 from gui-main.cpp:10:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:797:40: error: expected primary-expression before ‘const’
+ inline bool operator==(std::nullptr_t, const QSharedPointer<T> &rhs) Q_DECL_NOTHROW
+                                        ^~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:803:29: error: declaration of ‘operator!=’ as non-function
+ inline bool operator!=(std::nullptr_t, const QSharedPointer<T> &rhs) Q_DECL_NOTHROW
+                             ^~~~~~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:803:29: error: ‘nullptr_t’ is not a member of ‘std’
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:803:29: note: suggested alternative:
+In file included from /usr/include/c++/8/bits/cxxabi_init_exception.h:38,
+                 from /usr/include/c++/8/bits/exception_ptr.h:38,
+                 from /usr/include/c++/8/exception:143,
+                 from /usr/include/c++/8/ios:39,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/lib/gcc/x86_64-linux-gnu/8/include/stddef.h:444:29: note:   ‘nullptr_t’
+   typedef decltype(nullptr) nullptr_t;
+                             ^~~~~~~~~
+In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer.h:48,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qfont.h:46,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qtextdocument.h:48,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/QTextDocument:1,
+                 from gui-main.cpp:10:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:803:40: error: expected primary-expression before ‘const’
+ inline bool operator!=(std::nullptr_t, const QSharedPointer<T> &rhs) Q_DECL_NOTHROW
+                                        ^~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:809:57: error: ‘std::nullptr_t’ has not been declared
+ inline bool operator==(const QWeakPointer<T> &lhs, std::nullptr_t) Q_DECL_NOTHROW
+                                                         ^~~~~~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:815:57: error: ‘std::nullptr_t’ has not been declared
+ inline bool operator!=(const QWeakPointer<T> &lhs, std::nullptr_t) Q_DECL_NOTHROW
+                                                         ^~~~~~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:821:29: error: declaration of ‘operator==’ as non-function
+ inline bool operator==(std::nullptr_t, const QWeakPointer<T> &rhs) Q_DECL_NOTHROW
+                             ^~~~~~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:821:29: error: ‘nullptr_t’ is not a member of ‘std’
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:821:29: note: suggested alternative:
+In file included from /usr/include/c++/8/bits/cxxabi_init_exception.h:38,
+                 from /usr/include/c++/8/bits/exception_ptr.h:38,
+                 from /usr/include/c++/8/exception:143,
+                 from /usr/include/c++/8/ios:39,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/lib/gcc/x86_64-linux-gnu/8/include/stddef.h:444:29: note:   ‘nullptr_t’
+   typedef decltype(nullptr) nullptr_t;
+                             ^~~~~~~~~
+In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer.h:48,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qfont.h:46,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qtextdocument.h:48,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/QTextDocument:1,
+                 from gui-main.cpp:10:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:821:40: error: expected primary-expression before ‘const’
+ inline bool operator==(std::nullptr_t, const QWeakPointer<T> &rhs) Q_DECL_NOTHROW
+                                        ^~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:827:29: error: declaration of ‘operator!=’ as non-function
+ inline bool operator!=(std::nullptr_t, const QWeakPointer<T> &rhs) Q_DECL_NOTHROW
+                             ^~~~~~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:827:29: error: ‘nullptr_t’ is not a member of ‘std’
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:827:29: note: suggested alternative:
+In file included from /usr/include/c++/8/bits/cxxabi_init_exception.h:38,
+                 from /usr/include/c++/8/bits/exception_ptr.h:38,
+                 from /usr/include/c++/8/exception:143,
+                 from /usr/include/c++/8/ios:39,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/lib/gcc/x86_64-linux-gnu/8/include/stddef.h:444:29: note:   ‘nullptr_t’
+   typedef decltype(nullptr) nullptr_t;
+                             ^~~~~~~~~
+In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer.h:48,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qfont.h:46,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qtextdocument.h:48,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/QTextDocument:1,
+                 from gui-main.cpp:10:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:827:40: error: expected primary-expression before ‘const’
+ inline bool operator!=(std::nullptr_t, const QWeakPointer<T> &rhs) Q_DECL_NOTHROW
+                                        ^~~~~
+In file included from /usr/include/x86_64-linux-gnu/qt5/QtGui/qbrush.h:51,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qpalette.h:46,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qwidget.h:48,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qframe.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qabstractscrollarea.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtextedit.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QTextEdit:1,
+                 from gui-main.cpp:11:
+/usr/include/x86_64-linux-gnu/qt5/QtGui/qimage.h:220:5: error: ‘qsizetype’ does not name a type; did you mean ‘iswctype’?
+     qsizetype sizeInBytes() const;
+     ^~~~~~~~~
+     iswctype
+gui-main.cpp: In member function ‘void command_window::accept(const string&)’:
+gui-main.cpp:135:11: warning: unused variable ‘status’ [-Wunused-variable]
+       int status = parse_and_execute (line);
+           ^~~~~~
+In file included from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/basic_string.h: In instantiation of ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’:
+/usr/include/c++/8/system_error:189:40:   required from here
+/usr/include/c++/8/bits/basic_string.h:552:24: error: ‘class std::__cxx11::basic_string<char>’ has no member named ‘_M_allocated_capacity’; did you mean ‘_S_local_capacity’?
+      _M_capacity(__str._M_allocated_capacity);
+                  ~~~~~~^~~~~~~~~~~~~~~~~~~~~
+                  _S_local_capacity
+/usr/include/c++/8/bits/basic_string.h: In instantiation of ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc> std::operator+(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’:
+/usr/include/c++/8/system_error:351:50:   required from here
+/usr/include/c++/8/bits/basic_string.h:6007:33: error: ‘class std::__cxx11::basic_string<char>’ has no member named ‘size’
+       const auto __size = __lhs.size() + __rhs.size();
+                           ~~~~~~^~~~
+/usr/include/c++/8/bits/basic_string.h:6007:48: error: ‘class std::__cxx11::basic_string<char>’ has no member named ‘size’
+       const auto __size = __lhs.size() + __rhs.size();
+                                          ~~~~~~^~~~
+/usr/include/c++/8/bits/basic_string.h:6008:43: error: ‘class std::__cxx11::basic_string<char>’ has no member named ‘capacity’
+       const bool __cond = (__size > __lhs.capacity()
+                                     ~~~~~~^~~~~~~~
+/usr/include/c++/8/bits/basic_string.h:6009:26: error: ‘class std::__cxx11::basic_string<char>’ has no member named ‘capacity’
+       && __size <= __rhs.capacity());
+                    ~~~~~~^~~~~~~~
+/usr/include/c++/8/bits/basic_string.h:6010:32: error: no matching function for call to ‘std::__cxx11::basic_string<char>::insert(int, std::__cxx11::basic_string<char>&)’
+       return __cond ? std::move(__rhs.insert(0, __lhs))
+                       ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
+/usr/include/c++/8/bits/basic_string.h:1577:9: note: candidate: ‘template<class _InputIterator, class> std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::iterator std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::insert(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::const_iterator, _InputIterator, _InputIterator) [with _InputIterator = _InputIterator; <template-parameter-2-2> = <template-parameter-1-2>; _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’
+         insert(const_iterator __p, _InputIterator __beg, _InputIterator __end)
+         ^~~~~~
+/usr/include/c++/8/bits/basic_string.h:1577:9: note:   template argument deduction/substitution failed:
+/usr/include/c++/8/bits/basic_string.h:6010:32: note:   candidate expects 3 arguments, 2 provided
+       return __cond ? std::move(__rhs.insert(0, __lhs))
+                       ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
+/usr/include/c++/8/bits/basic_string.h:1611:7: note: candidate: ‘void std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::insert(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::iterator, std::initializer_list<_Tp>) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; typename __gnu_cxx::__alloc_traits<typename __gnu_cxx::__alloc_traits<_Alloc>::rebind<_CharT>::other>::pointer = char*]’
+       insert(iterator __p, initializer_list<_CharT> __l)
+       ^~~~~~
+/usr/include/c++/8/bits/basic_string.h:1611:7: note:   no known conversion for argument 1 from ‘int’ to ‘std::__cxx11::basic_string<char>::iterator’ {aka ‘__gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >’}
+/usr/include/c++/8/bits/basic_string.h:1738:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::iterator std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::insert(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::__const_iterator, _CharT) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; typename __gnu_cxx::__alloc_traits<typename __gnu_cxx::__alloc_traits<_Alloc>::rebind<_CharT>::other>::pointer = char*; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::__const_iterator = __gnu_cxx::__normal_iterator<const char*, std::__cxx11::basic_string<char> >; typename __gnu_cxx::__alloc_traits<typename __gnu_cxx::__alloc_traits<_Alloc>::rebind<_CharT>::other>::const_pointer = const char*]’
+       insert(__const_iterator __p, _CharT __c)
+       ^~~~~~
+/usr/include/c++/8/bits/basic_string.h:1738:7: note:   no known conversion for argument 1 from ‘int’ to ‘std::__cxx11::basic_string<char>::__const_iterator’ {aka ‘__gnu_cxx::__normal_iterator<const char*, std::__cxx11::basic_string<char> >’}
+/usr/include/c++/8/bits/basic_string.h: In instantiation of ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc> std::operator+(const _CharT*, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’:
+/usr/include/c++/8/system_error:354:51:   required from here
+/usr/include/c++/8/bits/basic_string.h:6018:23: error: no matching function for call to ‘std::__cxx11::basic_string<char>::insert(int, const char*&)’
+     { return std::move(__rhs.insert(0, __lhs)); }
+              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
+/usr/include/c++/8/bits/basic_string.h:1577:9: note: candidate: ‘template<class _InputIterator, class> std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::iterator std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::insert(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::const_iterator, _InputIterator, _InputIterator) [with _InputIterator = _InputIterator; <template-parameter-2-2> = <template-parameter-1-2>; _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’
+         insert(const_iterator __p, _InputIterator __beg, _InputIterator __end)
+         ^~~~~~
+/usr/include/c++/8/bits/basic_string.h:1577:9: note:   template argument deduction/substitution failed:
+/usr/include/c++/8/bits/basic_string.h:6018:23: note:   candidate expects 3 arguments, 2 provided
+     { return std::move(__rhs.insert(0, __lhs)); }
+              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
+/usr/include/c++/8/bits/basic_string.h:1611:7: note: candidate: ‘void std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::insert(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::iterator, std::initializer_list<_Tp>) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; typename __gnu_cxx::__alloc_traits<typename __gnu_cxx::__alloc_traits<_Alloc>::rebind<_CharT>::other>::pointer = char*]’
+       insert(iterator __p, initializer_list<_CharT> __l)
+       ^~~~~~
+/usr/include/c++/8/bits/basic_string.h:1611:7: note:   no known conversion for argument 1 from ‘int’ to ‘std::__cxx11::basic_string<char>::iterator’ {aka ‘__gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >’}
+/usr/include/c++/8/bits/basic_string.h:1738:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::iterator std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::insert(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::__const_iterator, _CharT) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; typename __gnu_cxx::__alloc_traits<typename __gnu_cxx::__alloc_traits<_Alloc>::rebind<_CharT>::other>::pointer = char*; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::__const_iterator = __gnu_cxx::__normal_iterator<const char*, std::__cxx11::basic_string<char> >; typename __gnu_cxx::__alloc_traits<typename __gnu_cxx::__alloc_traits<_Alloc>::rebind<_CharT>::other>::const_pointer = const char*]’
+       insert(__const_iterator __p, _CharT __c)
+       ^~~~~~
+/usr/include/c++/8/bits/basic_string.h:1738:7: note:   no known conversion for argument 1 from ‘int’ to ‘std::__cxx11::basic_string<char>::__const_iterator’ {aka ‘__gnu_cxx::__normal_iterator<const char*, std::__cxx11::basic_string<char> >’}
+In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:54,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
+                 from gui-main.cpp:8:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h: In instantiation of ‘QStringView::QStringView(const String&) [with String = QString; typename std::enable_if<(std::is_same<T, QString>::value || std::is_same<T, QStringRef>::value), bool>::type <anonymous> = 1]’:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:399:48:   required from here
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h:208:69: error: ‘qsizetype’ was not declared in this scope
+         : QStringView(str.isNull() ? nullptr : str.data(), qsizetype(str.size())) {}
+                                                            ~~~~~~~~~^~~~~~~~~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h:208:69: note: suggested alternative: ‘iswctype’
+         : QStringView(str.isNull() ? nullptr : str.data(), qsizetype(str.size())) {}
+                                                            ~~~~~~~~~^~~~~~~~~~~~
+                                                            iswctype
+In file included from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/basic_string.h: In instantiation of ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; _Alloc = std::allocator<wchar_t>]’:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1384:12:   required from here
+/usr/include/c++/8/bits/basic_string.h:552:24: error: ‘class std::__cxx11::basic_string<wchar_t>’ has no member named ‘_M_allocated_capacity’; did you mean ‘_S_local_capacity’?
+      _M_capacity(__str._M_allocated_capacity);
+                  ~~~~~~^~~~~~~~~~~~~~~~~~~~~
+                  _S_local_capacity
+/usr/include/c++/8/bits/basic_string.h: In instantiation of ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&) [with _CharT = char32_t; _Traits = std::char_traits<char32_t>; _Alloc = std::allocator<char32_t>]’:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1405:12:   required from here
+/usr/include/c++/8/bits/basic_string.h:552:24: error: ‘class std::__cxx11::basic_string<char32_t>’ has no member named ‘_M_allocated_capacity’; did you mean ‘_S_local_capacity’?
+      _M_capacity(__str._M_allocated_capacity);
+                  ~~~~~~^~~~~~~~~~~~~~~~~~~~~
+                  _S_local_capacity
+In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:54,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
+                 from gui-main.cpp:8:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h: In instantiation of ‘QStringView::QStringView(const String&) [with String = QStringRef; typename std::enable_if<(std::is_same<T, QString>::value || std::is_same<T, QStringRef>::value), bool>::type <anonymous> = 1]’:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1499:48:   required from here
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h:208:69: error: ‘qsizetype’ was not declared in this scope
+         : QStringView(str.isNull() ? nullptr : str.data(), qsizetype(str.size())) {}
+                                                            ~~~~~~~~~^~~~~~~~~~~~
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringview.h:208:69: note: suggested alternative: ‘iswctype’
+         : QStringView(str.isNull() ? nullptr : str.data(), qsizetype(str.size())) {}
+                                                            ~~~~~~~~~^~~~~~~~~~~~
+                                                            iswctype
+In file included from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/basic_string.h: In instantiation of ‘void std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_M_dispose() [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’:
+/usr/include/c++/8/bits/basic_string.h:657:9:   required from ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::~basic_string() [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’
+/usr/include/c++/8/system_error:189:40:   required from here
+/usr/include/c++/8/bits/basic_string.h:221:15: error: using invalid field ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::<unnamed union>::_M_allocated_capacity’
+    _M_destroy(_M_allocated_capacity);
+               ^~~~~~~~~~~~~~~~~~~~~
+/usr/include/c++/8/bits/basic_string.h: In instantiation of ‘void std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_M_dispose() [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; _Alloc = std::allocator<wchar_t>]’:
+/usr/include/c++/8/bits/basic_string.h:657:9:   required from ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::~basic_string() [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; _Alloc = std::allocator<wchar_t>]’
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1374:18:   required from here
+/usr/include/c++/8/bits/basic_string.h:221:15: error: using invalid field ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::<unnamed union>::_M_allocated_capacity’
+/usr/include/c++/8/bits/basic_string.h: In instantiation of ‘void std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_M_dispose() [with _CharT = char32_t; _Traits = std::char_traits<char32_t>; _Alloc = std::allocator<char32_t>]’:
+/usr/include/c++/8/bits/basic_string.h:657:9:   required from ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::~basic_string() [with _CharT = char32_t; _Traits = std::char_traits<char32_t>; _Alloc = std::allocator<char32_t>]’
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1402:48:   required from here
+/usr/include/c++/8/bits/basic_string.h:221:15: error: using invalid field ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::<unnamed union>::_M_allocated_capacity’
+In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:49,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:46,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
+                 from gui-main.cpp:8:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h: In instantiation of ‘void QList<T>::node_construct(QList<T>::Node*, const T&) [with T = QString]’:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h:584:13:   required from ‘void QList<T>::append(const T&) [with T = QString]’
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringlist.h:104:61:   required from here
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h:436:39: error: no matching function for call to ‘operator new(sizetype, QList<QString>::Node*&)’
+     else if (QTypeInfo<T>::isComplex) new (n) T(t);
+                                       ^~~~~~~~~~~~
+<built-in>: note: candidate: ‘void* operator new(long unsigned int)’
+<built-in>: note:   candidate expects 1 argument, 2 provided
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h: In instantiation of ‘void QList<T>::node_copy(QList<T>::Node*, QList<T>::Node*, QList<T>::Node*) [with T = QString]’:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h:813:13:   required from ‘QList<T>::QList(const QList<T>&) [with T = QString]’
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qstringlist.h:105:67:   required from here
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h:475:17: error: no matching function for call to ‘operator new(sizetype, QList<QString>::Node*&)’
+                 new (current) T(*reinterpret_cast<T*>(src));
+                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+<built-in>: note: candidate: ‘void* operator new(long unsigned int)’
+<built-in>: note:   candidate expects 1 argument, 2 provided
+In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qvariant.h:48,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qlocale.h:43,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qguiapplication.h:47,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:52,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
+                 from gui-main.cpp:8:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qhash.h: In instantiation of ‘QHash<K, V>::Node* QHash<K, V>::createNode(uint, const Key&, const T&, QHash<K, V>::Node**) [with Key = QString; T = QVariant; QHash<K, V>::Node = QHashNode<QString, QVariant>; uint = unsigned int]’:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qhash.h:793:21:   required from ‘QHash<K, V>::iterator QHash<K, V>::insertMulti(const Key&, const T&) [with Key = QString; T = QVariant]’
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qvariant.h:805:66:   required from here
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qhash.h:560:18: error: no matching function for call to ‘operator new(sizetype, void*)’
+     Node *node = new (d->allocateNode(alignOfNode())) Node(akey, avalue, ah, *anextNode);
+                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+<built-in>: note: candidate: ‘void* operator new(long unsigned int)’
+<built-in>: note:   candidate expects 1 argument, 2 provided
+In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qvariant.h:47,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qlocale.h:43,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qguiapplication.h:47,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:52,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
+                 from gui-main.cpp:8:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qmap.h: In instantiation of ‘QMapData<Key, T>::Node* QMapData<Key, T>::createNode(const Key&, const T&, QMapData<Key, T>::Node*, bool) [with Key = QString; T = QVariant; QMapData<Key, T>::Node = QMapNode<QString, QVariant>]’:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qmap.h:809:11:   required from ‘QMap<K, V>::iterator QMap<K, V>::insertMulti(const Key&, const T&) [with Key = QString; T = QVariant]’
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qvariant.h:821:66:   required from here
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qmap.h:228:13: error: no matching function for call to ‘operator new(sizetype, QString*)’
+             new (&n->key) Key(k);
+             ^~~~~~~~~~~~~~~~~~~~
+<built-in>: note: candidate: ‘void* operator new(long unsigned int)’
+<built-in>: note:   candidate expects 1 argument, 2 provided
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qmap.h:230:17: error: no matching function for call to ‘operator new(sizetype, QVariant*)’
+                 new (&n->value) T(v);
+                 ^~~~~~~~~~~~~~~~~~~~
+<built-in>: note: candidate: ‘void* operator new(long unsigned int)’
+<built-in>: note:   candidate expects 1 argument, 2 provided
+In file included from /usr/include/x86_64-linux-gnu/qt5/QtGui/qevent.h:52,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/QKeyEvent:1,
+                 from gui-main.cpp:9:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qvector.h: In instantiation of ‘void QVector<T>::copyConstruct(const T*, const T*, T*) [with T = QPoint]’:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qvector.h:370:13:   required from ‘QVector<T>::QVector(const QVector<T>&) [with T = QPoint]’
+/usr/include/x86_64-linux-gnu/qt5/QtGui/qpolygon.h:62:79:   required from here
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qvector.h:339:13: error: no matching function for call to ‘operator new(sizetype, QPoint*)’
+             new (dstFrom++) T(*srcFrom++);
+             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+<built-in>: note: candidate: ‘void* operator new(long unsigned int)’
+<built-in>: note:   candidate expects 1 argument, 2 provided
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qvector.h: In instantiation of ‘void QVector<T>::defaultConstruct(T*, T*) [with T = QPoint]’:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qvector.h:491:9:   required from ‘QVector<T>::QVector(int) [with T = QPoint]’
+/usr/include/x86_64-linux-gnu/qt5/QtGui/qpolygon.h:106:61:   required from here
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qvector.h:327:13: error: no matching function for call to ‘operator new(sizetype, QPoint*)’
+             new (from++) T();
+             ^~~~~~~~~~~~~~~~
+<built-in>: note: candidate: ‘void* operator new(long unsigned int)’
+<built-in>: note:   candidate expects 1 argument, 2 provided
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qvector.h: In instantiation of ‘void QVector<T>::copyConstruct(const T*, const T*, T*) [with T = QPointF]’:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qvector.h:370:13:   required from ‘QVector<T>::QVector(const QVector<T>&) [with T = QPointF]’
+/usr/include/x86_64-linux-gnu/qt5/QtGui/qpolygon.h:147:82:   required from here
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qvector.h:339:13: error: no matching function for call to ‘operator new(sizetype, QPointF*)’
+             new (dstFrom++) T(*srcFrom++);
+             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+<built-in>: note: candidate: ‘void* operator new(long unsigned int)’
+<built-in>: note:   candidate expects 1 argument, 2 provided
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qvector.h: In instantiation of ‘void QVector<T>::defaultConstruct(T*, T*) [with T = QPointF]’:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qvector.h:491:9:   required from ‘QVector<T>::QVector(int) [with T = QPointF]’
+/usr/include/x86_64-linux-gnu/qt5/QtGui/qpolygon.h:185:64:   required from here
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qvector.h:327:13: error: no matching function for call to ‘operator new(sizetype, QPointF*)’
+             new (from++) T();
+             ^~~~~~~~~~~~~~~~
+<built-in>: note: candidate: ‘void* operator new(long unsigned int)’
+<built-in>: note:   candidate expects 1 argument, 2 provided
+In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:54,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:46,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
+                 from gui-main.cpp:8:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h: In instantiation of ‘static void* QtMetaTypePrivate::QMetaTypeFunctionHelper<T, Accepted>::Construct(void*, const void*) [with T = QtMetaTypePrivate::QSequentialIterableImpl; bool Accepted = true]’:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:1719:53:   required from ‘int qRegisterNormalizedMetaType(const QByteArray&, T*, typename QtPrivate::MetaTypeDefinedHelper<T, (QMetaTypeId2<T>::Defined && (! QMetaTypeId2<T>::IsBuiltIn))>::DefinedType) [with T = QtMetaTypePrivate::QSequentialIterableImpl; typename QtPrivate::MetaTypeDefinedHelper<T, (QMetaTypeId2<T>::Defined && (! QMetaTypeId2<T>::IsBuiltIn))>::DefinedType = QtPrivate::MetaTypeDefinedHelper<QtMetaTypePrivate::QSequentialIterableImpl, true>::DefinedType]’
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:1749:42:   required from ‘int qRegisterMetaType(const char*, T*, typename QtPrivate::MetaTypeDefinedHelper<T, (QMetaTypeId2<T>::Defined && (! QMetaTypeId2<T>::IsBuiltIn))>::DefinedType) [with T = QtMetaTypePrivate::QSequentialIterableImpl; typename QtPrivate::MetaTypeDefinedHelper<T, (QMetaTypeId2<T>::Defined && (! QMetaTypeId2<T>::IsBuiltIn))>::DefinedType = QtPrivate::MetaTypeDefinedHelper<QtMetaTypePrivate::QSequentialIterableImpl, true>::DefinedType]’
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:2250:1:   required from here
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:776:20: error: no matching function for call to ‘operator new(sizetype, void*&)’
+             return new (where) T(*static_cast<const T*>(t));
+                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+<built-in>: note: candidate: ‘void* operator new(long unsigned int)’
+<built-in>: note:   candidate expects 1 argument, 2 provided
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:777:16: error: no matching function for call to ‘operator new(sizetype, void*&)’
+         return new (where) T;
+                ^~~~~~~~~~~~~
+<built-in>: note: candidate: ‘void* operator new(long unsigned int)’
+<built-in>: note:   candidate expects 1 argument, 2 provided
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h: In instantiation of ‘static void* QtMetaTypePrivate::QMetaTypeFunctionHelper<T, Accepted>::Construct(void*, const void*) [with T = QtMetaTypePrivate::QAssociativeIterableImpl; bool Accepted = true]’:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:1719:53:   required from ‘int qRegisterNormalizedMetaType(const QByteArray&, T*, typename QtPrivate::MetaTypeDefinedHelper<T, (QMetaTypeId2<T>::Defined && (! QMetaTypeId2<T>::IsBuiltIn))>::DefinedType) [with T = QtMetaTypePrivate::QAssociativeIterableImpl; typename QtPrivate::MetaTypeDefinedHelper<T, (QMetaTypeId2<T>::Defined && (! QMetaTypeId2<T>::IsBuiltIn))>::DefinedType = QtPrivate::MetaTypeDefinedHelper<QtMetaTypePrivate::QAssociativeIterableImpl, true>::DefinedType]’
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:1749:42:   required from ‘int qRegisterMetaType(const char*, T*, typename QtPrivate::MetaTypeDefinedHelper<T, (QMetaTypeId2<T>::Defined && (! QMetaTypeId2<T>::IsBuiltIn))>::DefinedType) [with T = QtMetaTypePrivate::QAssociativeIterableImpl; typename QtPrivate::MetaTypeDefinedHelper<T, (QMetaTypeId2<T>::Defined && (! QMetaTypeId2<T>::IsBuiltIn))>::DefinedType = QtPrivate::MetaTypeDefinedHelper<QtMetaTypePrivate::QAssociativeIterableImpl, true>::DefinedType]’
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:2251:1:   required from here
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:776:20: error: no matching function for call to ‘operator new(sizetype, void*&)’
+             return new (where) T(*static_cast<const T*>(t));
+                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+<built-in>: note: candidate: ‘void* operator new(long unsigned int)’
+<built-in>: note:   candidate expects 1 argument, 2 provided
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:777:16: error: no matching function for call to ‘operator new(sizetype, void*&)’
+         return new (where) T;
+                ^~~~~~~~~~~~~
+<built-in>: note: candidate: ‘void* operator new(long unsigned int)’
+<built-in>: note:   candidate expects 1 argument, 2 provided
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h: In instantiation of ‘static void* QtMetaTypePrivate::QMetaTypeFunctionHelper<T, Accepted>::Construct(void*, const void*) [with T = QtMetaTypePrivate::QPairVariantInterfaceImpl; bool Accepted = true]’:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:1719:53:   required from ‘int qRegisterNormalizedMetaType(const QByteArray&, T*, typename QtPrivate::MetaTypeDefinedHelper<T, (QMetaTypeId2<T>::Defined && (! QMetaTypeId2<T>::IsBuiltIn))>::DefinedType) [with T = QtMetaTypePrivate::QPairVariantInterfaceImpl; typename QtPrivate::MetaTypeDefinedHelper<T, (QMetaTypeId2<T>::Defined && (! QMetaTypeId2<T>::IsBuiltIn))>::DefinedType = QtPrivate::MetaTypeDefinedHelper<QtMetaTypePrivate::QPairVariantInterfaceImpl, true>::DefinedType]’
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:1749:42:   required from ‘int qRegisterMetaType(const char*, T*, typename QtPrivate::MetaTypeDefinedHelper<T, (QMetaTypeId2<T>::Defined && (! QMetaTypeId2<T>::IsBuiltIn))>::DefinedType) [with T = QtMetaTypePrivate::QPairVariantInterfaceImpl; typename QtPrivate::MetaTypeDefinedHelper<T, (QMetaTypeId2<T>::Defined && (! QMetaTypeId2<T>::IsBuiltIn))>::DefinedType = QtPrivate::MetaTypeDefinedHelper<QtMetaTypePrivate::QPairVariantInterfaceImpl, true>::DefinedType]’
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:2252:1:   required from here
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:776:20: error: no matching function for call to ‘operator new(sizetype, void*&)’
+             return new (where) T(*static_cast<const T*>(t));
+                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+<built-in>: note: candidate: ‘void* operator new(long unsigned int)’
+<built-in>: note:   candidate expects 1 argument, 2 provided
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:777:16: error: no matching function for call to ‘operator new(sizetype, void*&)’
+         return new (where) T;
+                ^~~~~~~~~~~~~
+<built-in>: note: candidate: ‘void* operator new(long unsigned int)’
+<built-in>: note:   candidate expects 1 argument, 2 provided
+In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:49,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:46,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
+                 from gui-main.cpp:8:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h: In instantiation of ‘void QList<T>::node_copy(QList<T>::Node*, QList<T>::Node*, QList<T>::Node*) [with T = QVariant]’:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h:788:9:   required from ‘void QList<T>::detach_helper(int) [with T = QVariant]’
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h:572:13:   required from ‘void QList<T>::reserve(int) [with T = QVariant]’
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qvariant.h:786:38:   required from here
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h:475:17: error: no matching function for call to ‘operator new(sizetype, QList<QVariant>::Node*&)’
+                 new (current) T(*reinterpret_cast<T*>(src));
+                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+<built-in>: note: candidate: ‘void* operator new(long unsigned int)’
+<built-in>: note:   candidate expects 1 argument, 2 provided
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h: In instantiation of ‘void QList<T>::node_construct(QList<T>::Node*, const T&) [with T = QVariant]’:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h:584:13:   required from ‘void QList<T>::append(const T&) [with T = QVariant]’
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h:386:7:   required from ‘QList<T>& QList<T>::operator<<(const T&) [with T = QVariant]’
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qvariant.h:788:27:   required from here
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h:436:39: error: no matching function for call to ‘operator new(sizetype, QList<QVariant>::Node*&)’
+     else if (QTypeInfo<T>::isComplex) new (n) T(t);
+                                       ^~~~~~~~~~~~
+<built-in>: note: candidate: ‘void* operator new(long unsigned int)’
+<built-in>: note:   candidate expects 1 argument, 2 provided
+In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:54,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:46,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
+                 from gui-main.cpp:8:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h: In instantiation of ‘static void* QtMetaTypePrivate::QMetaTypeFunctionHelper<T, Accepted>::Construct(void*, const void*) [with T = QPair<QVariant, QVariant>; bool Accepted = true]’:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:1719:53:   required from ‘int qRegisterNormalizedMetaType(const QByteArray&, T*, typename QtPrivate::MetaTypeDefinedHelper<T, (QMetaTypeId2<T>::Defined && (! QMetaTypeId2<T>::IsBuiltIn))>::DefinedType) [with T = QPair<QVariant, QVariant>; typename QtPrivate::MetaTypeDefinedHelper<T, (QMetaTypeId2<T>::Defined && (! QMetaTypeId2<T>::IsBuiltIn))>::DefinedType = QtPrivate::MetaTypeDefinedHelper<QPair<QVariant, QVariant>, true>::DefinedType]’
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:2139:1:   required from ‘static int QMetaTypeId<QPair<T1, T2> >::qt_metatype_id() [with T = QVariant; U = QVariant]’
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:1634:96:   required from ‘static constexpr int QMetaTypeId2<T>::qt_metatype_id() [with T = QPair<QVariant, QVariant>]’
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:1770:43:   required from here
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:776:20: error: no matching function for call to ‘operator new(sizetype, void*&)’
+             return new (where) T(*static_cast<const T*>(t));
+                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+<built-in>: note: candidate: ‘void* operator new(long unsigned int)’
+<built-in>: note:   candidate expects 1 argument, 2 provided
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:777:16: error: no matching function for call to ‘operator new(sizetype, void*&)’
+         return new (where) T;
+                ^~~~~~~~~~~~~
+<built-in>: note: candidate: ‘void* operator new(long unsigned int)’
+<built-in>: note:   candidate expects 1 argument, 2 provided
+In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:49,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:46,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
+                 from gui-main.cpp:8:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h: In instantiation of ‘void QList<T>::node_copy(QList<T>::Node*, QList<T>::Node*, QList<T>::Node*) [with T = QTouchEvent::TouchPoint]’:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h:813:13:   required from ‘QList<T>::QList(const QList<T>&) [with T = QTouchEvent::TouchPoint]’
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h:503:18:   required from ‘QList<T>& QList<T>::operator=(const QList<T>&) [with T = QTouchEvent::TouchPoint]’
+/usr/include/x86_64-linux-gnu/qt5/QtGui/qevent.h:962:101:   required from here
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h:475:17: error: no matching function for call to ‘operator new(sizetype, QList<QTouchEvent::TouchPoint>::Node*&)’
+                 new (current) T(*reinterpret_cast<T*>(src));
+                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+<built-in>: note: candidate: ‘void* operator new(long unsigned int)’
+<built-in>: note:   candidate expects 1 argument, 2 provided
+In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:54,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:46,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:44,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
+                 from gui-main.cpp:8:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h: In instantiation of ‘static void* QtMetaTypePrivate::QMetaTypeFunctionHelper<T, Accepted>::Construct(void*, const void*) [with T = QTextOption::Tab; bool Accepted = true]’:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:1719:53:   required from ‘int qRegisterNormalizedMetaType(const QByteArray&, T*, typename QtPrivate::MetaTypeDefinedHelper<T, (QMetaTypeId2<T>::Defined && (! QMetaTypeId2<T>::IsBuiltIn))>::DefinedType) [with T = QTextOption::Tab; typename QtPrivate::MetaTypeDefinedHelper<T, (QMetaTypeId2<T>::Defined && (! QMetaTypeId2<T>::IsBuiltIn))>::DefinedType = QtPrivate::MetaTypeDefinedHelper<QTextOption::Tab, true>::DefinedType]’
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:1749:42:   required from ‘int qRegisterMetaType(const char*, T*, typename QtPrivate::MetaTypeDefinedHelper<T, (QMetaTypeId2<T>::Defined && (! QMetaTypeId2<T>::IsBuiltIn))>::DefinedType) [with T = QTextOption::Tab; typename QtPrivate::MetaTypeDefinedHelper<T, (QMetaTypeId2<T>::Defined && (! QMetaTypeId2<T>::IsBuiltIn))>::DefinedType = QtPrivate::MetaTypeDefinedHelper<QTextOption::Tab, true>::DefinedType]’
+/usr/include/x86_64-linux-gnu/qt5/QtGui/qtextoption.h:167:1:   required from here
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:776:20: error: no matching function for call to ‘operator new(sizetype, void*&)’
+             return new (where) T(*static_cast<const T*>(t));
+                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+<built-in>: note: candidate: ‘void* operator new(long unsigned int)’
+<built-in>: note:   candidate expects 1 argument, 2 provided
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:777:16: error: no matching function for call to ‘operator new(sizetype, void*&)’
+         return new (where) T;
+                ^~~~~~~~~~~~~
+<built-in>: note: candidate: ‘void* operator new(long unsigned int)’
+<built-in>: note:   candidate expects 1 argument, 2 provided
+In file included from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/basic_string.h: In instantiation of ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::operator=(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’:
+/usr/include/c++/8/sstream:179:10:   required from ‘std::__cxx11::basic_stringbuf<_CharT, _Traits, _Alloc>::__string_type std::__cxx11::basic_stringbuf<_CharT, _Traits, _Alloc>::str() const [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>; std::__cxx11::basic_stringbuf<_CharT, _Traits, _Alloc>::__string_type = std::__cxx11::basic_string<char>]’
+/usr/include/c++/8/sstream:639:33:   required from ‘std::__cxx11::basic_ostringstream<_CharT, _Traits, _Alloc>::__string_type std::__cxx11::basic_ostringstream<_CharT, _Traits, _Alloc>::str() const [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>; std::__cxx11::basic_ostringstream<_CharT, _Traits, _Alloc>::__string_type = std::__cxx11::basic_string<char>]’
+gui-main.cpp:77:56:   required from here
+/usr/include/c++/8/bits/basic_string.h:676:18: error: using invalid field ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::<unnamed union>::_M_allocated_capacity’
+       _M_destroy(_M_allocated_capacity);
+                  ^~~~~~~~~~~~~~~~~~~~~
+/usr/include/c++/8/bits/basic_string.h:686:18: error: using invalid field ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::<unnamed union>::_M_allocated_capacity’
+       _M_destroy(_M_allocated_capacity);
+                  ^~~~~~~~~~~~~~~~~~~~~
+In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qvariant.h:48,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qlocale.h:43,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qguiapplication.h:47,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:52,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
+                 from gui-main.cpp:8:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qhash.h: In instantiation of ‘static void QHash<K, V>::duplicateNode(QHashData::Node*, void*) [with Key = QString; T = QVariant]’:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qhash.h:597:36:   required from ‘void QHash<K, V>::detach_helper() [with Key = QString; T = QVariant]’
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qhash.h:275:51:   required from ‘void QHash<K, V>::detach() [with Key = QString; T = QVariant]’
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qhash.h:880:5:   required from ‘void QHash<K, V>::reserve(int) [with Key = QString; T = QVariant]’
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qvariant.h:803:38:   required from here
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qhash.h:553:5: error: no matching function for call to ‘operator new(sizetype, void*&)’
+     new (newNode) Node(concreteNode->key, concreteNode->value, concreteNode->h, nullptr);
+     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+<built-in>: note: candidate: ‘void* operator new(long unsigned int)’
+<built-in>: note:   candidate expects 1 argument, 2 provided
+In file included from /usr/include/x86_64-linux-gnu/qt5/QtGui/qevent.h:52,
+                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/QKeyEvent:1,
+                 from gui-main.cpp:9:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qvector.h: In instantiation of ‘void QVector<T>::reallocData(int, int, QArrayData::AllocationOptions) [with T = QPoint; QArrayData::AllocationOptions = QFlags<QArrayData::AllocationOption>]’:
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qvector.h:389:13:   required from ‘void QVector<T>::detach() [with T = QPoint]’
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qvector.h:127:24:   required from ‘T* QVector<T>::data() [with T = QPoint]’
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qvector.h:437:16:   required from ‘T& QVector<T>::operator[](int) [with T = QPoint]’
+/usr/include/x86_64-linux-gnu/qt5/QtGui/qpolygon.h:125:16:   required from here
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qvector.h:580:33: error: no matching function for call to ‘operator new(sizetype, QPoint*)’
+                                 new (dst++) T(*srcBegin++);
+                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~
+<built-in>: note: candidate: ‘void* operator new(long unsigned int)’
+<built-in>: note:   candidate expects 1 argument, 2 provided
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qvector.h:583:33: error: no matching function for call to ‘operator new(sizetype, QPoint*)’
+                                 new (dst++) T(std::move(*srcBegin++));
+                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+<built-in>: note: candidate: ‘void* operator new(long unsigned int)’
+<built-in>: note:   candidate expects 1 argument, 2 provided
+/usr/include/x86_64-linux-gnu/qt5/QtCore/qvector.h:606:33: error: no matching function for call to ‘operator new(sizetype, QPoint*)’
+                                 new (dst++) T();
+                                 ^~~~~~~~~~~~~~~
+<built-in>: note: candidate: ‘void* operator new(long unsigned int)’
+<built-in>: note:   candidate expects 1 argument, 2 provided
+In file included from /usr/include/c++/8/string:52,
+                 from /usr/include/c++/8/bits/locale_classes.h:40,
+                 from /usr/include/c++/8/bits/ios_base.h:41,
+                 from /usr/include/c++/8/ios:42,
+                 from /usr/include/c++/8/istream:38,
+                 from /usr/include/c++/8/sstream:38,
+                 from gui-main.cpp:2:
+/usr/include/c++/8/bits/basic_string.h: In instantiation of ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::replace(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::__const_iterator, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::__const_iterator, _CharT*, _CharT*) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::__const_iterator = __gnu_cxx::__normal_iterator<const char*, std::__cxx11::basic_string<char> >; typename __gnu_cxx::__alloc_traits<typename __gnu_cxx::__alloc_traits<_Alloc>::rebind<_CharT>::other>::const_pointer = const char*]’:
+/usr/include/c++/8/bits/basic_string.h:1471:63:   required from ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::assign(_InputIterator, _InputIterator) [with _InputIterator = char*; <template-parameter-2-2> = void; _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’
+/usr/include/c++/8/sstream:174:8:   required from ‘std::__cxx11::basic_stringbuf<_CharT, _Traits, _Alloc>::__string_type std::__cxx11::basic_stringbuf<_CharT, _Traits, _Alloc>::str() const [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>; std::__cxx11::basic_stringbuf<_CharT, _Traits, _Alloc>::__string_type = std::__cxx11::basic_string<char>]’
+/usr/include/c++/8/sstream:639:33:   required from ‘std::__cxx11::basic_ostringstream<_CharT, _Traits, _Alloc>::__string_type std::__cxx11::basic_ostringstream<_CharT, _Traits, _Alloc>::str() const [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>; std::__cxx11::basic_ostringstream<_CharT, _Traits, _Alloc>::__string_type = std::__cxx11::basic_string<char>]’
+gui-main.cpp:77:56:   required from here
+/usr/include/c++/8/bits/basic_string.h:2121:26: error: no matching function for call to ‘std::__cxx11::basic_string<char>::replace(long int, __gnu_cxx::__normal_iterator<const char*, std::__cxx11::basic_string<char> >::difference_type, char*&, long int)’
+         __k1, __k2 - __k1);
+                          ^
+/usr/include/c++/8/bits/basic_string.h:1994:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::replace(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::__const_iterator, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::__const_iterator, const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::__const_iterator = __gnu_cxx::__normal_iterator<const char*, std::__cxx11::basic_string<char> >; typename __gnu_cxx::__alloc_traits<typename __gnu_cxx::__alloc_traits<_Alloc>::rebind<_CharT>::other>::const_pointer = const char*]’
+       replace(__const_iterator __i1, __const_iterator __i2,
+       ^~~~~~~
+/usr/include/c++/8/bits/basic_string.h:1994:7: note:   candidate expects 3 arguments, 4 provided
+/usr/include/c++/8/bits/basic_string.h:2036:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::replace(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::__const_iterator, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::__const_iterator, const _CharT*) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::__const_iterator = __gnu_cxx::__normal_iterator<const char*, std::__cxx11::basic_string<char> >; typename __gnu_cxx::__alloc_traits<typename __gnu_cxx::__alloc_traits<_Alloc>::rebind<_CharT>::other>::const_pointer = const char*]’
+       replace(__const_iterator __i1, __const_iterator __i2, const _CharT* __s)
+       ^~~~~~~
+/usr/include/c++/8/bits/basic_string.h:2036:7: note:   candidate expects 3 arguments, 4 provided
+/usr/include/c++/8/bits/basic_string.h:2084:9: note: candidate: ‘template<class _InputIterator, class> std::__cxx11::basic_string<_CharT, _Traits, _Alloc>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::replace(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::const_iterator, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::const_iterator, _InputIterator, _InputIterator) [with _InputIterator = _InputIterator; <template-parameter-2-2> = <template-parameter-1-2>; _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’
+         replace(const_iterator __i1, const_iterator __i2,
+         ^~~~~~~
+/usr/include/c++/8/bits/basic_string.h:2084:9: note:   template argument deduction/substitution failed:
+/usr/include/c++/8/bits/basic_string.h:2121:26: note:   deduced conflicting types for parameter ‘_InputIterator’ (‘char*’ and ‘long int’)
+         __k1, __k2 - __k1);
+                          ^
+/usr/include/c++/8/bits/basic_string.h:2114:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::replace(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::__const_iterator, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::__const_iterator, _CharT*, _CharT*) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::__const_iterator = __gnu_cxx::__normal_iterator<const char*, std::__cxx11::basic_string<char> >; typename __gnu_cxx::__alloc_traits<typename __gnu_cxx::__alloc_traits<_Alloc>::rebind<_CharT>::other>::const_pointer = const char*]’
+       replace(__const_iterator __i1, __const_iterator __i2,
+       ^~~~~~~
+/usr/include/c++/8/bits/basic_string.h:2114:7: note:   no known conversion for argument 1 from ‘long int’ to ‘std::__cxx11::basic_string<char>::__const_iterator’ {aka ‘__gnu_cxx::__normal_iterator<const char*, std::__cxx11::basic_string<char> >’}
+/usr/include/c++/8/bits/basic_string.h:2125:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::replace(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::__const_iterator, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::__const_iterator, const _CharT*, const _CharT*) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::__const_iterator = __gnu_cxx::__normal_iterator<const char*, std::__cxx11::basic_string<char> >; typename __gnu_cxx::__alloc_traits<typename __gnu_cxx::__alloc_traits<_Alloc>::rebind<_CharT>::other>::const_pointer = const char*]’
+       replace(__const_iterator __i1, __const_iterator __i2,
+       ^~~~~~~
+/usr/include/c++/8/bits/basic_string.h:2125:7: note:   no known conversion for argument 1 from ‘long int’ to ‘std::__cxx11::basic_string<char>::__const_iterator’ {aka ‘__gnu_cxx::__normal_iterator<const char*, std::__cxx11::basic_string<char> >’}
+/usr/include/c++/8/bits/basic_string.h:2136:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::replace(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::__const_iterator, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::__const_iterator, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::iterator, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::iterator) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::__const_iterator = __gnu_cxx::__normal_iterator<const char*, std::__cxx11::basic_string<char> >; typename __gnu_cxx::__alloc_traits<typename __gnu_cxx::__alloc_traits<_Alloc>::rebind<_CharT>::other>::const_pointer = const char*; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; typename __gnu_cxx::__alloc_traits<typename __gnu_cxx::__alloc_traits<_Alloc>::rebind<_CharT>::other>::pointer = char*]’
+       replace(__const_iterator __i1, __const_iterator __i2,
+       ^~~~~~~
+/usr/include/c++/8/bits/basic_string.h:2136:7: note:   no known conversion for argument 1 from ‘long int’ to ‘std::__cxx11::basic_string<char>::__const_iterator’ {aka ‘__gnu_cxx::__normal_iterator<const char*, std::__cxx11::basic_string<char> >’}
+/usr/include/c++/8/bits/basic_string.h:2147:7: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::replace(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::__const_iterator, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::__const_iterator, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::const_iterator, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::const_iterator) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::__const_iterator = __gnu_cxx::__normal_iterator<const char*, std::__cxx11::basic_string<char> >; typename __gnu_cxx::__alloc_traits<typename __gnu_cxx::__alloc_traits<_Alloc>::rebind<_CharT>::other>::const_pointer = const char*; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::const_iterator = __gnu_cxx::__normal_iterator<const char*, std::__cxx11::basic_string<char> >]’
+       replace(__const_iterator __i1, __const_iterator __i2,
+       ^~~~~~~
+/usr/include/c++/8/bits/basic_string.h:2147:7: note:   no known conversion for argument 1 from ‘long int’ to ‘std::__cxx11::basic_string<char>::__const_iterator’ {aka ‘__gnu_cxx::__normal_iterator<const char*, std::__cxx11::basic_string<char> >’}
+/usr/include/c++/8/bits/basic_string.h:2172:21: note: candidate: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::replace(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::const_iterator, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::const_iterator, std::initializer_list<_Tp>) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::const_iterator = __gnu_cxx::__normal_iterator<const char*, std::__cxx11::basic_string<char> >; typename __gnu_cxx::__alloc_traits<typename __gnu_cxx::__alloc_traits<_Alloc>::rebind<_CharT>::other>::const_pointer = const char*]’
+       basic_string& replace(const_iterator __i1, const_iterator __i2,
+                     ^~~~~~~
+/usr/include/c++/8/bits/basic_string.h:2172:21: note:   candidate expects 3 arguments, 4 provided
+make: *** [calc-qt.mk:408: gui-main.o] Error 1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/parse.h	Mon May 13 09:48:06 2019 -0500
@@ -0,0 +1,11 @@
+namespace interpreter
+{
+  extern bool beg_of_stmt;
+
+  extern void parser_init (void);
+  extern void parser_fini (void);
+
+  extern int parse_and_execute (const std::string& line);
+
+  extern void emit_result (double value);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/parse.yy	Mon May 13 09:48:06 2019 -0500
@@ -0,0 +1,193 @@
+// Infix notation calculator.
+
+%{
+
+#define YYSTYPE double
+
+#include <iostream>
+
+#include <cctype>
+#include <cmath>
+#include <cstdio>
+
+#include "main.h"
+#include "gui-main.h"
+#include "tty-main.h"
+#include "parse.h"
+
+namespace interpreter
+{
+  FILE *outfile = 0;
+  size_t bufptr = 0;
+  size_t chunk_size = 0;
+
+   const char *buf;
+   bool beg_of_stmt = true;
+
+  static int yylex (void);
+  static void yyerror (char const *);
+}
+
+static void yyerror (char const *);
+
+%}
+
+%define api.push-pull push
+
+// Bison declarations.
+%token NUM
+%left '-' '+'
+%left '*' '/'
+%left NEG     // negation--unary minus
+%right '^'    // exponentiation
+
+%%
+
+input   : // empty
+          { }
+        | input line
+        ;
+
+line    :     ';'
+          { }
+        | exp ';'
+          {
+            interpreter::emit_result ($1);
+            interpreter::beg_of_stmt = true;
+          }
+;
+
+exp     : NUM
+          {
+            $$ = $1;
+            interpreter::beg_of_stmt = false;
+          }
+        | exp '+' exp
+          {
+            $$ = $1 + $3;
+            interpreter::beg_of_stmt = false;
+          }
+        | exp '-' exp
+          {
+            $$ = $1 - $3;
+            interpreter::beg_of_stmt = false;
+          }
+        | exp '*' exp
+          {
+            $$ = $1 * $3;
+            interpreter::beg_of_stmt = false;
+          }
+        | exp '/' exp
+          {
+            $$ = $1 / $3;
+            interpreter::beg_of_stmt = false;
+          }
+        | '-' exp  %prec NEG
+          {
+            $$ = -$2;
+            interpreter::beg_of_stmt = false;
+          }
+        | exp '^' exp
+          {
+            $$ = std::pow ($1, $3);
+            interpreter::beg_of_stmt = false;
+          }
+        | '(' exp ')'
+          {
+            $$ = $2;
+            interpreter::beg_of_stmt = false;
+          }
+        ;
+
+%%
+
+namespace interpreter
+{
+  // The lexical analyzer returns a double floating point number on the
+  // stack and the token NUM, or the numeric code of the character read
+  // if not a number.  It skips all blanks and tabs, and returns -1 for
+  // end-of-input.
+
+  static int yylex (void)
+  {
+    int c;
+
+    if (bufptr >= chunk_size)
+      return -1;
+
+    // Skip white space.
+    while ((c = buf[bufptr++]) == ' ' || c == '\t' || c == '\n')
+      ;
+
+    // Process numbers.
+    if (c == '.' || isdigit (c))
+      {
+        int chars_read = 0;
+        bufptr--;
+        sscanf (&buf[bufptr], "%lf%n", &yylval, &chars_read);
+        bufptr += chars_read;
+        return NUM;
+      }
+
+    // Return a single char.
+    return c;
+  }
+
+  static void yyerror (char const *msg)
+  {
+    std::cerr << "parse error: " << msg << std::endl;
+  }
+
+  static yypstate *ps = 0;
+
+  void
+  parser_fini (void)
+  {
+    if (ps)
+      yypstate_delete (ps);
+
+    ps = 0;
+  }
+
+  void parser_init (void)
+  {
+    parser_fini ();
+
+    ps = yypstate_new ();
+  }
+
+  int parse_and_execute (const std::string& line)
+  {
+    bufptr = 0;
+    chunk_size = line.length ();
+    buf = line.c_str ();
+
+    int status;
+
+    do
+      {
+        ::yychar = yylex ();
+
+        if (::yychar < 0)
+          return -1;
+
+        status = yypush_parse (ps);
+      }
+    while (status == YYPUSH_MORE);
+
+    return status;
+  }
+
+  void emit_result (double value)
+  {
+    if (tty_mode)
+      tty::emit_result (value);
+    else
+      gui::emit_result (value);
+  }
+}
+
+static void yyerror (char const *msg)
+{
+  interpreter::yyerror (msg);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tty-main.cpp	Mon May 13 09:48:06 2019 -0500
@@ -0,0 +1,59 @@
+#include <iostream>
+#include <string>
+
+#include <cstdio>
+#include <cstdlib>
+
+#include <readline/readline.h>
+#include <readline/history.h>
+
+#include "gui-main.h"
+#include "tty-main.h"
+
+#include "parse.h"
+
+namespace tty
+{
+  int main (int, char **)
+  {
+    std::cout
+      << "Example Calculator.\n"
+      << "Available operations: + - * / ^ ()\n"
+      << "Semicolon terminates statement.\n"
+      << "GNU Readline available for history editing.\n" << std::endl;
+
+    interpreter::parser_init ();
+
+    for (;;)
+      {
+        char *tmp = readline (interpreter::beg_of_stmt ? ">> " : "");
+
+        if (! tmp)
+          break;
+
+        if (*tmp)
+          {
+            add_history (tmp);
+            using_history ();
+          }
+
+        std::string line = tmp;
+
+        free (tmp);
+
+        int status = interpreter::parse_and_execute (line);
+
+        if (status < 0)
+          break;
+      }
+
+    interpreter::parser_fini ();
+
+    return 0;
+  }
+
+  void emit_result (double value)
+  {
+    std::cout << "ans = " << value << std::endl;
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tty-main.h	Mon May 13 09:48:06 2019 -0500
@@ -0,0 +1,6 @@
+namespace tty
+{
+  extern int main (int argc, char **argv);
+
+  extern void emit_result (double value);
+}