%!TEX root = std.tex

\renewcommand{\leftmark}{\bibname}

\begin{thebibliography}{99}
% ISO documents in numerical order.
\bibitem{iso4217}
  ISO 4217:2015,
  \doccite{Codes for the representation of currencies}
\bibitem{iso14882:2023}
  ISO/IEC 14882:2023,
  \doccite{Programming Languages --- \Cpp{}}
\bibitem{iso14882:2020}
  ISO/IEC 14882:2020,
  \doccite{Programming Languages --- \Cpp{}}
\bibitem{iso14882:2017}
  ISO/IEC 14882:2017,
  \doccite{Programming Languages --- \Cpp{}}
\bibitem{iso14882:2014}
  ISO/IEC 14882:2014,
  \doccite{Information technology --- Programming Languages --- \Cpp{}}
\bibitem{iso14882:2011}
  ISO/IEC 14882:2011,
  \doccite{Information technology --- Programming Languages --- \Cpp{}}
\bibitem{iso14882:2003}
  ISO/IEC 14882:2003,
  \doccite{Programming Languages --- \Cpp{}}
\bibitem{iso18661-3}
  ISO/IEC TS 18661-3:2015,
  \doccite{Information Technology ---
    Programming languages, their environments, and system software interfaces ---
    Floating-point extensions for C --- Part 3: Interchange and extended types}
