%% main file for the C++ standard.
%%

%%--------------------------------------------------
%% basics
% \documentclass[letterpaper,oneside,openany]{memoir}
\documentclass[ebook,10pt,oneside,openany,final]{memoir}
% \includeonly{declarations}

\usepackage[american]
           {babel}        % needed for iso dates
\usepackage[iso,american]
           {isodate}      % use iso format for dates
\usepackage[final]
           {listings}     % code listings
\usepackage{longtable}    % auto-breaking tables
\usepackage{booktabs}     % fancy tables
\usepackage{relsize}      % provide relative font size changes
\usepackage{underscore}   % remove special status of '_' in ordinary text
\usepackage{verbatim}     % improved verbatim environment
\usepackage{parskip}      % handle non-indented paragraphs "properly"
\usepackage{array}        % new column definitions for tables
\usepackage[normalem]{ulem}
\usepackage{color}        % define colors for strikeouts and underlines
\usepackage{amsmath}      % additional math symbols
\usepackage{mathrsfs}     % mathscr font
\usepackage{multicol}
\usepackage{xspace}
\usepackage{fixme}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage[pdftex, final]{graphicx}
\usepackage[pdftex,
            pdftitle={C++ International Standard},
            pdfsubject={C++ International Standard},
            pdfcreator={Stefanus Du Toit},
            bookmarks=true,
            bookmarksnumbered=true,
            pdfpagelabels=true,
            pdfpagemode=UseOutlines,
            pdfstartview=FitH,
            linktocpage=true,
            colorlinks=true,
            linkcolor=blue,
            plainpages=false
           ]{hyperref}
\usepackage{memhfixc}     % fix interactions between hyperref and memoir

\input{layout}
\input{styles}
\input{macros}
\input{tables}

\makeindex[generalindex]
\makeindex[libraryindex]
\makeindex[grammarindex]
\makeindex[impldefindex]

%%--------------------------------------------------
%% add special hyphenation rules
\hyphenation{tem-plate ex-am-ple in-put-it-er-a-tor name-space name-spaces}

\begin{document}
\chapterstyle{cppstd}
\pagestyle{cpppage}

%%--------------------------------------------------
%% configuration
\input{config}

%%--------------------------------------------------
%% front matter
\frontmatter
\include{front}

%%--------------------------------------------------
%% main body of the document
\mainmatter
\setglobalstyles

\include{intro}
\include{lex}
\include{basic}
\include{conversions}
\include{expressions}
\include{statements}
\include{declarations}
\include{declarators}
\include{classes}
\include{derived}
\include{access}
\include{special}
\include{overloading}
\include{templates}
\include{exceptions}
\include{preprocessor}
\include{lib-intro}
\include{support}
\include{diagnostics}
\include{utilities}
\include{strings}
\include{locales}
\include{containers}
\include{iterators}
\include{algorithms}
\include{numerics}
\include{iostreams}
\include{regex}
\include{atomics}
\include{threads}

%%--------------------------------------------------
%% appendices
\appendix
\include{grammar}
\include{limits}
\include{compatibility}
\include{future}
\include{charname}
\include{xref}

%%--------------------------------------------------
%% back matter
\backmatter
\include{back}


%%--------------------------------------------------
%% End of document
\end{document}
