  % Handle batch mode
  % to overcome problems with too many open files
  \let\mypdfximage\pdfximage\def\pdfximage{\immediate\mypdfximage}
  % Set document class depending on configuration
  \documentclass[twoside]{book}
  %% moved from doxygen.sty due to workaround for LaTex 2019 version and unmaintained tabu package
  \usepackage{ifthen}
  \ifx\requestedLaTeXdate\undefined
    \usepackage{array}
  \else
    \usepackage{array}[=2016-10-06]
  \fi
  %%
  % Packages required by doxygen
  \usepackage{fixltx2e} % for \textsubscript
  \usepackage{doxygen}
  \usepackage{graphicx}
  \usepackage[utf8]{inputenc}
  \usepackage{makeidx}
  \PassOptionsToPackage{warn}{textcomp}
  \usepackage{textcomp}
  \usepackage[nointegrals]{wasysym}
  \usepackage{ifxetex}
  % NLS support packages
  % Define default fonts
  % Font selection
  \usepackage[T1]{fontenc}
  % set main and monospaced font
  \usepackage[scaled=.90]{helvet}
\usepackage{courier}
\renewcommand{\familydefault}{\sfdefault}
  \usepackage{sectsty}
  \allsectionsfont{%
    \fontseries{bc}\selectfont%
    \color{darkgray}%
  }
  \renewcommand{\DoxyLabelFont}{%
    \fontseries{bc}\selectfont%
    \color{darkgray}%
  }
  \newcommand{\+}{\discretionary{\mbox{\scriptsize$\hookleftarrow$}}{}{}}
   % Arguments of doxygenemoji:
   % 1) ':<text>:' form of the emoji, already LaTeX-escaped
   % 2) file with the name of the emoji without the .png extension
   % in case image exist use this otherwise use the ':<text>:' form
   \newcommand{\doxygenemoji}[2]{%
     \IfFileExists{./#2.png}{\raisebox{-0.1em}{\includegraphics[height=0.9em]{./#2.png}}}{#1}%
   }
  % Page & text layout
  \usepackage{geometry}
  \geometry{%
    a4paper,%
    top=2.5cm,%
    bottom=2.5cm,%
    left=2.5cm,%
    right=2.5cm%
  }
  % Allow a bit of overflow to go unnoticed by other means
  \tolerance=750
  \hfuzz=15pt
  \hbadness=750
  \setlength{\emergencystretch}{15pt}
  \setlength{\parindent}{0cm}
  \newcommand{\doxynormalparskip}{\setlength{\parskip}{3ex plus 2ex minus 2ex}}
  \newcommand{\doxytocparskip}{\setlength{\parskip}{1ex plus 0ex minus 0ex}}
  \doxynormalparskip
  % Redefine paragraph/subparagraph environments, using sectsty fonts
  \makeatletter
  \renewcommand{\paragraph}{%
    \@startsection{paragraph}{4}{0ex}{-1.0ex}{1.0ex}{%
      \normalfont\normalsize\bfseries\SS@parafont%
    }%
  }
  \renewcommand{\subparagraph}{%
    \@startsection{subparagraph}{5}{0ex}{-1.0ex}{1.0ex}{%
      \normalfont\normalsize\bfseries\SS@subparafont%
    }%
  }
  \makeatother
  \makeatletter
  \newcommand\hrulefilll{\leavevmode\leaders\hrule\hskip 0pt plus 1filll\kern\z@}
  \makeatother
  % Headers & footers
  \usepackage{fancyhdr}
  \pagestyle{fancyplain}
  \renewcommand{\footrulewidth}{0.4pt}
  \fancypagestyle{fancyplain}{
    \fancyhf{}
    \fancyhead[LE, RO]{\bfseries\thepage}
    \fancyhead[LO]{\bfseries\rightmark}
    \fancyhead[RE]{\bfseries\leftmark}
    \fancyfoot[LO, RE]{\bfseries\scriptsize Generated by Doxygen }
  }
  \fancypagestyle{plain}{
    \fancyhf{}
    \fancyfoot[LO, RE]{\bfseries\scriptsize Generated by Doxygen }
    \renewcommand{\headrulewidth}{0pt}
  }
  \pagestyle{fancyplain}
  \renewcommand{\chaptermark}[1]{%
    \markboth{#1}{}%
  }
  \renewcommand{\sectionmark}[1]{%
    \markright{\thesection\ #1}%
  }
  % ToC, LoF, LoT, bibliography, and index
  % Indices & bibliography
  \usepackage{natbib}
  \usepackage[titles]{tocloft}
  \setcounter{tocdepth}{3}
  \setcounter{secnumdepth}{5}
  % creating indexes
  \makeindex
  \usepackage{newunicodechar}
  \newunicodechar{⁻}{${}^{-}$}% Superscript minus
  \newunicodechar{²}{${}^{2}$}% Superscript two
  \newunicodechar{³}{${}^{3}$}% Superscript three
  % Hyperlinks
    % Hyperlinks (required, but should be loaded last)
    \ifpdf
      \usepackage[pdftex,pagebackref=true]{hyperref}
    \else
      \ifxetex
        \usepackage[pagebackref=true]{hyperref}
      \else
        \usepackage[ps2pdf,pagebackref=true]{hyperref}
      \fi
    \fi
    \hypersetup{%
      colorlinks=true,%
      linkcolor=blue,%
      citecolor=blue,%
      unicode,%
      pdftitle={Qore Programming Language Reference Manual},%
      pdfsubject={}%
    }
  % Custom commands used by the header
  % Custom commands
  \newcommand{\clearemptydoublepage}{%
    \newpage{\pagestyle{empty}\cleardoublepage}%
  }
  % caption style definition
  \usepackage{caption}
  \captionsetup{labelsep=space,justification=centering,font={bf},singlelinecheck=off,skip=4pt,position=top}
  % in page table of contents
  \usepackage{etoc}
  \etocsettocstyle{\doxytocparskip}{\doxynormalparskip}
  % prevent numbers overlap the titles in toc
  \renewcommand{\numberline}[1]{#1~}
% End of preamble, now comes the document contents
%===== C O N T E N T S =====
\begin{document}
  \raggedbottom
  % Titlepage & ToC
    % To avoid duplicate page anchors due to reuse of same numbers for
    % the index (be it as roman numbers)
    \hypersetup{pageanchor=false,
                bookmarksnumbered=true,
                pdfencoding=unicode
               }
  \pagenumbering{alph}
  \begin{titlepage}
  \vspace*{7cm}
  \begin{center}%
  {\Large Qore Programming Language Reference Manual}\\
  [1ex]\large 1.\+17.\+0 \\
  \vspace*{1cm}
  {\large Generated by Doxygen 1.9.5}\\
  \end{center}
  \end{titlepage}
  \clearemptydoublepage
  \pagenumbering{roman}
  \tableofcontents
  \clearemptydoublepage
  \pagenumbering{arabic}
  % re-enable anchors again
  \hypersetup{pageanchor=true}
%--- Begin generated contents ---
\chapter{Qore Language Reference Manual}
\label{index}\hypertarget{index}{}\input{index}
\chapter{Introduction}
\label{qore_intro}
\Hypertarget{qore_intro}
\input{qore_intro}
\chapter{Language Overview}
\label{desc_overview}
\Hypertarget{desc_overview}
\input{desc_overview}
\chapter{Environment Variables}
\label{environment_variables}
\Hypertarget{environment_variables}
\input{environment_variables}
\chapter{Conditional Parsing and Parse Defines}
\label{conditional_parsing}
\Hypertarget{conditional_parsing}
\input{conditional_parsing}
\chapter{Module Description}
\label{qore_modules}
\Hypertarget{qore_modules}
\input{qore_modules}
\chapter{Include Files}
\label{include_files}
\Hypertarget{include_files}
\input{include_files}
\chapter{Identifiers}
\label{identifiers}
\Hypertarget{identifiers}
\input{identifiers}
\chapter{Comments}
\label{comments}
\Hypertarget{comments}
\input{comments}
\chapter{Variables}
\label{variables}
\Hypertarget{variables}
\input{variables}
\chapter{Basic Data Types}
\label{basic_data_types}
\Hypertarget{basic_data_types}
\input{basic_data_types}
\chapter{Container Data Types}
\label{container_data_types}
\Hypertarget{container_data_types}
\input{container_data_types}
\chapter{Code Data Types}
\label{code_data_types}
\Hypertarget{code_data_types}
\input{code_data_types}
\chapter{Data Type Declarations and Restrictions}
\label{data_type_declarations}
\Hypertarget{data_type_declarations}
\input{data_type_declarations}
\chapter{References}
\label{lvalue_references}
\Hypertarget{lvalue_references}
\input{lvalue_references}
\chapter{Overloading}
\label{overloading}
\Hypertarget{overloading}
\input{overloading}
\chapter{Time Zone Handling}
\label{time_zones}
\Hypertarget{time_zones}
\input{time_zones}
\chapter{Strings and Character Encoding}
\label{character_encoding}
\Hypertarget{character_encoding}
\input{character_encoding}
\chapter{Expressions}
\label{expressions}
\Hypertarget{expressions}
\input{expressions}
\chapter{Operators}
\label{operators}
\Hypertarget{operators}
\input{operators}
\chapter{Regular Expressions}
\label{qore_regex}
\Hypertarget{qore_regex}
\input{qore_regex}
\chapter{Date/\+Time Arithmetic}
\label{date_time_arithmetic}
\Hypertarget{date_time_arithmetic}
\input{date_time_arithmetic}
\chapter{Statements}
\label{statements}
\Hypertarget{statements}
\input{statements}
\chapter{Functions}
\label{qore_functions}
\Hypertarget{qore_functions}
\input{qore_functions}
\chapter{Code Flags}
\label{code_flags}
\Hypertarget{code_flags}
\input{code_flags}
\chapter{Namespaces}
\label{qore_namespaces}
\Hypertarget{qore_namespaces}
\input{qore_namespaces}
\chapter{Constants}
\label{constants}
\Hypertarget{constants}
\input{constants}
\chapter{Classes}
\label{qore_classes}
\Hypertarget{qore_classes}
\input{qore_classes}
\chapter{Hashdecl\+: Type-\/\+Safe Hash Declarations}
\label{hashdecl}
\Hypertarget{hashdecl}
\input{hashdecl}
\chapter{Threading}
\label{threading}
\Hypertarget{threading}
\input{threading}
\chapter{Exception Handling}
\label{exception_handling}
\Hypertarget{exception_handling}
\input{exception_handling}
\chapter{Signal Handling}
\label{signal_handling}
\Hypertarget{signal_handling}
\input{signal_handling}
\chapter{I/O Event Handling}
\label{event_handling}
\Hypertarget{event_handling}
\input{event_handling}
\chapter{qore Executable Command-\/\+Line Processing}
\label{command_line_processing}
\Hypertarget{command_line_processing}
\input{command_line_processing}
\chapter{Parse Directives}
\label{parse_directives}
\Hypertarget{parse_directives}
\input{parse_directives}
\chapter{Warnings}
\label{warnings}
\Hypertarget{warnings}
\input{warnings}
\chapter{Keywords}
\label{keywords}
\Hypertarget{keywords}
\input{keywords}
\chapter{Release Notes}
\label{release_notes}
\Hypertarget{release_notes}
\input{release_notes}
\chapter{Bug List}
\label{bug}
\Hypertarget{bug}
\input{bug}
\chapter{Deprecated List}
\label{deprecated}
\Hypertarget{deprecated}
\input{deprecated}
\chapter{Module Index}
\input{modules}
\chapter{Namespace Index}
\input{namespaces}
\chapter{Hierarchical Index}
\input{hierarchy}
\chapter{Class Index}
\input{annotated}
\chapter{Module Documentation}
\input{group__range__functions}
\input{group__database__driver__constants}
\input{group__dbi__capabilities}
\input{group__file__stat__constants}
\input{group__file__open__constants}
\input{group__file__locking__constants}
\input{group__file__seek__constants}
\input{group__import__visibility__constants}
\input{group__functional__domain__constants}
\input{group__parse__options}
\input{group__warning__constants}
\input{group__debug__rs__options}
\input{group__debug__flow__options}
\input{group__breakpoint__policy__options}
\input{group__socket__poll__constants}
\input{group__ssl__mode__constants}
\input{group__x509__verification__constants}
\input{group__network__address__family__constants}
\input{group__network__address__information__constants}
\input{group__protocol__constants}
\input{group__socket__type__constants}
\input{group__tattr__local__mode__constants}
\input{group__tattr__control__mode__constants}
\input{group__tattr__output__mode__constants}
\input{group__tattr__input__mode__constants}
\input{group__tattr__control__character__constants}
\input{group__tattr__term__setting__constants}
\input{group___buffered_stream_reader}
\input{group__signal__handling__functions}
\input{group__misc__functions}
\input{group__parse__url__options}
\input{group___string_concat_encoding}
\input{group___string_concat_decoding}
\input{group__signal__constants}
\input{group__compresssion__functions}
\input{group__compression__constants}
\input{group__compression__transformations}
\input{group__threading__functions}
\input{group__cryptographic__functions}
\input{group__digest__functions}
\input{group__hmac__functions}
\input{group__crypto__transformations}
\input{group__cryptographic__constants}
\input{group__digest__algorithms}
\input{group__library__functions}
\input{group__library__option__constants}
\input{group__filesystem__functions}
\input{group__string__functions}
\input{group__regex__constants}
\input{group__date__and__time__functions}
\input{group__math__functions}
\input{group__math__constants}
\input{group__list__functions}
\input{group__type__conversion__functions}
\input{group__string__type__constants}
\input{group__pwd__functions}
\input{group__user__and__group__functions}
\input{group__object__functions}
\input{group__env__functions}
\input{group__old__dbi__functions}
\input{group__dbi__functions}
\input{group__sql__constants}
\input{group__context__functions}
\input{group__option__constants}
\input{group__error__constants}
\input{group__type__code__constants}
\input{group__type__code__map__constants}
\input{group__boolean__constants}
\input{group__null__and__nothing__constants}
\input{group__exception__type__constants}
\input{group__call__type__constants}
\input{group__system__and__build__constants}
\input{group__event__source__constants}
\input{group__event__map__constants}
\input{group__event__constants}
\input{group__io__constants}
\input{group__number__formatting__constants}
\input{group__number__string__formatting__constants}
\chapter{Namespace Documentation}
\input{namespace_qore}
\input{namespace_qore_1_1_err}
\input{namespace_qore_1_1_option}
\input{namespace_qore_1_1_s_q_l}
\input{namespace_qore_1_1_thread}
\input{namespace_qore_1_1_type}
\chapter{Class Documentation}
\input{class_qore_1_1_abstract_bidirectional_iterator}
\input{class_qore_1_1_s_q_l_1_1_abstract_datasource}
\input{class_qore_1_1_abstract_iterator}
\input{class_qore_1_1_abstract_line_iterator}
\input{class_qore_1_1_abstract_pollable_io_object}
\input{class_qore_1_1_abstract_pollable_io_object_base}
\input{class_qore_1_1_abstract_poll_operation}
\input{class_qore_1_1_abstract_quantified_bidirectional_iterator}
\input{class_qore_1_1_abstract_quantified_iterator}
\input{class_qore_1_1_thread_1_1_abstract_smart_lock}
\input{class_qore_1_1_s_q_l_1_1_abstract_s_q_l_statement}
\input{class_qore_1_1_thread_1_1_abstract_thread_resource}
\input{class_qore_1_1_thread_1_1_auto_gate}
\input{class_qore_1_1_thread_1_1_auto_lock}
\input{class_qore_1_1_thread_1_1_auto_read_lock}
\input{class_qore_1_1_thread_1_1_auto_write_lock}
\input{class_qore_1_1_binary_input_stream}
\input{class_qore_1_1_binary_output_stream}
\input{class_qore_1_1_breakpoint}
\input{class_qore_1_1_buffered_stream_reader}
\input{struct_qore_1_1_call_stack_info}
\input{class_qore_1_1_thread_1_1_condition}
\input{class_qore_1_1_thread_1_1_counter}
\input{class_qore_1_1_data_line_iterator}
\input{class_qore_1_1_s_q_l_1_1_datasource}
\input{class_qore_1_1_s_q_l_1_1_datasource_pool}
\input{struct_qore_1_1_date_time_info}
\input{class_qore_1_1_debug_program}
\input{class_qore_1_1_dir}
\input{struct_qore_1_1_dir_stat_info}
\input{class_qore_1_1_encoding_conversion_input_stream}
\input{class_qore_1_1_encoding_conversion_output_stream}
\input{struct_qore_1_1_exception_info}
\input{class_qore_1_1_expression}
\input{class_qore_1_1_file}
\input{class_qore_1_1_file_input_stream}
\input{class_qore_1_1_file_line_iterator}
\input{class_qore_1_1_file_output_stream}
\input{struct_qore_1_1_filesystem_info}
\input{class_qore_1_1_ftp_client}
\input{struct_qore_1_1_ftp_response_info}
\input{class_qore_1_1_thread_1_1_gate}
\input{class_qore_1_1_get_opt}
\input{class_qore_1_1_hash_iterator}
\input{class_qore_1_1_hash_key_iterator}
\input{class_qore_1_1_hash_key_reverse_iterator}
\input{class_qore_1_1_hash_list_iterator}
\input{class_qore_1_1_hash_list_reverse_iterator}
\input{class_qore_1_1_hash_pair_iterator}
\input{class_qore_1_1_hash_pair_reverse_iterator}
\input{class_qore_1_1_hash_reverse_iterator}
\input{struct_qore_1_1_hash_serialization_info}
\input{class_qore_1_1_h_t_t_p_client}
\input{struct_qore_1_1_indexed_object_serialization_info}
\input{class_qore_1_1_input_stream}
\input{class_qore_1_1_input_stream_line_iterator}
\input{struct_qore_1_1_iso_week_info}
\input{class_qore_1_1_list_hash_iterator}
\input{class_qore_1_1_list_hash_reverse_iterator}
\input{class_qore_1_1_list_iterator}
\input{class_qore_1_1_list_reverse_iterator}
\input{struct_qore_1_1_list_serialization_info}
\input{class_qore_1_1_thread_1_1_mutex}
\input{struct_qore_1_1_net_if_info}
\input{class_qore_1_1_object_iterator}
\input{class_qore_1_1_object_key_iterator}
\input{class_qore_1_1_object_key_reverse_iterator}
\input{class_qore_1_1_object_pair_iterator}
\input{class_qore_1_1_object_pair_reverse_iterator}
\input{class_qore_1_1_object_reverse_iterator}
\input{struct_qore_1_1_object_serialization_info}
\input{class_qore_1_1_output_stream}
\input{struct_qore_1_1_pipe_info}
\input{class_qore_1_1_pipe_input_stream}
\input{class_qore_1_1_pipe_output_stream}
\input{class_qore_1_1_program}
\input{class_qore_1_1_program_control}
\input{class_qore_1_1_thread_1_1_queue}
\input{class_qore_1_1_range_iterator}
\input{class_qore_1_1_read_only_file}
\input{class_qore_1_1_thread_1_1_r_w_lock}
\input{class_qore_1_1_thread_1_1_sequence}
\input{class_qore_1_1_serializable}
\input{struct_qore_1_1_serialization_info}
\input{class_qore_1_1_single_value_iterator}
\input{class_qore_1_1_socket}
\input{struct_qore_1_1_socket_poll_info}
\input{class_qore_1_1_socket_poll_operation}
\input{class_qore_1_1_socket_poll_operation_base}
\input{struct_qore_1_1_source_location_info}
\input{class_qore_1_1_s_q_l_1_1_s_q_l_statement}
\input{class_qore_1_1_s_s_l_certificate}
\input{class_qore_1_1_s_s_l_private_key}
\input{struct_qore_1_1_statement_info}
\input{struct_qore_1_1_stat_info}
\input{class_qore_1_1_stderr_output_stream}
\input{class_qore_1_1_stdout_output_stream}
\input{class_qore_1_1_stream_base}
\input{class_qore_1_1_stream_pipe}
\input{class_qore_1_1_stream_reader}
\input{class_qore_1_1_stream_writer}
\input{class_qore_1_1_string_input_stream}
\input{class_qore_1_1_string_output_stream}
\input{class_qore_1_1_term_i_o_s}
\input{class_qore_1_1_thread_1_1_thread_pool}
\input{class_qore_1_1_time_zone}
\input{class_qore_1_1_transform}
\input{class_qore_1_1_transform_input_stream}
\input{class_qore_1_1_transform_output_stream}
\input{class_qore_1_1_tree_map}
\input{struct_qore_1_1_url_info}
\input{class_qore_1_1zzz8binaryzzz9}
\input{class_qore_1_1zzz8boolzzz9}
\input{class_qore_1_1zzz8callrefzzz9}
\input{class_qore_1_1zzz8closurezzz9}
\input{class_qore_1_1zzz8datezzz9}
\input{class_qore_1_1zzz8floatzzz9}
\input{class_qore_1_1zzz8hashzzz9}
\input{class_qore_1_1zzz8intzzz9}
\input{class_qore_1_1zzz8listzzz9}
\input{class_qore_1_1zzz8nothingzzz9}
\input{class_qore_1_1zzz8numberzzz9}
\input{class_qore_1_1zzz8objectzzz9}
\input{class_qore_1_1zzz8stringzzz9}
\input{class_qore_1_1zzz8valuezzz9}
%--- End generated contents ---
% Index
  \backmatter
  \newpage
  \phantomsection
  \clearemptydoublepage
  \addcontentsline{toc}{chapter}{\indexname}
  \printindex
% Required for some languages (in combination with latexdocumentpre from the header)
\end{document}