% Other international standards.
\bibitem{iana-charset}
  IANA Character Sets Database.
  Available from:\newline
  \url{https://www.iana.org/assignments/character-sets/}, 2021-04-01
\bibitem{iana-tz}
  IANA Time Zone Database.
  Available from: \url{https://www.iana.org/time-zones}
\bibitem{unicode-charmap}
  Unicode Character Mapping Markup Language [online].
  Edited by Mark Davis and Markus Scherer. Revision 5.0.1; 2017-05-31
  Available from: \url{https://www.unicode.org/reports/tr22/tr22-8.html}
% Literature references.
\bibitem{cpp-r}
  Bjarne Stroustrup,
  \doccite{The \Cpp{} Programming Language, second edition}, Chapter R\@.
  Addison-Wesley Publishing Company, ISBN 0-201-53992-6, copyright \copyright 1991 AT\&T
\bibitem{kr}
  Brian W.\ Kernighan and Dennis M.\ Ritchie,
  \doccite{The C Programming Language}, Appendix A\@.
  Prentice-Hall, 1978, ISBN 0-13-110163-3, copyright \copyright 1978 AT\&T
\bibitem{cpp-lib}
  P.\,J.\ Plauger,
  \doccite{The Draft Standard \Cpp{} Library}.
  Prentice-Hall, ISBN 0-13-117003-1, copyright \copyright 1995 P.\,J.\ Plauger
\bibitem{linalg-stable}
  J.\ Demmel, I.\ Dumitriu, and O.\ Holtz,
  \doccite{Fast linear algebra is stable},
  Numerische Mathematik 108 (59--91), 2007.
\bibitem{blas1}
  C.\,L.\ Lawson, R.\,J.\ Hanson, D.\ Kincaid, and F.\,T.\ Krogh,
  \doccite{Basic linear algebra subprograms for Fortran usage}.
  ACM Trans.\ Math.\ Soft., Vol.\ 5, pp.\ 308--323, 1979.
\bibitem{blas2}
  Jack J.\ Dongarra, Jeremy Du Croz, Sven Hammarling, and Richard J.\ Hanson,
  \doccite{An Extended Set of FORTRAN Basic Linear Algebra Subprograms}.
  ACM Trans.\ Math.\ Soft., Vol.\ 14, No.\ 1, pp.\ 1--17, Mar.\ 1988.
\bibitem{blas3}
  Jack J.\ Dongarra, Jeremy Du Croz, Sven Hammarling, and Iain Duff,
  \doccite{A Set of Level 3 Basic Linear Algebra Subprograms}.
  ACM Trans.\ Math.\ Soft., Vol.\ 16, No.\ 1, pp.\ 1--17, Mar.\ 1990.
\bibitem{lapack}
  E.\ Anderson, Z.\ Bai, C.\ Bischof, S.\ Blackford, J.\ Demmel, J.\ Dongarra,
  J.\ Du Croz, A.\ Greenbaum, S.\ Hammarling, A.\ McKenney, and D.\ Sorensen,
  \doccite{LAPACK Users' Guide, Third Edition}.
  SIAM, Philadelphia, PA, USA, 1999.
\bibitem{blas-std}
  L.\ Susan Blackford, James Demmel, Jack Dongarra, Iain Duff, Sven Hammarling,
  Greg Henry, Michael Heroux, Linda Kaufman, Andrew Lumbsdaine, Antoine Petitet,
  Roldan Pozo, Karin Remington, and R.\ Clint Whaley,
  \doccite{An Updated Set of Basic Linear Algebra Subprograms (BLAS)}.
  ACM Trans.\ Math.\ Soft., Vol.\ 28, Issue 2, pp.\ 135--151, 2002.
\bibitem{flynn-taxonomy}
  Michael J.\ Flynn,
  \doccite{Very High-Speed Computing Systems}.
  Proceedings of the IEEE, Vol.\ 54, Issue 12, pp.\ 1901--1909, 1966.
\end{thebibliography}

% FIXME: For unknown reasons, hanging paragraphs are not indented within our
% glossaries by default.
\let\realglossitem\glossitem
\renewcommand{\glossitem}[4]{\hangpara{4em}{1}\realglossitem{#1}{#2}{#3}{#4}}

\clearpage
\renewcommand{\glossaryname}{Cross-references}
\renewcommand{\preglossaryhook}{Each clause and subclause label is listed below along with the
corresponding clause or subclause number and page number, in alphabetical order by label.\\}
\twocolglossary
\renewcommand{\leftmark}{\glossaryname}
{
\raggedright
\printglossary[xrefindex]
}

\clearpage
\input{xrefdelta}
\renewcommand{\glossaryname}{Cross-references from ISO \CppXVII{}}
\renewcommand{\preglossaryhook}{All clause and subclause labels from
ISO \CppXVII{} (ISO/IEC 14882:2017, \doccite{Programming Languages --- \Cpp{}})
are present in this document, with the exceptions described below.\\}
\renewcommand{\leftmark}{\glossaryname}
{
\raggedright
\printglossary[xrefdelta]
}

\clearpage
\renewcommand{\leftmark}{\indexname}
\renewcommand{\preindexhook}{Constructions whose name appears in \exposid{monospaced italics} are for exposition only.\\}
{
\raggedright
\printindex[generalindex]
}

\clearpage
\renewcommand{\preindexhook}{The first bold page number for each entry is the page in the
general text where the grammar production is defined. The second bold page number is the
corresponding page in the Grammar summary\iref{gram}. Other page numbers refer to pages where the grammar production is mentioned in the general text.\\}
{
\raggedright
\printindex[grammarindex]
}

\clearpage
\renewcommand{\preindexhook}{The bold page number for each entry refers to
the page where the synopsis of the header is shown.\\}
{
\raggedright
\printindex[headerindex]
}

\clearpage
\renewcommand{\preindexhook}{Constructions whose name appears in \exposid{italics} are for exposition only.\\}
{
\raggedright
\printindex[libraryindex]
}

\clearpage
\renewcommand{\preindexhook}{The bold page number for each entry is the page
where the concept is defined.
Other page numbers refer to pages where the concept is mentioned in the general text.
Concepts whose name appears in \exposid{italics} are for exposition only.\\}
{
\raggedright
\printindex[conceptindex]
}

\clearpage
\renewcommand{\preindexhook}{The entries in this index are rough descriptions; exact
specifications are at the indicated page in the general text.\\}
{
\raggedright
\printindex[impldefindex]
}
