aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/doc
diff options
context:
space:
mode:
Diffstat (limited to 'libstdc++-v3/doc')
-rw-r--r--libstdc++-v3/doc/Makefile.am144
-rw-r--r--libstdc++-v3/doc/Makefile.in156
-rw-r--r--libstdc++-v3/doc/doxygen/doxygroups.cc9
-rw-r--r--libstdc++-v3/doc/doxygen/user.cfg.in709
-rw-r--r--libstdc++-v3/doc/html/api.html2
-rw-r--r--libstdc++-v3/doc/html/faq.html2
-rw-r--r--libstdc++-v3/doc/html/manual/abi.html75
-rw-r--r--libstdc++-v3/doc/html/manual/algorithms.html2
-rw-r--r--libstdc++-v3/doc/html/manual/api.html4
-rw-r--r--libstdc++-v3/doc/html/manual/appendix_contributing.html2
-rw-r--r--libstdc++-v3/doc/html/manual/appendix_free.html2
-rw-r--r--libstdc++-v3/doc/html/manual/appendix_gpl.html4
-rw-r--r--libstdc++-v3/doc/html/manual/appendix_porting.html2
-rw-r--r--libstdc++-v3/doc/html/manual/atomics.html2
-rw-r--r--libstdc++-v3/doc/html/manual/backwards.html48
-rw-r--r--libstdc++-v3/doc/html/manual/bitmap_allocator.html2
-rw-r--r--libstdc++-v3/doc/html/manual/bk01pt03ch17s03.html4
-rw-r--r--libstdc++-v3/doc/html/manual/bk01pt03ch18s03.html2
-rw-r--r--libstdc++-v3/doc/html/manual/bk01pt03ch19s02.html2
-rw-r--r--libstdc++-v3/doc/html/manual/bk01pt03ch19s07.html2
-rw-r--r--libstdc++-v3/doc/html/manual/bk01pt03pr01.html2
-rw-r--r--libstdc++-v3/doc/html/manual/concurrency.html2
-rw-r--r--libstdc++-v3/doc/html/manual/configure.html4
-rw-r--r--libstdc++-v3/doc/html/manual/containers.html2
-rw-r--r--libstdc++-v3/doc/html/manual/diagnostics.html2
-rw-r--r--libstdc++-v3/doc/html/manual/documentation_style.html6
-rw-r--r--libstdc++-v3/doc/html/manual/extensions.html2
-rw-r--r--libstdc++-v3/doc/html/manual/facets.html54
-rw-r--r--libstdc++-v3/doc/html/manual/intro.html2
-rw-r--r--libstdc++-v3/doc/html/manual/io.html2
-rw-r--r--libstdc++-v3/doc/html/manual/iterators.html2
-rw-r--r--libstdc++-v3/doc/html/manual/localization.html16
-rw-r--r--libstdc++-v3/doc/html/manual/memory.html84
-rw-r--r--libstdc++-v3/doc/html/manual/numerics.html2
-rw-r--r--libstdc++-v3/doc/html/manual/parallel_mode.html4
-rw-r--r--libstdc++-v3/doc/html/manual/profile_mode.html2
-rw-r--r--libstdc++-v3/doc/html/manual/spine.html4
-rw-r--r--libstdc++-v3/doc/html/manual/status.html12
-rw-r--r--libstdc++-v3/doc/html/manual/strings.html2
-rw-r--r--libstdc++-v3/doc/html/manual/support.html2
-rw-r--r--libstdc++-v3/doc/html/manual/test.html2
-rw-r--r--libstdc++-v3/doc/html/manual/using.html2
-rw-r--r--libstdc++-v3/doc/html/manual/using_exceptions.html16
-rw-r--r--libstdc++-v3/doc/html/manual/using_headers.html12
-rw-r--r--libstdc++-v3/doc/html/manual/utilities.html2
-rw-r--r--libstdc++-v3/doc/xml/api.xml45
-rw-r--r--libstdc++-v3/doc/xml/authors.xml137
-rw-r--r--libstdc++-v3/doc/xml/book.txml31
-rw-r--r--libstdc++-v3/doc/xml/chapter.txml43
-rw-r--r--libstdc++-v3/doc/xml/class.txml70
-rw-r--r--libstdc++-v3/doc/xml/faq.xml408
-rw-r--r--libstdc++-v3/doc/xml/gnu/fdl-1.2.xml36
-rw-r--r--libstdc++-v3/doc/xml/gnu/fdl-1.3.xml146
-rw-r--r--libstdc++-v3/doc/xml/gnu/gpl-2.0.xml100
-rw-r--r--libstdc++-v3/doc/xml/gnu/gpl-3.0.xml201
-rw-r--r--libstdc++-v3/doc/xml/manual/abi.xml316
-rw-r--r--libstdc++-v3/doc/xml/manual/algorithms.xml44
-rw-r--r--libstdc++-v3/doc/xml/manual/allocator.xml167
-rw-r--r--libstdc++-v3/doc/xml/manual/appendix_contributing.xml386
-rw-r--r--libstdc++-v3/doc/xml/manual/appendix_free.xml32
-rw-r--r--libstdc++-v3/doc/xml/manual/appendix_porting.xml44
-rw-r--r--libstdc++-v3/doc/xml/manual/atomics.xml26
-rw-r--r--libstdc++-v3/doc/xml/manual/auto_ptr.xml17
-rw-r--r--libstdc++-v3/doc/xml/manual/backwards_compatibility.xml260
-rw-r--r--libstdc++-v3/doc/xml/manual/bitmap_allocator.xml110
-rw-r--r--libstdc++-v3/doc/xml/manual/build_hacking.xml57
-rw-r--r--libstdc++-v3/doc/xml/manual/codecvt.xml169
-rw-r--r--libstdc++-v3/doc/xml/manual/concurrency.xml26
-rw-r--r--libstdc++-v3/doc/xml/manual/concurrency_extensions.xml60
-rw-r--r--libstdc++-v3/doc/xml/manual/configure.xml55
-rw-r--r--libstdc++-v3/doc/xml/manual/containers.xml113
-rw-r--r--libstdc++-v3/doc/xml/manual/ctype.xml94
-rw-r--r--libstdc++-v3/doc/xml/manual/debug.xml83
-rw-r--r--libstdc++-v3/doc/xml/manual/debug_mode.xml166
-rw-r--r--libstdc++-v3/doc/xml/manual/diagnostics.xml50
-rw-r--r--libstdc++-v3/doc/xml/manual/evolution.xml101
-rw-r--r--libstdc++-v3/doc/xml/manual/extensions.xml142
-rw-r--r--libstdc++-v3/doc/xml/manual/internals.xml47
-rw-r--r--libstdc++-v3/doc/xml/manual/intro.xml310
-rw-r--r--libstdc++-v3/doc/xml/manual/io.xml158
-rw-r--r--libstdc++-v3/doc/xml/manual/iterators.xml48
-rw-r--r--libstdc++-v3/doc/xml/manual/locale.xml99
-rw-r--r--libstdc++-v3/doc/xml/manual/localization.xml40
-rw-r--r--libstdc++-v3/doc/xml/manual/messages.xml132
-rw-r--r--libstdc++-v3/doc/xml/manual/mt_allocator.xml69
-rw-r--r--libstdc++-v3/doc/xml/manual/numerics.xml60
-rw-r--r--libstdc++-v3/doc/xml/manual/parallel_mode.xml160
-rw-r--r--libstdc++-v3/doc/xml/manual/prerequisites.xml21
-rw-r--r--libstdc++-v3/doc/xml/manual/profile_mode.xml521
-rw-r--r--libstdc++-v3/doc/xml/manual/shared_ptr.xml156
-rw-r--r--libstdc++-v3/doc/xml/manual/spine.xml84
-rw-r--r--libstdc++-v3/doc/xml/manual/status_cxx1998.xml389
-rw-r--r--libstdc++-v3/doc/xml/manual/status_cxx200x.xml887
-rw-r--r--libstdc++-v3/doc/xml/manual/status_cxxtr1.xml574
-rw-r--r--libstdc++-v3/doc/xml/manual/status_cxxtr24733.xml82
-rw-r--r--libstdc++-v3/doc/xml/manual/strings.xml101
-rw-r--r--libstdc++-v3/doc/xml/manual/support.xml87
-rw-r--r--libstdc++-v3/doc/xml/manual/test.xml124
-rw-r--r--libstdc++-v3/doc/xml/manual/using.xml399
-rw-r--r--libstdc++-v3/doc/xml/manual/using_exceptions.xml177
-rw-r--r--libstdc++-v3/doc/xml/manual/utilities.xml49
-rw-r--r--libstdc++-v3/doc/xml/spine.xml150
102 files changed, 4957 insertions, 5119 deletions
diff --git a/libstdc++-v3/doc/Makefile.am b/libstdc++-v3/doc/Makefile.am
index d48e7a30de8..06ce75a3095 100644
--- a/libstdc++-v3/doc/Makefile.am
+++ b/libstdc++-v3/doc/Makefile.am
@@ -25,26 +25,46 @@ include $(top_srcdir)/fragment.am
# Documentation Overview
#
# There are two main source materials for libstdc++ documentation.
-# The first is the doxygen markup in libstdc++ sources. And the second
-# is the docbook markup in doc/xml/. A third and more obscure option
-# deals with charting performance tests.
+# The first is the doxygen markup in libstdc++ sources, which is a
+# reference to the API. And the second is the docbook markup in
+# doc/xml/.
+#
+# A third and more obscure option deals with charting
+# performance tests, and should be considered experimental.
+
+# Default rules.
+#
+# Point to best sub-rule for the requested documentation target,
+# create, and then copy into toplevel directory with standardized names
+# and layouts.
+
+# HTML
+doc-html: doc-html-docbook doc-html-doxygen
+ cp -R ${docbook_outdir}/html ./libstdc++-manual.html
+ cp -R ${doxygen_outdir}/html ./libstdc++-api.html
-# Default, points to current best sub-rule that is the best conversion.
# MAN
doc-man: doc-man-doxygen
+ cp -R ${doxygen_outdir}/man ./libstdc++-api.man
# PDF
-doc-pdf: doc-pdf-docbook
+doc-pdf: doc-pdf-docbook doc-pdf-doxygen
+ cp ${docbook_outdir}/pdf/libstdc++-manual.pdf .
+ cp ${doxygen_outdir}/pdf/libstdc++-api.pdf .
-# HTML
-doc-html: doc-html-docbook
+# TEXINFO
+doc-texinfo: doc-texinfo-docbook
+
+# XML
+doc-xml: doc-xml-single-docbook doc-xml-single-doxygen
+ cp ${manual_xml} .
+ cp ${api_xml} .
# Doxygen configuration
# Assumes doxygen, graphviz (with dot), pdflatex installed
doxygen_script=${top_srcdir}/scripts/run_doxygen
doxygen_outdir = ${glibcxx_builddir}/doc/doxygen
-doxygen_pdf = ${doxygen_outdir}/latex/refman.pdf
doc-html-doxygen:
-(srcdir=`cd ${top_srcdir}; ${PWD_COMMAND}`; \
@@ -64,10 +84,11 @@ doc-xml-doxygen:
${SHELL} ${doxygen_script} \
--host_alias=${host_alias} --mode=xml $${srcdir} $${builddir} NO)
-doc-xml-single-doxygen:
+api_xml = ${doxygen_outdir}/xml/libstdc++-api-single.xml
+doc-xml-single-doxygen: doc-xml-doxygen
@echo "Generating doxygen xml single file..."
$(XSLTPROC) ${doxygen_outdir}/xml/combine.xslt \
- ${doxygen_outdir}/xml/index.xml > ${doxygen_outdir}/xml/api-spine.xml;
+ ${doxygen_outdir}/xml/index.xml > ${api_xml};
doc-latex-doxygen:
-(srcdir=`cd ${top_srcdir}; ${PWD_COMMAND}`; \
@@ -75,12 +96,23 @@ doc-latex-doxygen:
${SHELL} ${doxygen_script} \
--host_alias=${host_alias} --mode=latex $${srcdir} $${builddir} NO)
-# Chance of loooooonnggg creation time on this rule.
-doc-pdf-doxygen: stamp-latex-doxygen
+# Chance of loooooonnggg creation time on this rule. Iff this fails,
+# look at refman.log and see if TeX's memory is exhausted. Symptoms
+# include asking a wizard to enlarge capacity. If this is the case,
+# find texmf.cnf and add a zero for pool_size, string_vacancies,
+# max_strings, and pool_free values.
+doxygen_pdf = ${doxygen_outdir}/latex/refman.pdf
+api_pdf = ${doxygen_outdir}/pdf/libstdc++-api.pdf
+
+${doxygen_outdir}/pdf:
+ mkdir -p ${doxygen_outdir}/pdf
+
+doc-pdf-doxygen: stamp-latex-doxygen ${doxygen_outdir}/pdf
-(cd ${doxygen_outdir}/latex && $(MAKE) -i pdf;)
echo "Generating doxygen pdf file...";
if [ -f ${doxygen_pdf} ]; then \
- echo "... ${doxygen_pdf}"; \
+ mv ${doxygen_pdf} ${api_pdf} ; \
+ echo ":: PDF file is ${api_pdf}"; \
else \
echo "... error"; \
exit 12; \
@@ -188,20 +220,23 @@ xml_noinst = \
XSLTPROC = xsltproc
XSLTPROC_FLAGS = --nonet --xinclude
-XSL_STYLE_DIR = /usr/share/sgml/docbook/xsl-stylesheets
+XSL_STYLE_DIR = /usr/share/sgml/docbook/xsl-ns-stylesheets
XSL_FO_STYLE = $(XSL_STYLE_DIR)/fo/docbook.xsl
XSL_HTML_STYLE = $(XSL_STYLE_DIR)/xhtml/chunk.xsl
#XSL_HTML_SINGLE_STYLE = $(XSL_STYLE_DIR)/xhtml/onechunk.xsl
XSL_HTML_SINGLE_STYLE = $(XSL_STYLE_DIR)/xhtml/docbook.xsl
+${docbook_outdir}/fo:
+ mkdir -p ${docbook_outdir}/fo
+
${docbook_outdir}/html:
mkdir -p ${docbook_outdir}/html
${docbook_outdir}/pdf:
mkdir -p ${docbook_outdir}/pdf
-${docbook_outdir}/fo:
- mkdir -p ${docbook_outdir}/fo
+${docbook_outdir}/texinfo:
+ mkdir -p ${docbook_outdir}/texinfo
${docbook_outdir}/xml:
mkdir -p ${docbook_outdir}/xml
@@ -210,18 +245,22 @@ ${docbook_outdir}/xml:
XMLLINT = xmllint
#LINT_FLAGS = --debug --nonet --xinclude --nsclean --postvalid --nowarning
#LINT_FLAGS = --noblanks --noout --xinclude --postvalid --noent
-LINT_FLAGS = --postvalid --debug --xinclude --noent --noblanks --nonet --noout
-DTD_FLAGS = --dtdvalid http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd
-XMLLINT_FLAGS = $(LINT_FLAGS) $(DTD_FLAGS)
+LINT_FLAGS = --debug --xinclude --noent --noblanks --nonet --noout
+#SCHEMA_FLAGS = --relaxng /usr/share/xml/docbook5/schema/rng/5.0/docbookxi.rng
+SCHEMA_FLAGS = --dtdvalid /usr/share/xml/docbook5/schema/dtd/5.0/docbook.dtd
+XMLLINT_FLAGS = $(LINT_FLAGS) $(SCHEMA_FLAGS)
doc-xml-validate-docbook: $(xml_sources)
@echo "Generating XML validation log..."
$(XMLLINT) $(XMLLINT_FLAGS) ${top_srcdir}/doc/xml/spine.xml
+# XML, all one page
+# Some info on canonicalization
+# http://www.mail-archive.com/help-texinfo@gnu.org/msg00864.html
+manual_xml = ${docbook_outdir}/xml/libstdc++-manual-single.xml
doc-xml-single-docbook: $(xml_sources) ${docbook_outdir}/xml
@echo "Generating XML single..."
- $(XMLLINT) --xinclude --noent --noblanks \
- -o ${docbook_outdir}/xml/spine-single.xml \
- ${top_srcdir}/doc/xml/spine.xml
+ $(XMLLINT) --xinclude --noent --noblanks --nocdata --nsclean --c14n \
+ ${top_srcdir}/doc/xml/manual/spine.xml > ${manual_xml}
# HTML, index plus chapters
doc-html-docbook: $(xml_sources) ${docbook_outdir}/html
@@ -230,9 +269,10 @@ doc-html-docbook: $(xml_sources) ${docbook_outdir}/html
$(XSL_HTML_STYLE) ${top_srcdir}/doc/xml/spine.xml
# HTML, all one page
+manual_html = ${docbook_outdir}/html/libstdc++-manual-single.html
doc-html-single-docbook: $(xml_sources) ${docbook_outdir}/html
@echo "Generating html single file..."
- $(XSLTPROC) $(XSLTPROC_FLAGS) -o ${docbook_outdir}/html/ \
+ $(XSLTPROC) $(XSLTPROC_FLAGS) -o ${manual_html} \
$(XSL_HTML_SINGLE_STYLE) ${top_srcdir}/doc/xml/spine.xml
# FO
@@ -241,52 +281,24 @@ doc-fo-docbook: $(xml_sources) ${docbook_outdir}/fo
$(XSLTPROC) $(XSLTPROC_FLAGS) -o ${docbook_outdir}/fo/spine.fo \
$(XSL_FO_STYLE) ${top_srcdir}/doc/xml/spine.xml
-# PDF 1
-# fop
-FOP = fop
-FOP_FLAGS = -d -r
-doc-pdf-fop-xml-docbook: $(xml_sources) ${glibcxx_builddir}/doc/pdf
- @echo "Generating pdf fop files from xml..."
- $(FOP) $(FOP_FLAGS) -xml ${top_srcdir}/doc/xml/spine.xml \
- -xsl $(XSL_FO_STYLE) -pdf ${docbook_outdir}/pdf/spine.pdf
-
-doc-pdf-fop-fo-docbook: $(xml_sources) ${glibcxx_builddir}/doc/pdf doc-fo
- @echo "Generating pdf fop files from fo..."
- $(FOP) $(FOP_FLAGS) -fo ${docbook_outdir}/fo/spine.fo \
- -pdf ${docbook_outdir}/pdf/spine.pdf
-
-# PDF 2
-# xmlto
-XML2PDF = xmlto
-XML2PDF_FLAGS = -v pdf --skip-validation -o pdf
-doc-pdf-xmlto-docbook: $(xml_sources) ${docbook_outdir}/pdf
- @echo "Generating pdf xmlto files..."
- $(XML2PDF) $(XML2PDF_FLAGS) ${top_srcdir}/doc/xml/spine.xml
-
-# PDF 3
-# xmlroff
-XMLROFF = xmlroff
-XMLROFF_FLAGS = --format=pdf --backend=cairo --warn=1 --debug=1 --continue
-doc-pdf-xmlroff-docbook: $(xml_sources) doc-fo
- @echo "Generating pdf xmlroff files..."
- $(XMLROFF) $(XMLROFF_FLAGS) ${docbook_outdir}/fo/spine.fo
-
-# PDF 4
-# prince
-PRINCE = prince
-PRINCE_FLAGS = --log prince.log -o pdf/spine.pdf
-doc-pdf-prince-docbook: $(xml_sources) ${docbook_outdir}/pdf
- @echo "Generating pdf prince files..."
- $(PRINCE) $(PRINCE_FLAGS) ${top_srcdir}/xml/spine.xml
-
-# PDF 5
-# dblatex
-DBLATEX_FLAGS = --dump --verbose --pdf -o ${docbook_outdir}/pdf/manual.pdf
+# PDF, via dblatex
+manual_pdf = ${docbook_outdir}/pdf/libstdc++-manual.pdf
+DBLATEX_FLAGS = --dump --verbose --pdf -o ${manual_pdf}
+doc-pdf-docbook: doc-pdf-dblatex-docbook
+
doc-pdf-dblatex-docbook: $(xml_sources) ${docbook_outdir}/pdf
@echo "Generating pdf dblatex files..."
dblatex $(DBLATEX_FLAGS) ${top_srcdir}/doc/xml/spine.xml
-doc-pdf-docbook: doc-pdf-dblatex-docbook
+# Texinfo, via docbook2X
+DB2TEXI_FLAGS = \
+ --encoding=utf-8//TRANSLIT \
+ --string-param output-file="libstdc++-manual" \
+ --string-param directory-category="GNU C++ Library" \
+ --string-param explicit-node-names=true
+doc-texinfo-docbook: doc-xml-single-docbook ${docbook_outdir}/texinfo
+ @echo "Generating texinfo files..."
+ db2x_docbook2texi $(DB2TEXI_FLAGS) ${manual_xml}
# Performance doc and graph configuration.
@@ -308,4 +320,4 @@ CLEANFILES = *.log
# To remove directories.
clean-local:
- rm -rf man html pdf fo xml doxygen docbook stamp*
+ rm -rf man html pdf fo xml doxygen docbook stamp* ./libstdc++-* db2t*
diff --git a/libstdc++-v3/doc/Makefile.in b/libstdc++-v3/doc/Makefile.in
index 482bbb1f614..005e1b8927b 100644
--- a/libstdc++-v3/doc/Makefile.in
+++ b/libstdc++-v3/doc/Makefile.in
@@ -54,6 +54,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../config/enable.m4 \
$(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \
$(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/crossconfig.m4 \
$(top_srcdir)/linkage.m4 $(top_srcdir)/acinclude.m4 \
+ $(top_srcdir)/../config/gc++filt.m4 \
$(top_srcdir)/../config/tls.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
@@ -99,6 +100,7 @@ CTIME_CC = @CTIME_CC@
CTIME_H = @CTIME_H@
CXX = @CXX@
CXXCPP = @CXXCPP@
+CXXFILT = @CXXFILT@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
C_INCLUDE_DIR = @C_INCLUDE_DIR@
@@ -265,7 +267,15 @@ AM_CPPFLAGS = $(GLIBCXX_INCLUDES)
# Assumes doxygen, graphviz (with dot), pdflatex installed
doxygen_script = ${top_srcdir}/scripts/run_doxygen
doxygen_outdir = ${glibcxx_builddir}/doc/doxygen
+api_xml = ${doxygen_outdir}/xml/libstdc++-api-single.xml
+
+# Chance of loooooonnggg creation time on this rule. Iff this fails,
+# look at refman.log and see if TeX's memory is exhausted. Symptoms
+# include asking a wizard to enlarge capacity. If this is the case,
+# find texmf.cnf and add a zero for pool_size, string_vacancies,
+# max_strings, and pool_free values.
doxygen_pdf = ${doxygen_outdir}/latex/refman.pdf
+api_pdf = ${doxygen_outdir}/pdf/libstdc++-api.pdf
# Docbook configuration.
# Assumes
@@ -349,7 +359,7 @@ xml_noinst = \
XSLTPROC = xsltproc
XSLTPROC_FLAGS = --nonet --xinclude
-XSL_STYLE_DIR = /usr/share/sgml/docbook/xsl-stylesheets
+XSL_STYLE_DIR = /usr/share/sgml/docbook/xsl-ns-stylesheets
XSL_FO_STYLE = $(XSL_STYLE_DIR)/fo/docbook.xsl
XSL_HTML_STYLE = $(XSL_STYLE_DIR)/xhtml/chunk.xsl
#XSL_HTML_SINGLE_STYLE = $(XSL_STYLE_DIR)/xhtml/onechunk.xsl
@@ -359,33 +369,30 @@ XSL_HTML_SINGLE_STYLE = $(XSL_STYLE_DIR)/xhtml/docbook.xsl
XMLLINT = xmllint
#LINT_FLAGS = --debug --nonet --xinclude --nsclean --postvalid --nowarning
#LINT_FLAGS = --noblanks --noout --xinclude --postvalid --noent
-LINT_FLAGS = --postvalid --debug --xinclude --noent --noblanks --nonet --noout
-DTD_FLAGS = --dtdvalid http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd
-XMLLINT_FLAGS = $(LINT_FLAGS) $(DTD_FLAGS)
-
-# PDF 1
-# fop
-FOP = fop
-FOP_FLAGS = -d -r
-
-# PDF 2
-# xmlto
-XML2PDF = xmlto
-XML2PDF_FLAGS = -v pdf --skip-validation -o pdf
-
-# PDF 3
-# xmlroff
-XMLROFF = xmlroff
-XMLROFF_FLAGS = --format=pdf --backend=cairo --warn=1 --debug=1 --continue
-
-# PDF 4
-# prince
-PRINCE = prince
-PRINCE_FLAGS = --log prince.log -o pdf/spine.pdf
-
-# PDF 5
-# dblatex
-DBLATEX_FLAGS = --dump --verbose --pdf -o ${docbook_outdir}/pdf/manual.pdf
+LINT_FLAGS = --debug --xinclude --noent --noblanks --nonet --noout
+#SCHEMA_FLAGS = --relaxng /usr/share/xml/docbook5/schema/rng/5.0/docbookxi.rng
+SCHEMA_FLAGS = --dtdvalid /usr/share/xml/docbook5/schema/dtd/5.0/docbook.dtd
+XMLLINT_FLAGS = $(LINT_FLAGS) $(SCHEMA_FLAGS)
+
+# XML, all one page
+# Some info on canonicalization
+# http://www.mail-archive.com/help-texinfo@gnu.org/msg00864.html
+manual_xml = ${docbook_outdir}/xml/libstdc++-manual-single.xml
+
+# HTML, all one page
+manual_html = ${docbook_outdir}/html/libstdc++-manual-single.html
+
+# PDF, via dblatex
+manual_pdf = ${docbook_outdir}/pdf/libstdc++-manual.pdf
+DBLATEX_FLAGS = --dump --verbose --pdf -o ${manual_pdf}
+
+# Texinfo, via docbook2X
+DB2TEXI_FLAGS = \
+ --encoding=utf-8//TRANSLIT \
+ --string-param output-file="libstdc++-manual" \
+ --string-param directory-category="GNU C++ Library" \
+ --string-param explicit-node-names=true
+
# Performance doc and graph configuration.
# Assumes pychart, beautiful soup installed.
@@ -552,19 +559,40 @@ uninstall-am:
# Documentation Overview
#
# There are two main source materials for libstdc++ documentation.
-# The first is the doxygen markup in libstdc++ sources. And the second
-# is the docbook markup in doc/xml/. A third and more obscure option
-# deals with charting performance tests.
+# The first is the doxygen markup in libstdc++ sources, which is a
+# reference to the API. And the second is the docbook markup in
+# doc/xml/.
+#
+# A third and more obscure option deals with charting
+# performance tests, and should be considered experimental.
+
+# Default rules.
+#
+# Point to best sub-rule for the requested documentation target,
+# create, and then copy into toplevel directory with standardized names
+# and layouts.
+
+# HTML
+doc-html: doc-html-docbook doc-html-doxygen
+ cp -R ${docbook_outdir}/html ./libstdc++-manual.html
+ cp -R ${doxygen_outdir}/html ./libstdc++-api.html
-# Default, points to current best sub-rule that is the best conversion.
# MAN
doc-man: doc-man-doxygen
+ cp -R ${doxygen_outdir}/man ./libstdc++-api.man
# PDF
-doc-pdf: doc-pdf-docbook
+doc-pdf: doc-pdf-docbook doc-pdf-doxygen
+ cp ${docbook_outdir}/pdf/libstdc++-manual.pdf .
+ cp ${doxygen_outdir}/pdf/libstdc++-api.pdf .
-# HTML
-doc-html: doc-html-docbook
+# TEXINFO
+doc-texinfo: doc-texinfo-docbook
+
+# XML
+doc-xml: doc-xml-single-docbook doc-xml-single-doxygen
+ cp ${manual_xml} .
+ cp ${api_xml} .
doc-html-doxygen:
-(srcdir=`cd ${top_srcdir}; ${PWD_COMMAND}`; \
@@ -583,11 +611,10 @@ doc-xml-doxygen:
builddir=`cd ..; ${PWD_COMMAND}`; \
${SHELL} ${doxygen_script} \
--host_alias=${host_alias} --mode=xml $${srcdir} $${builddir} NO)
-
-doc-xml-single-doxygen:
+doc-xml-single-doxygen: doc-xml-doxygen
@echo "Generating doxygen xml single file..."
$(XSLTPROC) ${doxygen_outdir}/xml/combine.xslt \
- ${doxygen_outdir}/xml/index.xml > ${doxygen_outdir}/xml/api-spine.xml;
+ ${doxygen_outdir}/xml/index.xml > ${api_xml};
doc-latex-doxygen:
-(srcdir=`cd ${top_srcdir}; ${PWD_COMMAND}`; \
@@ -595,12 +622,15 @@ doc-latex-doxygen:
${SHELL} ${doxygen_script} \
--host_alias=${host_alias} --mode=latex $${srcdir} $${builddir} NO)
-# Chance of loooooonnggg creation time on this rule.
-doc-pdf-doxygen: stamp-latex-doxygen
+${doxygen_outdir}/pdf:
+ mkdir -p ${doxygen_outdir}/pdf
+
+doc-pdf-doxygen: stamp-latex-doxygen ${doxygen_outdir}/pdf
-(cd ${doxygen_outdir}/latex && $(MAKE) -i pdf;)
echo "Generating doxygen pdf file...";
if [ -f ${doxygen_pdf} ]; then \
- echo "... ${doxygen_pdf}"; \
+ mv ${doxygen_pdf} ${api_pdf} ; \
+ echo ":: PDF file is ${api_pdf}"; \
else \
echo "... error"; \
exit 12; \
@@ -625,37 +655,36 @@ stamp-latex-doxygen:
fi
$(STAMP) stamp-latex-doxygen
+${docbook_outdir}/fo:
+ mkdir -p ${docbook_outdir}/fo
+
${docbook_outdir}/html:
mkdir -p ${docbook_outdir}/html
${docbook_outdir}/pdf:
mkdir -p ${docbook_outdir}/pdf
-${docbook_outdir}/fo:
- mkdir -p ${docbook_outdir}/fo
+${docbook_outdir}/texinfo:
+ mkdir -p ${docbook_outdir}/texinfo
${docbook_outdir}/xml:
mkdir -p ${docbook_outdir}/xml
doc-xml-validate-docbook: $(xml_sources)
@echo "Generating XML validation log..."
$(XMLLINT) $(XMLLINT_FLAGS) ${top_srcdir}/doc/xml/spine.xml
-
doc-xml-single-docbook: $(xml_sources) ${docbook_outdir}/xml
@echo "Generating XML single..."
- $(XMLLINT) --xinclude --noent --noblanks \
- -o ${docbook_outdir}/xml/spine-single.xml \
- ${top_srcdir}/doc/xml/spine.xml
+ $(XMLLINT) --xinclude --noent --noblanks --nocdata --nsclean --c14n \
+ ${top_srcdir}/doc/xml/manual/spine.xml > ${manual_xml}
# HTML, index plus chapters
doc-html-docbook: $(xml_sources) ${docbook_outdir}/html
@echo "Generating html files..."
$(XSLTPROC) $(XSLTPROC_FLAGS) -o ${docbook_outdir}/html/ \
$(XSL_HTML_STYLE) ${top_srcdir}/doc/xml/spine.xml
-
-# HTML, all one page
doc-html-single-docbook: $(xml_sources) ${docbook_outdir}/html
@echo "Generating html single file..."
- $(XSLTPROC) $(XSLTPROC_FLAGS) -o ${docbook_outdir}/html/ \
+ $(XSLTPROC) $(XSLTPROC_FLAGS) -o ${manual_html} \
$(XSL_HTML_SINGLE_STYLE) ${top_srcdir}/doc/xml/spine.xml
# FO
@@ -663,29 +692,14 @@ doc-fo-docbook: $(xml_sources) ${docbook_outdir}/fo
@echo "Generating FO files..."
$(XSLTPROC) $(XSLTPROC_FLAGS) -o ${docbook_outdir}/fo/spine.fo \
$(XSL_FO_STYLE) ${top_srcdir}/doc/xml/spine.xml
-doc-pdf-fop-xml-docbook: $(xml_sources) ${glibcxx_builddir}/doc/pdf
- @echo "Generating pdf fop files from xml..."
- $(FOP) $(FOP_FLAGS) -xml ${top_srcdir}/doc/xml/spine.xml \
- -xsl $(XSL_FO_STYLE) -pdf ${docbook_outdir}/pdf/spine.pdf
-
-doc-pdf-fop-fo-docbook: $(xml_sources) ${glibcxx_builddir}/doc/pdf doc-fo
- @echo "Generating pdf fop files from fo..."
- $(FOP) $(FOP_FLAGS) -fo ${docbook_outdir}/fo/spine.fo \
- -pdf ${docbook_outdir}/pdf/spine.pdf
-doc-pdf-xmlto-docbook: $(xml_sources) ${docbook_outdir}/pdf
- @echo "Generating pdf xmlto files..."
- $(XML2PDF) $(XML2PDF_FLAGS) ${top_srcdir}/doc/xml/spine.xml
-doc-pdf-xmlroff-docbook: $(xml_sources) doc-fo
- @echo "Generating pdf xmlroff files..."
- $(XMLROFF) $(XMLROFF_FLAGS) ${docbook_outdir}/fo/spine.fo
-doc-pdf-prince-docbook: $(xml_sources) ${docbook_outdir}/pdf
- @echo "Generating pdf prince files..."
- $(PRINCE) $(PRINCE_FLAGS) ${top_srcdir}/xml/spine.xml
+doc-pdf-docbook: doc-pdf-dblatex-docbook
+
doc-pdf-dblatex-docbook: $(xml_sources) ${docbook_outdir}/pdf
@echo "Generating pdf dblatex files..."
dblatex $(DBLATEX_FLAGS) ${top_srcdir}/doc/xml/spine.xml
-
-doc-pdf-docbook: doc-pdf-dblatex-docbook
+doc-texinfo-docbook: doc-xml-single-docbook ${docbook_outdir}/texinfo
+ @echo "Generating texinfo files..."
+ db2x_docbook2texi $(DB2TEXI_FLAGS) ${manual_xml}
doc-html-performance:
-@(chmod + ${doc_performance_script}; \
${doc_performance_script} ${top_srcdir} \
@@ -697,7 +711,7 @@ doc-html-performance:
# To remove directories.
clean-local:
- rm -rf man html pdf fo xml doxygen docbook stamp*
+ rm -rf man html pdf fo xml doxygen docbook stamp* ./libstdc++-* db2t*
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/libstdc++-v3/doc/doxygen/doxygroups.cc b/libstdc++-v3/doc/doxygen/doxygroups.cc
index e7c664a92fb..00175388301 100644
--- a/libstdc++-v3/doc/doxygen/doxygroups.cc
+++ b/libstdc++-v3/doc/doxygen/doxygroups.cc
@@ -1,5 +1,6 @@
/*
- Copyright (C) 2001, 2002, 2005, 2008, 2009 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2002, 2005, 2008, 2009, 2010
+ Free Software Foundation, Inc.
See license.html for license.
This just provides documentation for stuff that doesn't need to be in the
@@ -47,7 +48,7 @@
* Components generally useful that are not part of any standard.
*/
-/** @defgroup SGIextensions SGI STL extensions
+/** @defgroup SGIextensions SGI
* @ingroup extensions
Because libstdc++ based its implementation of the STL subsections of
the library on the SGI 3.3 implementation, we inherited their extensions
@@ -115,7 +116,7 @@ All sequences must meet certain requirements, summarized in
<a href="tables.html">tables</a>.
*/
-/** @defgroup associative_containers Associative Containers
+/** @defgroup associative_containers Associative
* @ingroup containers
Associative containers allow fast retrieval of data based on keys.
@@ -126,7 +127,7 @@ All associative containers must meet certain requirements, summarized in
<a href="tables.html">tables</a>.
*/
-/** @defgroup unordered_associative_containers Unordered Associative Containers
+/** @defgroup unordered_associative_containers Unordered Associative
* @ingroup containers
Unordered associative containers allow fast retrieval of data based on keys.
diff --git a/libstdc++-v3/doc/doxygen/user.cfg.in b/libstdc++-v3/doc/doxygen/user.cfg.in
index 118f9e78975..c9e86a51884 100644
--- a/libstdc++-v3/doc/doxygen/user.cfg.in
+++ b/libstdc++-v3/doc/doxygen/user.cfg.in
@@ -1,4 +1,4 @@
-# Doxyfile 1.6.1
+# Doxyfile 1.7.1
# This file describes the settings to be used by the documentation system
# doxygen (www.doxygen.org) for a project
@@ -180,7 +180,7 @@ TAB_SIZE = 4
# You can put \n's in the value part of an alias to insert newlines.
ALIASES = "doctodo=@todo\nDoc me! See doc/doxygen/TODO and http://gcc.gnu.org/ml/libstdc++/2002-02/msg00003.html for more. " \
- "isiosfwd=One of the @link io I/O @endlink typedefs"
+ "isiosfwd=One of the @link io I/O @endlink typedefs"
# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C
# sources only. Doxygen will then generate output that is more tailored for C.
@@ -208,17 +208,15 @@ OPTIMIZE_FOR_FORTRAN = NO
OPTIMIZE_OUTPUT_VHDL = NO
-# Doxygen selects the parser to use depending on the extension of the
-# files it parses. With this tag you can assign which parser to use
-# for a given extension. Doxygen has a built-in mapping, but you can
-# override or extend it using this tag. The format is ext=language,
-# where ext is a file extension, and language is one of the parsers
-# supported by doxygen: IDL, Java, Javascript, C#, C, C++, D, PHP,
-# Objective-C, Python, Fortran, VHDL, C, C++. For instance to make
-# doxygen treat .inc files as Fortran files (default is PHP), and .f
-# files as C (default is Fortran), use: inc=Fortran f=C. Note that for
-# custom extensions you also need to set FILE_PATTERNS otherwise the
-# files are not read by doxygen.
+# Doxygen selects the parser to use depending on the extension of the files it
+# parses. With this tag you can assign which parser to use for a given extension.
+# Doxygen has a built-in mapping, but you can override or extend it using this
+# tag. The format is ext=language, where ext is a file extension, and language
+# is one of the parsers supported by doxygen: IDL, Java, Javascript, CSharp, C,
+# C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, C++. For instance to make
+# doxygen treat .inc files as Fortran files (default is PHP), and .f files as C
+# (default is Fortran), use: inc=Fortran f=C. Note that for custom extensions
+# you also need to set FILE_PATTERNS otherwise the files are not read by doxygen.
EXTENSION_MAPPING =
@@ -236,63 +234,57 @@ BUILTIN_STL_SUPPORT = NO
CPP_CLI_SUPPORT = NO
-# Set the SIP_SUPPORT tag to YES if your project consists of sip
-# sources only. Doxygen will parse them like normal C++ but will
-# assume all classes use public instead of private inheritance when no
-# explicit protection keyword is present.
+# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only.
+# Doxygen will parse them like normal C++ but will assume all classes use public
+# instead of private inheritance when no explicit protection keyword is present.
SIP_SUPPORT = NO
-# For Microsoft's IDL there are propget and propput attributes to
-# indicate getter and setter methods for a property. Setting this
-# option to YES (the default) will make doxygen to replace the get and
-# set methods by a property in the documentation. This will only work
-# if the methods are indeed getting or setting a simple type. If this
-# is not the case, or you want to show the methods anyway, you should
-# set this option to NO.
+# For Microsoft's IDL there are propget and propput attributes to indicate getter
+# and setter methods for a property. Setting this option to YES (the default)
+# will make doxygen to replace the get and set methods by a property in the
+# documentation. This will only work if the methods are indeed getting or
+# setting a simple type. If this is not the case, or you want to show the
+# methods anyway, you should set this option to NO.
-IDL_PROPERTY_SUPPORT = YES
+IDL_PROPERTY_SUPPORT = NO
-# If member grouping is used in the documentation and the
-# DISTRIBUTE_GROUP_DOC tag is set to YES, then doxygen will reuse the
-# documentation of the first member in the group (if any) for the
-# other members of the group. By default all members of a group must
-# be documented explicitly.
+# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
+# tag is set to YES, then doxygen will reuse the documentation of the first
+# member in the group (if any) for the other members of the group. By default
+# all members of a group must be documented explicitly.
DISTRIBUTE_GROUP_DOC = YES
-# Set the SUBGROUPING tag to YES (the default) to allow class member
-# groups of the same type (for instance a group of public functions)
-# to be put as a subgroup of that type (e.g. under the Public
-# Functions section). Set it to NO to prevent
-# subgrouping. Alternatively, this can be done per class using the
-# \nosubgrouping command.
+# Set the SUBGROUPING tag to YES (the default) to allow class member groups of
+# the same type (for instance a group of public functions) to be put as a
+# subgroup of that type (e.g. under the Public Functions section). Set it to
+# NO to prevent subgrouping. Alternatively, this can be done per class using
+# the \nosubgrouping command.
SUBGROUPING = YES
-# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union,
-# or enum is documented as struct, union, or enum with the name of the
-# typedef. So typedef struct TypeS {} TypeT, will appear in the
-# documentation as a struct with name TypeT. When disabled the typedef
-# will appear as a member of a file, namespace, or class. And the
-# struct will be named TypeS. This can typically be useful for C code
-# in case the coding convention dictates that all compound types are
-# typedef'ed and only the typedef is referenced, never the tag name.
+# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum
+# is documented as struct, union, or enum with the name of the typedef. So
+# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
+# with name TypeT. When disabled the typedef will appear as a member of a file,
+# namespace, or class. And the struct will be named TypeS. This can typically
+# be useful for C code in case the coding convention dictates that all compound
+# types are typedef'ed and only the typedef is referenced, never the tag name.
TYPEDEF_HIDES_STRUCT = NO
-# The SYMBOL_CACHE_SIZE determines the size of the internal cache use
-# to determine which symbols to keep in memory and which to flush to
-# disk. When the cache is full, less often used symbols will be
-# written to disk. For small to medium size projects (<1000 input
-# files) the default value is probably good enough. For larger
-# projects a too small cache size can cause doxygen to be busy
-# swapping symbols to and from disk most of the time causing a
-# significant performance penality. If the system has enough physical
-# memory increasing the cache will improve the performance by keeping
-# more symbols in memory. Note that the value works on a logarithmic
-# scale so increasing the size by one will rougly double the memory
-# usage. The cache size is given by this formula:
+# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to
+# determine which symbols to keep in memory and which to flush to disk.
+# When the cache is full, less often used symbols will be written to disk.
+# For small to medium size projects (<1000 input files) the default value is
+# probably good enough. For larger projects a too small cache size can cause
+# doxygen to be busy swapping symbols to and from disk most of the time
+# causing a significant performance penality.
+# If the system has enough physical memory increasing the cache will improve the
+# performance by keeping more symbols in memory. Note that the value works on
+# a logarithmic scale so increasing the size by one will rougly double the
+# memory usage. The cache size is given by this formula:
# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0,
# corresponding to a cache size of 2^16 = 65536 symbols
@@ -396,6 +388,12 @@ HIDE_SCOPE_NAMES = NO
SHOW_INCLUDE_FILES = NO
+# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen
+# will list include files with double quotes in the documentation
+# rather than with sharp brackets.
+
+FORCE_LOCAL_INCLUDES = NO
+
# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
# is inserted in the documentation for inline members.
@@ -415,13 +413,13 @@ SORT_MEMBER_DOCS = YES
SORT_BRIEF_DOCS = YES
-# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will
-# sort the (brief and detailed) documentation of class members so that
-# constructors and destructors are listed first. If set to NO (the
-# default) the constructors will appear in the respective orders
-# defined by SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. This tag will be
-# ignored for brief docs if SORT_BRIEF_DOCS is set to NO and ignored
-# for detailed docs if SORT_MEMBER_DOCS is set to NO.
+# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen
+# will sort the (brief and detailed) documentation of class members so that
+# constructors and destructors are listed first. If set to NO (the default)
+# the constructors will appear in the respective orders defined by
+# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS.
+# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO
+# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO.
SORT_MEMBERS_CTORS_1ST = YES
@@ -505,24 +503,22 @@ SHOW_FILES = YES
SHOW_NAMESPACES = YES
-# The FILE_VERSION_FILTER tag can be used to specify a program or
-# script that doxygen should invoke to get the current version for
-# each file (typically from the version control system). Doxygen will
-# invoke the program by executing (via popen()) the command <command>
-# <input-file>, where <command> is the value of the
-# FILE_VERSION_FILTER tag, and <input-file> is the name of an input
-# file provided by doxygen. Whatever the program writes to standard
-# output is used as the file version. See the manual for examples.
+# The FILE_VERSION_FILTER tag can be used to specify a program or script that
+# doxygen should invoke to get the current version for each file (typically from
+# the version control system). Doxygen will invoke the program by executing (via
+# popen()) the command <command> <input-file>, where <command> is the value of
+# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file
+# provided by doxygen. Whatever the program writes to standard output
+# is used as the file version. See the manual for examples.
FILE_VERSION_FILTER =
-# The LAYOUT_FILE tag can be used to specify a layout file which will
-# be parsed by doxygen. The layout file controls the global structure
-# of the generated output files in an output format independent
-# way. The create the layout file that represents doxygen's defaults,
-# run doxygen with the -l option. You can optionally specify a file
-# name after the option, if omitted DoxygenLayout.xml will be used as
-# the name of the layout file.
+# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed
+# by doxygen. The layout file controls the global structure of the generated
+# output files in an output format independent way. The create the layout file
+# that represents doxygen's defaults, run doxygen with the -l option.
+# You can optionally specify a file name after the option, if omitted
+# DoxygenLayout.xml will be used as the name of the layout file.
LAYOUT_FILE =
@@ -581,162 +577,161 @@ WARN_LOGFILE =
# configuration options related to the input files
#---------------------------------------------------------------------------
-# The INPUT tag can be used to specify the files and/or directories
-# that contain documented source files. You may enter file names like
-# "myfile.cpp" or directories like "/usr/src/myproject". Separate the
-# files or directories with spaces.
+# The INPUT tag can be used to specify the files and/or directories that contain
+# documented source files. You may enter file names like "myfile.cpp" or
+# directories like "/usr/src/myproject". Separate the files or directories
+# with spaces.
INPUT = @srcdir@/doc/doxygen/doxygroups.cc \
- @srcdir@/libsupc++/cxxabi.h \
- @srcdir@/libsupc++/cxxabi-forced.h \
- @srcdir@/libsupc++/exception \
- @srcdir@/libsupc++/exception_ptr.h \
- @srcdir@/libsupc++/initializer_list \
- @srcdir@/libsupc++/nested_exception.h \
- @srcdir@/libsupc++/new \
- @srcdir@/libsupc++/typeinfo \
- include/algorithm \
- include/array \
- include/atomic \
- include/bitset \
- include/chrono \
- include/complex \
- include/condition_variable \
- include/deque \
- include/fstream \
- include/functional \
- include/future \
- include/iomanip \
- include/ios \
- include/iosfwd \
- include/iostream \
- include/istream \
- include/iterator \
- include/limits \
- include/list \
- include/locale \
- include/map \
- include/memory \
- include/mutex \
- include/numeric \
- include/ostream \
- include/queue \
- include/random \
- include/ratio \
- include/regex \
- include/set \
- include/sstream \
- include/stack \
- include/stdexcept \
- include/streambuf \
- include/string \
- include/system_error \
- include/thread \
- include/tuple \
- include/type_traits \
- include/unordered_map \
- include/unordered_set \
- include/utility \
- include/valarray \
- include/vector \
- include/cassert \
- include/ccomplex \
- include/cctype \
- include/cerrno \
- include/cfenv \
- include/cfloat \
- include/cinttypes \
- include/ciso646 \
- include/climits \
- include/clocale \
- include/cmath \
- include/csetjmp \
- include/csignal \
- include/cstdarg \
- include/cstdbool \
- include/cstddef \
- include/cstdint \
- include/cstdio \
- include/cstdlib \
- include/cstring \
- include/ctgmath \
- include/ctime \
- include/cwchar \
- include/cwctype \
- include/backward/hash_map \
- include/backward/hash_set \
- include/backward/strstream \
- include/debug/bitset \
- include/debug/deque \
- include/debug/list \
- include/debug/map \
- include/debug/set \
- include/debug/string \
- include/debug/unordered_map \
- include/debug/unordered_set \
- include/debug/vector \
- include/profile/bitset \
- include/profile/deque \
- include/profile/list \
- include/profile/map \
- include/profile/set \
- include/profile/unordered_map \
- include/profile/unordered_set \
- include/profile/vector \
- include/ext/algorithm \
- include/ext/functional \
- include/ext/iterator \
- include/ext/memory \
- include/ext/numeric \
- include/ext/rb_tree \
- include/ext/rope \
- include/ext/slist \
- include/parallel/algorithm \
- include/parallel/numeric \
- include/tr1/ccomplex \
- include/tr1/cctype \
- include/tr1/cfenv \
- include/tr1/cfloat \
- include/tr1/cinttypes \
- include/tr1/climits \
- include/tr1/cmath \
- include/tr1/complex \
- include/tr1/cstdarg \
- include/tr1/cstdbool \
- include/tr1/cstdint \
- include/tr1/cstdio \
- include/tr1/cstdlib \
- include/tr1/ctgmath \
- include/tr1/ctime \
- include/tr1/cwchar \
- include/tr1/cwctype \
- include/tr1_impl/array \
- include/tr1_impl/cctype \
- include/tr1_impl/cfenv \
- include/tr1_impl/cinttypes \
- include/tr1_impl/cmath \
- include/tr1_impl/complex \
- include/tr1_impl/cstdint \
- include/tr1_impl/cstdio \
- include/tr1_impl/cstdlib \
- include/tr1_impl/cwchar \
- include/tr1_impl/cwctype \
- include/tr1_impl/regex \
- include/tr1_impl/type_traits \
- include/tr1_impl/utility \
- include/tr1_impl \
- include/decimal/decimal \
- include/ \
- include/@host_alias@/bits \
- include/backward \
- include/bits \
- include/debug \
- include/parallel \
- include/profile \
- include/profile/impl \
- include/ext \
- include/ext/pb_ds \
- include/ext/pb_ds/detail
+ @srcdir@/libsupc++/cxxabi.h \
+ @srcdir@/libsupc++/cxxabi-forced.h \
+ @srcdir@/libsupc++/exception \
+ @srcdir@/libsupc++/exception_ptr.h \
+ @srcdir@/libsupc++/initializer_list \
+ @srcdir@/libsupc++/nested_exception.h \
+ @srcdir@/libsupc++/new \
+ @srcdir@/libsupc++/typeinfo \
+ include/algorithm \
+ include/array \
+ include/atomic \
+ include/bitset \
+ include/chrono \
+ include/complex \
+ include/condition_variable \
+ include/deque \
+ include/fstream \
+ include/functional \
+ include/future \
+ include/iomanip \
+ include/ios \
+ include/iosfwd \
+ include/iostream \
+ include/istream \
+ include/iterator \
+ include/limits \
+ include/list \
+ include/locale \
+ include/map \
+ include/memory \
+ include/mutex \
+ include/numeric \
+ include/ostream \
+ include/queue \
+ include/random \
+ include/ratio \
+ include/regex \
+ include/set \
+ include/sstream \
+ include/stack \
+ include/stdexcept \
+ include/streambuf \
+ include/string \
+ include/system_error \
+ include/thread \
+ include/tuple \
+ include/type_traits \
+ include/unordered_map \
+ include/unordered_set \
+ include/utility \
+ include/valarray \
+ include/vector \
+ include/cassert \
+ include/ccomplex \
+ include/cctype \
+ include/cerrno \
+ include/cfenv \
+ include/cfloat \
+ include/cinttypes \
+ include/ciso646 \
+ include/climits \
+ include/clocale \
+ include/cmath \
+ include/csetjmp \
+ include/csignal \
+ include/cstdarg \
+ include/cstdbool \
+ include/cstddef \
+ include/cstdint \
+ include/cstdio \
+ include/cstdlib \
+ include/cstring \
+ include/ctgmath \
+ include/ctime \
+ include/cwchar \
+ include/cwctype \
+ include/backward/hash_map \
+ include/backward/hash_set \
+ include/backward/strstream \
+ include/debug/bitset \
+ include/debug/deque \
+ include/debug/list \
+ include/debug/map \
+ include/debug/set \
+ include/debug/string \
+ include/debug/unordered_map \
+ include/debug/unordered_set \
+ include/debug/vector \
+ include/profile/bitset \
+ include/profile/deque \
+ include/profile/list \
+ include/profile/map \
+ include/profile/set \
+ include/profile/unordered_map \
+ include/profile/unordered_set \
+ include/profile/vector \
+ include/ext/algorithm \
+ include/ext/functional \
+ include/ext/iterator \
+ include/ext/memory \
+ include/ext/numeric \
+ include/ext/rb_tree \
+ include/ext/rope \
+ include/ext/slist \
+ include/parallel/algorithm \
+ include/parallel/numeric \
+ include/tr1/ccomplex \
+ include/tr1/cctype \
+ include/tr1/cfenv \
+ include/tr1/cfloat \
+ include/tr1/cinttypes \
+ include/tr1/climits \
+ include/tr1/cmath \
+ include/tr1/complex \
+ include/tr1/cstdarg \
+ include/tr1/cstdbool \
+ include/tr1/cstdint \
+ include/tr1/cstdio \
+ include/tr1/cstdlib \
+ include/tr1/ctgmath \
+ include/tr1/ctime \
+ include/tr1/cwchar \
+ include/tr1/cwctype \
+ include/tr1_impl/array \
+ include/tr1_impl/cctype \
+ include/tr1_impl/cfenv \
+ include/tr1_impl/cinttypes \
+ include/tr1_impl/cmath \
+ include/tr1_impl/complex \
+ include/tr1_impl/cstdint \
+ include/tr1_impl/cstdio \
+ include/tr1_impl/cstdlib \
+ include/tr1_impl/cwchar \
+ include/tr1_impl/cwctype \
+ include/tr1_impl/type_traits \
+ include/tr1_impl/utility \
+ include/tr1_impl \
+ include/decimal/decimal \
+ include/ \
+ include/@host_alias@/bits \
+ include/backward \
+ include/bits \
+ include/debug \
+ include/parallel \
+ include/profile \
+ include/profile/impl \
+ include/ext \
+ include/ext/pb_ds \
+ include/ext/pb_ds/detail
# This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
@@ -754,8 +749,8 @@ INPUT_ENCODING = UTF-8
# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90
FILE_PATTERNS = *.h \
- *.hpp \
- *.tcc
+ *.hpp \
+ *.tcc
# The RECURSIVE tag can be used to turn specify whether or not subdirectories
# should be searched for input files as well. Possible values are YES and NO.
@@ -782,10 +777,10 @@ EXCLUDE_SYMLINKS = NO
# for example use the pattern */test/*
EXCLUDE_PATTERNS = stamp-* \
- *stdc++.h* \
- *stdtr1c++.h* \
- *extc++.h* \
- */.svn/*
+ *stdc++.h* \
+ *stdtr1c++.h* \
+ *extc++.h* \
+ */.svn/*
# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
# (namespaces, classes, functions, etc.) that should be excluded from the
@@ -961,11 +956,6 @@ HTML_HEADER =
HTML_FOOTER =
-# If the HTML_TIMESTAMP tag is set to YES then the generated HTML
-# documentation will contain the timesstamp.
-
-HTML_TIMESTAMP = NO
-
# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
# style sheet that is used by each HTML page. It can be used to
# fine-tune the look of the HTML output. If the tag is left blank doxygen
@@ -975,6 +965,37 @@ HTML_TIMESTAMP = NO
HTML_STYLESHEET =
+# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output.
+# Doxygen will adjust the colors in the stylesheet and background images
+# according to this color. Hue is specified as an angle on a colorwheel,
+# see http://en.wikipedia.org/wiki/Hue for more information.
+# For instance the value 0 represents red, 60 is yellow, 120 is green,
+# 180 is cyan, 240 is blue, 300 purple, and 360 is red again.
+# The allowed range is 0 to 359.
+
+HTML_COLORSTYLE_HUE = 220
+
+# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of
+# the colors in the HTML output. For a value of 0 the output will use
+# grayscales only. A value of 255 will produce the most vivid colors.
+
+HTML_COLORSTYLE_SAT = 100
+
+# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to
+# the luminance component of the colors in the HTML output. Values below
+# 100 gradually make the output lighter, whereas values above 100 make
+# the output darker. The value divided by 100 is the actual gamma applied,
+# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2,
+# and 100 does not change the gamma.
+
+HTML_COLORSTYLE_GAMMA = 80
+
+# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML
+# page will contain the date and time when the page was generated. Setting
+# this to NO can help when comparing the output of multiple runs.
+
+HTML_TIMESTAMP = NO
+
# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
# files or namespaces will be aligned in HTML using tables. If set to
# NO a bullet list will be used.
@@ -991,14 +1012,14 @@ HTML_DYNAMIC_SECTIONS = NO
# If the GENERATE_DOCSET tag is set to YES, additional index files
# will be generated that can be used as input for Apple's Xcode 3
-# integrated development environment, introduced with OSX 10.5
-# (Leopard). To create a documentation set, doxygen will generate a
-# Makefile in the HTML output directory. Running make will produce the
-# docset in that directory and running "make install" will install the
-# docset in ~/Library/Developer/Shared/Documentation/DocSets so that
-# Xcode will find it at startup. See
-# http://developer.apple.com/tools/creatingdocsetswithdoxygen.html for
-# more information.
+# integrated development environment, introduced with OSX 10.5 (Leopard).
+# To create a documentation set, doxygen will generate a Makefile in the
+# HTML output directory. Running make will produce the docset in that
+# directory and running "make install" will install the docset in
+# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find
+# it at startup.
+# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html
+# for more information.
GENERATE_DOCSET = NO
@@ -1014,7 +1035,18 @@ DOCSET_FEEDNAME = "Doxygen generated docs"
# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen
# will append .docset to the name.
-DOCSET_BUNDLE_ID = org.doxygen.Project
+DOCSET_BUNDLE_ID = org.gnu.libstdc++
+
+# When GENERATE_PUBLISHER_ID tag specifies a string that should
+# uniquely identify the documentation publisher. This should be a
+# reverse domain-name style string,
+# e.g. com.mycompany.MyDocSet.documentation.
+
+DOCSET_PUBLISHER_ID = org.fsf
+
+# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher.
+
+DOCSET_PUBLISHER_NAME = libstdc++
# If the GENERATE_HTMLHELP tag is set to YES, additional index files
# will be generated that can be used as input for tools like the
@@ -1061,10 +1093,9 @@ BINARY_TOC = NO
TOC_EXPAND = NO
# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and
-# QHP_VIRTUAL_FOLDER are set, an additional index file will be
-# generated that can be used as input for Qt's qhelpgenerator to
-# generate a Qt Compressed Help (.qch) of the generated HTML
-# documentation.
+# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated
+# that can be used as input for Qt's qhelpgenerator to generate a
+# Qt Compressed Help (.qch) of the generated HTML documentation.
GENERATE_QHP = NO
@@ -1086,23 +1117,24 @@ QHP_NAMESPACE = org.doxygen.Project
QHP_VIRTUAL_FOLDER = doc
-# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom
-# filter to add. For more information please see
+# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to
+# add. For more information please see
# http://doc.trolltech.com/qthelpproject.html#custom-filters
QHP_CUST_FILTER_NAME =
-# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of
-# the custom filter to add.For more information please see <a
-# href="http://doc.trolltech.com/qthelpproject.html#custom-filters">Qt
-# Help Project / Custom Filters</a>.
+# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the
+# custom filter to add. For more information please see
+# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters">
+# Qt Help Project / Custom Filters</a>.
QHP_CUST_FILTER_ATTRS =
-# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes
-# this project's filter section matches. <a
-# href="http://doc.trolltech.com/qthelpproject.html#filter-attributes">Qt
-# Help Project / Filter Attributes</a>.
+# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this
+# project's
+# filter section matches.
+# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes">
+# Qt Help Project / Filter Attributes</a>.
QHP_SECT_FILTER_ATTRS =
@@ -1113,6 +1145,23 @@ QHP_SECT_FILTER_ATTRS =
QHG_LOCATION =
+# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files
+# will be generated, which together with the HTML files, form an Eclipse help
+# plugin. To install this plugin and make it available under the help contents
+# menu in Eclipse, the contents of the directory containing the HTML and XML
+# files needs to be copied into the plugins directory of eclipse. The name of
+# the directory within the plugins directory should be the same as
+# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before
+# the help appears.
+
+GENERATE_ECLIPSEHELP = NO
+
+# A unique identifier for the eclipse help plugin. When installing the plugin
+# the directory name containing the HTML and XML files should also have
+# this name.
+
+ECLIPSE_DOC_ID = org.doxygen.Project
+
# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
# top of each HTML page. The value NO (the default) enables the index and
# the value YES disables it.
@@ -1145,6 +1194,11 @@ USE_INLINE_TREES = NO
TREEVIEW_WIDTH = 250
+# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open
+# links to external symbols imported via tag files in a separate window.
+
+EXT_LINKS_IN_WINDOW = NO
+
# Use this tag to change the font size of Latex formulas included
# as images in the HTML documentation. The default is 10. Note that
# when you change the font size after a successful doxygen run you need
@@ -1153,15 +1207,34 @@ TREEVIEW_WIDTH = 250
FORMULA_FONTSIZE = 10
-# When the SEARCHENGINE tag is enable doxygen will generate a search
-# box for the HTML output. The underlying search engine uses
-# javascript and DHTML and should work on any modern browser. Note
-# that when using HTML help (GENERATE_HTMLHELP) or Qt help
-# (GENERATE_QHP) there is already a search function so this one should
-# typically be disabled.
+# Use the FORMULA_TRANPARENT tag to determine whether or not the images
+# generated for formulas are transparent PNGs. Transparent PNGs are
+# not supported properly for IE 6.0, but are supported on all modern browsers.
+# Note that when changing this option you need to delete any form_*.png files
+# in the HTML output before the changes have effect.
+
+FORMULA_TRANSPARENT = YES
+
+# When the SEARCHENGINE tag is enabled doxygen will generate a search box
+# for the HTML output. The underlying search engine uses javascript
+# and DHTML and should work on any modern browser. Note that when using
+# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets
+# (GENERATE_DOCSET) there is already a search function so this one should
+# typically be disabled. For large projects the javascript based search engine
+# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution.
SEARCHENGINE = NO
+# When the SERVER_BASED_SEARCH tag is enabled the search engine will be
+# implemented using a PHP enabled web server instead of at the web client
+# using Javascript. Doxygen will generate the search PHP script and index
+# file to put on the web server. The advantage of the server
+# based approach is that it scales better to large projects and allows
+# full text search. The disadvances is that it is more difficult to setup
+# and does not have live searching capabilities.
+
+SERVER_BASED_SEARCH = NO
+
#---------------------------------------------------------------------------
# configuration options related to the LaTeX output
#---------------------------------------------------------------------------
@@ -1179,6 +1252,9 @@ LATEX_OUTPUT = latex
# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
# invoked. If left blank `latex' will be used as the default command name.
+# Note that when enabling USE_PDFLATEX this option is only used for
+# generating bitmaps for formulas in the HTML output, but not in the
+# Makefile that is written to the output directory.
LATEX_CMD_NAME = latex
@@ -1225,11 +1301,10 @@ PDF_HYPERLINKS = YES
USE_PDFLATEX = YES
-# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the
-# \\batchmode. command to the generated LaTeX files. This will
-# instruct LaTeX to keep running if errors occur, instead of asking
-# the user for help. This option is also used when generating
-# formulas in HTML.
+# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
+# command to the generated LaTeX files. This will instruct LaTeX to keep
+# running if errors occur, instead of asking the user for help.
+# This option is also used when generating formulas in HTML.
LATEX_BATCHMODE = YES
@@ -1239,10 +1314,10 @@ LATEX_BATCHMODE = YES
LATEX_HIDE_INDICES = YES
-# If LATEX_SOURCE_CODE is set to YES then doxygen will include source
-# code with syntax highlighting in the LaTeX output. Note that which
-# sources are shown also depends on other settings such as
-# SOURCE_BROWSER.
+# If LATEX_SOURCE_CODE is set to YES then doxygen will include
+# source code with syntax highlighting in the LaTeX output.
+# Note that which sources are shown also depends on other settings
+# such as SOURCE_BROWSER.
LATEX_SOURCE_CODE = NO
@@ -1448,37 +1523,37 @@ INCLUDE_FILE_PATTERNS =
# instead of the = operator.
PREDEFINED = __cplusplus \
- __GTHREADS \
- _GLIBCXX_HAS_GTHREADS \
- __GXX_EXPERIMENTAL_CXX0X__ \
- _GLIBCXX_INCLUDE_AS_CXX0X \
- "_GLIBCXX_STD_P= " \
- "_GLIBCXX_STD_D= " \
- _GLIBCXX_STD=std \
- "_GLIBCXX_TR1= " \
- "_GLIBCXX_BEGIN_NAMESPACE_TR1= " \
- "_GLIBCXX_END_NAMESPACE_TR1= " \
- "_GLIBCXX_BEGIN_NAMESPACE(name)=namespace name { " \
- "_GLIBCXX_BEGIN_NESTED_NAMESPACE(name, unused)=namespace name { " \
- _GLIBCXX_END_NAMESPACE=} \
- _GLIBCXX_END_NESTED_NAMESPACE=} \
- "_GLIBCXX_TEMPLATE_ARGS=... " \
- _GLIBCXX_DEPRECATED \
- _GLIBCXX_USE_WCHAR_T \
- _GLIBCXX_USE_LONG_LONG \
- _GLIBCXX_USE_C99_STDINT_TR1 \
- _GLIBCXX_ATOMIC_BUILTINS_1 \
- _GLIBCXX_ATOMIC_BUILTINS_2 \
- _GLIBCXX_ATOMIC_BUILTINS_4 \
- _GLIBCXX_ATOMIC_BUILTINS_8 \
- _GLIBCXX_USE_SCHED_YIELD \
- _GLIBCXX_USE_NANOSLEEP \
- __GXX_RTTI \
- __glibcxx_function_requires=// \
- __glibcxx_class_requires=// \
- __glibcxx_class_requires2=// \
- __glibcxx_class_requires3=// \
- __glibcxx_class_requires4=//
+ __GTHREADS \
+ _GLIBCXX_HAS_GTHREADS \
+ __GXX_EXPERIMENTAL_CXX0X__ \
+ _GLIBCXX_INCLUDE_AS_CXX0X \
+ "_GLIBCXX_STD_P= " \
+ "_GLIBCXX_STD_D= " \
+ _GLIBCXX_STD=std \
+ "_GLIBCXX_TR1= " \
+ "_GLIBCXX_BEGIN_NAMESPACE_TR1= " \
+ "_GLIBCXX_END_NAMESPACE_TR1= " \
+ "_GLIBCXX_BEGIN_NAMESPACE(name)=namespace name { " \
+ "_GLIBCXX_BEGIN_NESTED_NAMESPACE(name, unused)=namespace name { " \
+ _GLIBCXX_END_NAMESPACE=} \
+ _GLIBCXX_END_NESTED_NAMESPACE=} \
+ "_GLIBCXX_TEMPLATE_ARGS=... " \
+ _GLIBCXX_DEPRECATED \
+ _GLIBCXX_USE_WCHAR_T \
+ _GLIBCXX_USE_LONG_LONG \
+ _GLIBCXX_USE_C99_STDINT_TR1 \
+ _GLIBCXX_ATOMIC_BUILTINS_1 \
+ _GLIBCXX_ATOMIC_BUILTINS_2 \
+ _GLIBCXX_ATOMIC_BUILTINS_4 \
+ _GLIBCXX_ATOMIC_BUILTINS_8 \
+ _GLIBCXX_USE_SCHED_YIELD \
+ _GLIBCXX_USE_NANOSLEEP \
+ __GXX_RTTI \
+ __glibcxx_function_requires=// \
+ __glibcxx_class_requires=// \
+ __glibcxx_class_requires2=// \
+ __glibcxx_class_requires3=// \
+ __glibcxx_class_requires4=//
# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
# this tag can be used to specify a list of macro names that should be expanded.
@@ -1575,6 +1650,14 @@ HIDE_UNDOC_RELATIONS = NO
HAVE_DOT = YES
+# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is
+# allowed to run in parallel. When set to 0 (the default) doxygen will
+# base this on the number of processors available in the system. You can set it
+# explicitly to a value larger than 0 to get control over the balance
+# between CPU load and processing speed.
+
+DOT_NUM_THREADS = 0
+
# By default doxygen will write a font called FreeSans.ttf to the
# output directory and reference it in all dot files that doxygen
# generates. This font does not include all possible unicode
@@ -1590,7 +1673,7 @@ DOT_FONTNAME = FreeSans
# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs.
# The default size is 10pt.
-DOT_FONTSIZE = 10
+DOT_FONTSIZE = 9
# By default doxygen will tell dot to use the output directory to look for the
# FreeSans.ttf font (which doxygen will put there itself). If you specify a
diff --git a/libstdc++-v3/doc/html/api.html b/libstdc++-v3/doc/html/api.html
index 624339674bb..c9aab0adbfa 100644
--- a/libstdc++-v3/doc/html/api.html
+++ b/libstdc++-v3/doc/html/api.html
@@ -7,7 +7,7 @@
<a class="ulink" href="http://www.fsf.org/" target="_top">FSF
</a>
- </p></div><div><div class="legalnotice" title="Legal Notice"><a id="id491737"></a><p>
+ </p></div><div><div class="legalnotice" title="Legal Notice"><a id="id343928"></a><p>
<a class="link" href="manual/license.html" title="License">License
</a>
</p></div></div></div><hr /></div><p>
diff --git a/libstdc++-v3/doc/html/faq.html b/libstdc++-v3/doc/html/faq.html
index 76f318c969d..db71bd0e065 100644
--- a/libstdc++-v3/doc/html/faq.html
+++ b/libstdc++-v3/doc/html/faq.html
@@ -4,7 +4,7 @@
2008
<a class="ulink" href="http://www.fsf.org" target="_top">FSF</a>
- </p></div></div><hr /></div><div class="qandaset" title="Frequently Asked Questions"><a id="id573102"></a><dl><dt>1. <a href="faq.html#faq.info">General Information</a></dt><dd><dl><dt>1.1. <a href="faq.html#faq.what">
+ </p></div></div><hr /></div><div class="qandaset" title="Frequently Asked Questions"><a id="id460433"></a><dl><dt>1. <a href="faq.html#faq.info">General Information</a></dt><dd><dl><dt>1.1. <a href="faq.html#faq.what">
What is libstdc++?
</a></dt><dt>1.2. <a href="faq.html#faq.why">
Why should I use libstdc++?
diff --git a/libstdc++-v3/doc/html/manual/abi.html b/libstdc++-v3/doc/html/manual/abi.html
index 051d83196d2..6aaacb98ccf 100644
--- a/libstdc++-v3/doc/html/manual/abi.html
+++ b/libstdc++-v3/doc/html/manual/abi.html
@@ -5,9 +5,9 @@
</th><td width="20%" align="right"> <a accesskey="n" href="api.html">Next</a></td></tr></table><hr /></div><div class="sect1" title="ABI Policy and Guidelines"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="appendix.porting.abi"></a>ABI Policy and Guidelines</h2></div></div></div><p>
</p><div class="sect2" title="The C++ Interface"><div class="titlepage"><div><div><h3 class="title"><a id="abi.cxx_interface"></a>The C++ Interface</h3></div></div></div><p>
- C++ applications often dependent on specific language support
+ C++ applications often depend on specific language support
routines, say for throwing exceptions, or catching exceptions, and
- perhaps also dependent on features in the C++ Standard Library.
+ perhaps also depend on features in the C++ Standard Library.
</p><p>
The C++ Standard Library has many include files, types defined in
those include files, specific named functions, and other
@@ -65,7 +65,7 @@ as to give distinct versions to the C++ interface.
releases of library binaries the ability to add new symbols and add
functionality, all the while retaining compatibility with the previous
releases in the series. Thus, program binaries linked with the initial
-release of a library binary will still link correctly if the library
+release of a library binary will still run correctly if the library
binary is replaced by carefully-managed subsequent library
binaries. This is called forward compatibility.
</p><p>
@@ -99,7 +99,7 @@ compatible.
is not listed, it has the same version labels as the preceding
release.</p><p>This corresponds to the mapfile: gcc/libgcc-std.ver</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>gcc-3.0.0: GCC_3.0</p></li><li class="listitem"><p>gcc-3.3.0: GCC_3.3</p></li><li class="listitem"><p>gcc-3.3.1: GCC_3.3.1</p></li><li class="listitem"><p>gcc-3.3.2: GCC_3.3.2</p></li><li class="listitem"><p>gcc-3.3.4: GCC_3.3.4</p></li><li class="listitem"><p>gcc-3.4.0: GCC_3.4</p></li><li class="listitem"><p>gcc-3.4.2: GCC_3.4.2</p></li><li class="listitem"><p>gcc-3.4.4: GCC_3.4.4</p></li><li class="listitem"><p>gcc-4.0.0: GCC_4.0.0</p></li><li class="listitem"><p>gcc-4.1.0: GCC_4.1.0</p></li><li class="listitem"><p>gcc-4.2.0: GCC_4.2.0</p></li><li class="listitem"><p>gcc-4.3.0: GCC_4.3.0</p></li><li class="listitem"><p>gcc-4.4.0: GCC_4.4.0</p></li></ul></div></li><li class="listitem"><p>
Release versioning on the libstdc++.so binary, implemented in
- the same was as the libgcc_s.so binary above. Listed is the
+ the same way as the libgcc_s.so binary above. Listed is the
filename: <code class="constant">DT_SONAME</code> can be deduced from
the filename by removing the last two period-delimited numbers. For
example, filename <code class="filename">libstdc++.so.5.0.4</code>
@@ -117,9 +117,9 @@ compatible.
Note 3: This release (but not previous or subsequent) has one
known incompatibility, see <a class="ulink" href="http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33678" target="_top">33678</a>
in the GCC bug database.
- </p></li><li class="listitem"><p>Symbol versioning on the libstdc++.so binary.</p><p>mapfile: libstdc++/config/linker-map.gnu</p><p>It is versioned with the following labels and version
+ </p></li><li class="listitem"><p>Symbol versioning on the libstdc++.so binary.</p><p>mapfile: libstdc++-v3/config/abi/pre/gnu.ver</p><p>It is versioned with the following labels and version
definitions, where the version definition is the maximum for a
- particular release. Note, only symbol which are newly introduced
+ particular release. Note, only symbols which are newly introduced
will use the maximum version definition. Thus, for release series
with the same label, but incremented version definitions, the later
release has both versions. (An example of this would be the
@@ -151,7 +151,7 @@ compatible.
was released, in compressed ISO date format, as an unsigned long.
</p><p>
This macro is defined in the file "c++config" in the
- "libstdc++/include/bits" directory. (Up to gcc-4.1.0, it was
+ "libstdc++-v3/include/bits" directory. (Up to gcc-4.1.0, it was
changed every night by an automated script. Since gcc-4.1.0, it is
the same value as gcc/DATESTAMP.)
</p><p>
@@ -164,7 +164,7 @@ compatible.
is called _GLIBCXX_VERSION).
</p><p>
This macro is defined in the file "c++config" in the
- "libstdc++/include/bits" directory and is generated
+ "libstdc++-v3/include/bits" directory and is generated
automatically by autoconf as part of the configure-time generation
of config.h.
</p><p>
@@ -177,7 +177,7 @@ compatible.
All C++ includes are installed in include/c++, then nest in a
directory hierarchy corresponding to the C++ compiler's released
version. This version corresponds to the variable "gcc_version" in
- "libstdc++/acinclude.m4," and more details can be found in that
+ "libstdc++-v3/acinclude.m4," and more details can be found in that
file's macro GLIBCXX_CONFIGURE (GLIBCPP_CONFIGURE before gcc-3.4.0).
</p><p>
C++ includes are versioned as follows:
@@ -190,7 +190,8 @@ compatible.
</p></div><div class="sect3" title="Prerequisites"><div class="titlepage"><div><div><h4 class="title"><a id="abi.versioning.prereq"></a>Prerequisites</h4></div></div></div><p>
Minimum environment that supports a versioned ABI: A supported
dynamic linker, a GNU linker of sufficient vintage to understand
- demangled C++ name globbing (ld), a shared executable compiled
+ demangled C++ name globbing (ld) or the Sun linker, a shared
+ executable compiled
with g++, and shared libraries (libgcc_s, libstdc++) compiled by
a compiler (g++) with a compatible ABI. Phew.
</p><p>
@@ -200,7 +201,7 @@ compatible.
</p><p>
Most modern Linux and BSD versions, particularly ones using
gcc-3.1.x tools and more recent vintages, will meet the
- requirements above.
+ requirements above, as does Solaris 2.5 and up.
</p></div><div class="sect3" title="Configuring"><div class="titlepage"><div><div><h4 class="title"><a id="abi.versioning.config"></a>Configuring</h4></div></div></div><p>
It turns out that most of the configure options that change
default behavior will impact the mangled names of exported
@@ -208,12 +209,12 @@ compatible.
</p><p>
For more information on configure options, including ABI
impacts, see:
- http://gcc.gnu.org/onlinedocs/libstdc++/configopts.html
+ <a class="link" href="configure.html" title="Configure">here</a>
</p><p>
There is one flag that explicitly deals with symbol versioning:
--enable-symvers.
</p><p>
- In particular, libstdc++/acinclude.m4 has a macro called
+ In particular, libstdc++-v3/acinclude.m4 has a macro called
GLIBCXX_ENABLE_SYMVERS that defaults to yes (or the argument
passed in via --enable-symvers=foo). At that point, the macro
attempts to make sure that all the requirement for symbol
@@ -228,6 +229,7 @@ compatible.
checking versioning on shared library symbols... gnu
</code>
</pre><p>
+ or another of the supported styles.
If you don't see this line in the configure output, or if this line
appears but the last word is 'no', then you are out of luck.
</p><p>
@@ -255,6 +257,17 @@ If you see symbols in the resulting output with "GLIBCXX_3" as part
of the name, then the executable is versioned. Here's an example:
</p><p>
<code class="code">U _ZNSt8ios_base4InitC1Ev@@GLIBCXX_3.4</code>
+</p><p>
+On Solaris 2, you can use <code class="code">pvs -r</code> instead:
+</p><pre class="programlisting">
+%g++ hello.cc -o hello.out
+
+%pvs -r hello.out
+ libstdc++.so.6 (GLIBCXX_3.4, GLIBCXX_3.4.12);
+ libgcc_s.so.1 (GCC_3.0);
+ libc.so.1 (SUNWprivate_1.1, SYSVABI_1.3);
+</pre><p>
+<code class="code">ldd -v</code> works too, but is very verbose.
</p></div></div><div class="sect2" title="Allowed Changes"><div class="titlepage"><div><div><h3 class="title"><a id="abi.changes_allowed"></a>Allowed Changes</h3></div></div></div><p>
The following will cause the library minor version number to
increase, say from "libstdc++.so.3.0.4" to "libstdc++.so.3.0.5".
@@ -274,7 +287,7 @@ number to increase, say from "libstdc++.so.3.0.4" to
</p></li><li class="listitem"><p> Adding an explicit copy constructor or destructor to a
class that would otherwise have implicit versions. This will change
the way the compiler deals with this class in by-value return
-statements or parameters: instead of being passing instances of this
+statements or parameters: instead of passing instances of this
class in registers, the compiler will be forced to use memory. See <a class="ulink" href="http://www.codesourcery.com/cxx-abi/abi.html#calls" target="_top"> this part</a>
of the C++ ABI documentation for further details.
</p></li></ol></div></div><div class="sect2" title="Implementation"><div class="titlepage"><div><div><h3 class="title"><a id="abi.impl"></a>Implementation</h3></div></div></div><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
@@ -358,7 +371,7 @@ http://gcc.gnu.org/ml/gcc/2002-08/msg00142.html
Two.
Use the 'make check-abi' rule in the libstdc++ Makefile.
</p><p>
-This is a proactive check the library ABI. Currently, exported symbol
+This is a proactive check of the library ABI. Currently, exported symbol
names that are either weak or defined are checked against a last known
good baseline. Currently, this baseline is keyed off of 3.4.0
binaries, as this was the last time the .so number was incremented. In
@@ -387,13 +400,13 @@ Another approach might be to use the -fdump-class-hierarchy flag to
get information. However, currently this approach gives insufficient
data for use in library testing, as class data members, their offsets,
and other detailed data is not displayed with this flag.
-(See g++/7470 on how this was used to find bugs.)
+(See PR g++/7470 on how this was used to find bugs.)
</p><p>
Perhaps there are other C++ ABI checkers. If so, please notify
us. We'd like to know about them!
</p></div><div class="sect3" title="Multiple ABI Testing"><div class="titlepage"><div><div><h4 class="title"><a id="abi.testing.multi"></a>Multiple ABI Testing</h4></div></div></div><p>
A "C" application, dynamically linked to two shared libraries, liba,
-libb. The dependent library liba is C++ shared library compiled with
+libb. The dependent library liba is a C++ shared library compiled with
gcc-3.3.x, and uses io, exceptions, locale, etc. The dependent library
libb is a C++ shared library compiled with gcc-3.4.x, and also uses io,
exceptions, locale, etc.
@@ -467,49 +480,49 @@ gcc test.c -g -O2 -L. -lone -ltwo /usr/lib/libstdc++.so.5 /usr/lib/libstdc++.so.
<a class="ulink" href="http://gcc.gnu.org/PR24660" target="_top">24660: versioning weak symbols in libstdc++</a>
</p><p>
<a class="ulink" href="http://gcc.gnu.org/PR19664" target="_top">19664: libstdc++ headers should have pop/push of the visibility around the declarations</a>
-</p></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h3 class="title"><a id="abi.biblio"></a>Bibliography</h3></div></div></div><div class="biblioentry"><a id="id528502"></a><p><span class="biblioid">
+</p></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h3 class="title"><a id="abi.biblio"></a>Bibliography</h3></div></div></div><div class="biblioentry"><a id="id396917"></a><p><span class="biblioid">
<a class="ulink" href="http://abicheck.sourceforge.net/" target="_top">
<em class="citetitle">
ABIcheck, a vague idea of checking ABI compatibility
</em>
</a>
- . </span></p></div><div class="biblioentry"><a id="id528522"></a><p><span class="biblioid">
+ . </span></p></div><div class="biblioentry"><a id="id396937"></a><p><span class="biblioid">
<a class="ulink" href="http://www.codesourcery.com/public/cxx-abi/" target="_top">
<em class="citetitle">
C++ ABI Reference
</em>
</a>
- . </span></p></div><div class="biblioentry"><a id="id528541"></a><p><span class="biblioid">
+ . </span></p></div><div class="biblioentry"><a id="id396956"></a><p><span class="biblioid">
<a class="ulink" href="http://www.intel.com/cd/software/products/asmo-na/eng/284736.htm" target="_top">
<em class="citetitle">
Intel Compilers for Linux Compatibility with the GNU Compilers
</em>
</a>
- . </span></p></div><div class="biblioentry"><a id="id528561"></a><p><span class="biblioid">
- <a class="ulink" href="http://docs.sun.com/app/docs/doc/817-1984" target="_top">
+ . </span></p></div><div class="biblioentry"><a id="id396976"></a><p><span class="biblioid">
+ <a class="ulink" href="http://docs.sun.com/app/docs/doc/819-0690" target="_top">
<em class="citetitle">
- Sun Solaris 2.9 : Linker and Libraries Guide (document 816-1386)
+ Linker and Libraries Guide (document 819-0690)
</em>
</a>
- . </span></p></div><div class="biblioentry"><a id="id528581"></a><p><span class="biblioid">
- <a class="ulink" href="http://docs.sun.com/app/docs/doc/819-5266" target="_top">
+ . </span></p></div><div class="biblioentry"><a id="id396995"></a><p><span class="biblioid">
+ <a class="ulink" href="http://docs.sun.com/app/docs/doc/819-3689" target="_top">
<em class="citetitle">
- Sun Solaris 2.9 : C++ Migration Guide (document 816-2459)
+ Sun Studio 11: C++ Migration Guide (document 819-3689)
</em>
</a>
- . </span></p></div><div class="biblioentry"><a id="id528600"></a><p><span class="biblioid">
+ . </span></p></div><div class="biblioentry"><a id="id397015"></a><p><span class="biblioid">
<a class="ulink" href="http://people.redhat.com/drepper/dsohowto.pdf" target="_top">
<em class="citetitle">
How to Write Shared Libraries
</em>
</a>
- . </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span></p></div><div class="biblioentry"><a id="id528631"></a><p><span class="biblioid">
+ . </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span></p></div><div class="biblioentry"><a id="id397046"></a><p><span class="biblioid">
<a class="ulink" href="http://www.arm.com/miscPDFs/8033.pdf" target="_top">
<em class="citetitle">
C++ ABI for the ARM Architecture
</em>
</a>
- . </span></p></div><div class="biblioentry"><a id="id528651"></a><p><span class="biblioid">
+ . </span></p></div><div class="biblioentry"><a id="id397065"></a><p><span class="biblioid">
<a class="ulink" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1976.html" target="_top">
<em class="citetitle">
Dynamic Shared Objects: Survey and Issues
@@ -517,7 +530,7 @@ gcc test.c -g -O2 -L. -lone -ltwo /usr/lib/libstdc++.so.5 /usr/lib/libstdc++.so.
</a>
. </span><span class="subtitle">
ISO C++ J16/06-0046
- . </span><span class="author"><span class="firstname">Benjamin</span> <span class="surname">Kosnik</span>. </span></p></div><div class="biblioentry"><a id="id528685"></a><p><span class="biblioid">
+ . </span><span class="author"><span class="firstname">Benjamin</span> <span class="surname">Kosnik</span>. </span></p></div><div class="biblioentry"><a id="id397100"></a><p><span class="biblioid">
<a class="ulink" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2013.html" target="_top">
<em class="citetitle">
Versioning With Namespaces
@@ -525,7 +538,7 @@ gcc test.c -g -O2 -L. -lone -ltwo /usr/lib/libstdc++.so.5 /usr/lib/libstdc++.so.
</a>
. </span><span class="subtitle">
ISO C++ J16/06-0083
- . </span><span class="author"><span class="firstname">Benjamin</span> <span class="surname">Kosnik</span>. </span></p></div><div class="biblioentry"><a id="id639657"></a><p><span class="biblioid">
+ . </span><span class="author"><span class="firstname">Benjamin</span> <span class="surname">Kosnik</span>. </span></p></div><div class="biblioentry"><a id="id397135"></a><p><span class="biblioid">
<a class="ulink" href="http://syrcose.ispras.ru/2009/files/SYRCoSE2009-CfP.pdf" target="_top">
<em class="citetitle">
Binary Compatibility of Shared Libraries Implemented in C++
diff --git a/libstdc++-v3/doc/html/manual/algorithms.html b/libstdc++-v3/doc/html/manual/algorithms.html
index 0ef261f85c9..d72518a6d70 100644
--- a/libstdc++-v3/doc/html/manual/algorithms.html
+++ b/libstdc++-v3/doc/html/manual/algorithms.html
@@ -7,7 +7,7 @@
Standard Contents
</th><td width="20%" align="right"> <a accesskey="n" href="numerics.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 11.  Algorithms"><div class="titlepage"><div><div><h2 class="title"><a id="std.algorithms"></a>Chapter 11. 
Algorithms
- <a id="id539624" class="indexterm"></a>
+ <a id="id511298" class="indexterm"></a>
</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="algorithms.html#std.algorithms.mutating">Mutating</a></span></dt><dd><dl><dt><span class="sect2"><a href="algorithms.html#algorithms.mutating.swap"><code class="function">swap</code></a></span></dt></dl></dd></dl></div><p>
The neatest accomplishment of the algorithms sect1 is that all the
work is done via iterators, not containers directly. This means two
diff --git a/libstdc++-v3/doc/html/manual/api.html b/libstdc++-v3/doc/html/manual/api.html
index 45b2b378b24..d53fa3ebb65 100644
--- a/libstdc++-v3/doc/html/manual/api.html
+++ b/libstdc++-v3/doc/html/manual/api.html
@@ -75,11 +75,11 @@ _Alloc_traits</code> have been removed.
<span class="type">__alloc</span> to select an underlying allocator that
satisfied memory allocation requests. The selection of this
underlying allocator was not user-configurable.
- </p><div class="table"><a id="id659684"></a><p class="title"><b>Table B.1. Extension Allocators</b></p><div class="table-contents"><table summary="Extension Allocators" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left">Allocator (3.4)</th><th align="left">Header (3.4)</th><th align="left">Allocator (3.[0-3])</th><th align="left">Header (3.[0-3])</th></tr></thead><tbody><tr><td align="left"><code class="classname">__gnu_cxx::new_allocator&lt;T&gt;</code></td><td align="left"><code class="filename">ext/new_allocator.h</code></td><td align="left"><code class="classname">std::__new_alloc</code></td><td align="left"><code class="filename">memory</code></td></tr><tr><td align="left"><code class="classname">__gnu_cxx::malloc_allocator&lt;T&gt;</code></td><td align="left"><code class="filename">ext/malloc_allocator.h</code></td><td align="left"><code class="classname">std::__malloc_alloc_template&lt;int&gt;</code></td><td align="left"><code class="filename">memory</code></td></tr><tr><td align="left"><code class="classname">__gnu_cxx::debug_allocator&lt;T&gt;</code></td><td align="left"><code class="filename">ext/debug_allocator.h</code></td><td align="left"><code class="classname">std::debug_alloc&lt;T&gt;</code></td><td align="left"><code class="filename">memory</code></td></tr><tr><td align="left"><code class="classname">__gnu_cxx::__pool_alloc&lt;T&gt;</code></td><td align="left"><code class="filename">ext/pool_allocator.h</code></td><td align="left"><code class="classname">std::__default_alloc_template&lt;bool,int&gt;</code></td><td align="left"><code class="filename">memory</code></td></tr><tr><td align="left"><code class="classname">__gnu_cxx::__mt_alloc&lt;T&gt;</code></td><td align="left"><code class="filename">ext/mt_allocator.h</code></td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left"><code class="classname">__gnu_cxx::bitmap_allocator&lt;T&gt;</code></td><td align="left"><code class="filename">ext/bitmap_allocator.h</code></td><td align="left"> </td><td align="left"> </td></tr></tbody></table></div></div><br class="table-break" /><p> Releases after gcc-3.4 have continued to add to the collection
+ </p><div class="table"><a id="id510444"></a><p class="title"><b>Table B.1. Extension Allocators</b></p><div class="table-contents"><table summary="Extension Allocators" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left">Allocator (3.4)</th><th align="left">Header (3.4)</th><th align="left">Allocator (3.[0-3])</th><th align="left">Header (3.[0-3])</th></tr></thead><tbody><tr><td align="left"><code class="classname">__gnu_cxx::new_allocator&lt;T&gt;</code></td><td align="left"><code class="filename">ext/new_allocator.h</code></td><td align="left"><code class="classname">std::__new_alloc</code></td><td align="left"><code class="filename">memory</code></td></tr><tr><td align="left"><code class="classname">__gnu_cxx::malloc_allocator&lt;T&gt;</code></td><td align="left"><code class="filename">ext/malloc_allocator.h</code></td><td align="left"><code class="classname">std::__malloc_alloc_template&lt;int&gt;</code></td><td align="left"><code class="filename">memory</code></td></tr><tr><td align="left"><code class="classname">__gnu_cxx::debug_allocator&lt;T&gt;</code></td><td align="left"><code class="filename">ext/debug_allocator.h</code></td><td align="left"><code class="classname">std::debug_alloc&lt;T&gt;</code></td><td align="left"><code class="filename">memory</code></td></tr><tr><td align="left"><code class="classname">__gnu_cxx::__pool_alloc&lt;T&gt;</code></td><td align="left"><code class="filename">ext/pool_allocator.h</code></td><td align="left"><code class="classname">std::__default_alloc_template&lt;bool,int&gt;</code></td><td align="left"><code class="filename">memory</code></td></tr><tr><td align="left"><code class="classname">__gnu_cxx::__mt_alloc&lt;T&gt;</code></td><td align="left"><code class="filename">ext/mt_allocator.h</code></td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left"><code class="classname">__gnu_cxx::bitmap_allocator&lt;T&gt;</code></td><td align="left"><code class="filename">ext/bitmap_allocator.h</code></td><td align="left"> </td><td align="left"> </td></tr></tbody></table></div></div><br class="table-break" /><p> Releases after gcc-3.4 have continued to add to the collection
of available allocators. All of these new allocators are
standard-style. The following table includes details, along with
the first released version of GCC that included the extension allocator.
- </p><div class="table"><a id="id651845"></a><p class="title"><b>Table B.2. Extension Allocators Continued</b></p><div class="table-contents"><table summary="Extension Allocators Continued" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left">Allocator</th><th align="left">Include</th><th align="left">Version</th></tr></thead><tbody><tr><td align="left"><code class="classname">__gnu_cxx::array_allocator&lt;T&gt;</code></td><td align="left"><code class="filename">ext/array_allocator.h</code></td><td align="left">4.0.0</td></tr><tr><td align="left"><code class="classname">__gnu_cxx::throw_allocator&lt;T&gt;</code></td><td align="left"><code class="filename">ext/throw_allocator.h</code></td><td align="left">4.2.0</td></tr></tbody></table></div></div><br class="table-break" /><p>
+ </p><div class="table"><a id="id396448"></a><p class="title"><b>Table B.2. Extension Allocators Continued</b></p><div class="table-contents"><table summary="Extension Allocators Continued" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left">Allocator</th><th align="left">Include</th><th align="left">Version</th></tr></thead><tbody><tr><td align="left"><code class="classname">__gnu_cxx::array_allocator&lt;T&gt;</code></td><td align="left"><code class="filename">ext/array_allocator.h</code></td><td align="left">4.0.0</td></tr><tr><td align="left"><code class="classname">__gnu_cxx::throw_allocator&lt;T&gt;</code></td><td align="left"><code class="filename">ext/throw_allocator.h</code></td><td align="left">4.2.0</td></tr></tbody></table></div></div><br class="table-break" /><p>
Debug mode first appears.
</p><p>
Precompiled header support <acronym class="acronym">PCH</acronym> support.
diff --git a/libstdc++-v3/doc/html/manual/appendix_contributing.html b/libstdc++-v3/doc/html/manual/appendix_contributing.html
index 1864b97d84c..fff5258f25a 100644
--- a/libstdc++-v3/doc/html/manual/appendix_contributing.html
+++ b/libstdc++-v3/doc/html/manual/appendix_contributing.html
@@ -7,7 +7,7 @@
Appendices
</th><td width="20%" align="right"> <a accesskey="n" href="source_organization.html">Next</a></td></tr></table><hr /></div><div class="appendix" title="Appendix A.  Contributing"><div class="titlepage"><div><div><h2 class="title"><a id="appendix.contrib"></a>Appendix A. 
Contributing
- <a id="id572634" class="indexterm"></a>
+ <a id="id431932" class="indexterm"></a>
</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="appendix_contributing.html#contrib.list">Contributor Checklist</a></span></dt><dd><dl><dt><span class="sect2"><a href="appendix_contributing.html#list.reading">Reading</a></span></dt><dt><span class="sect2"><a href="appendix_contributing.html#list.copyright">Assignment</a></span></dt><dt><span class="sect2"><a href="appendix_contributing.html#list.getting">Getting Sources</a></span></dt><dt><span class="sect2"><a href="appendix_contributing.html#list.patches">Submitting Patches</a></span></dt></dl></dd><dt><span class="sect1"><a href="source_organization.html">Directory Layout and Source Conventions</a></span></dt><dt><span class="sect1"><a href="source_code_style.html">Coding Style</a></span></dt><dd><dl><dt><span class="sect2"><a href="source_code_style.html#coding_style.bad_identifiers">Bad Identifiers</a></span></dt><dt><span class="sect2"><a href="source_code_style.html#coding_style.example">By Example</a></span></dt></dl></dd><dt><span class="sect1"><a href="documentation_style.html">Documentation Style</a></span></dt><dd><dl><dt><span class="sect2"><a href="documentation_style.html#doc_style.doxygen">Doxygen</a></span></dt><dt><span class="sect2"><a href="documentation_style.html#doc_style.docbook">Docbook</a></span></dt><dt><span class="sect2"><a href="documentation_style.html#doc_style.combines">Combines</a></span></dt></dl></dd><dt><span class="sect1"><a href="source_design_notes.html">Design Notes</a></span></dt></dl></div><p>
The GNU C++ Library follows an open development model. Active
contributors are assigned maintainer-ship responsibility, and given
diff --git a/libstdc++-v3/doc/html/manual/appendix_free.html b/libstdc++-v3/doc/html/manual/appendix_free.html
index 15db4da3b0d..847d386aacb 100644
--- a/libstdc++-v3/doc/html/manual/appendix_free.html
+++ b/libstdc++-v3/doc/html/manual/appendix_free.html
@@ -7,7 +7,7 @@
Appendices
</th><td width="20%" align="right"> <a accesskey="n" href="appendix_gpl.html">Next</a></td></tr></table><hr /></div><div class="appendix" title="Appendix C.  Free Software Needs Free Documentation"><div class="titlepage"><div><div><h2 class="title"><a id="appendix.free"></a>Appendix C. 
Free Software Needs Free Documentation
- <a id="id536958" class="indexterm"></a>
+ <a id="id381354" class="indexterm"></a>
</h2></div></div></div><p>
The biggest deficiency in free operating systems is not in the
software--it is the lack of good free manuals that we can include in
diff --git a/libstdc++-v3/doc/html/manual/appendix_gpl.html b/libstdc++-v3/doc/html/manual/appendix_gpl.html
index e2258ccf2d3..9e5814957d8 100644
--- a/libstdc++-v3/doc/html/manual/appendix_gpl.html
+++ b/libstdc++-v3/doc/html/manual/appendix_gpl.html
@@ -78,7 +78,7 @@
</p><p>
The precise terms and conditions for copying, distribution and modification
follow.
- </p><h2><a id="id537276"></a>
+ </p><h2><a id="id487484"></a>
TERMS AND CONDITIONS
</h2><h2><a id="gpl-3-definitions"></a>
0. Definitions.
@@ -619,7 +619,7 @@
waiver of all civil liability in connection with the Program, unless a
warranty or assumption of liability accompanies a copy of the Program in
return for a fee.
- </p><h2><a id="id566887"></a>
+ </p><h2><a id="id378663"></a>
END OF TERMS AND CONDITIONS
</h2><h2><a id="HowToApply"></a>
How to Apply These Terms to Your New Programs
diff --git a/libstdc++-v3/doc/html/manual/appendix_porting.html b/libstdc++-v3/doc/html/manual/appendix_porting.html
index 9a3e94b7ace..d53ccecf751 100644
--- a/libstdc++-v3/doc/html/manual/appendix_porting.html
+++ b/libstdc++-v3/doc/html/manual/appendix_porting.html
@@ -7,7 +7,7 @@
Appendices
</th><td width="20%" align="right"> <a accesskey="n" href="internals.html">Next</a></td></tr></table><hr /></div><div class="appendix" title="Appendix B.  Porting and Maintenance"><div class="titlepage"><div><div><h2 class="title"><a id="appendix.porting"></a>Appendix B. 
Porting and Maintenance
- <a id="id549164" class="indexterm"></a>
+ <a id="id487054" class="indexterm"></a>
</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="appendix_porting.html#appendix.porting.build_hacking">Configure and Build Hacking</a></span></dt><dd><dl><dt><span class="sect2"><a href="appendix_porting.html#build_hacking.prereq">Prerequisites</a></span></dt><dt><span class="sect2"><a href="appendix_porting.html#build_hacking.map">Overview: What Comes from Where</a></span></dt><dt><span class="sect2"><a href="appendix_porting.html#build_hacking.scripts">Storing Information in non-AC files (like configure.host)</a></span></dt><dt><span class="sect2"><a href="appendix_porting.html#build_hacking.conventions">Coding and Commenting Conventions</a></span></dt><dt><span class="sect2"><a href="appendix_porting.html#build_hacking.acinclude">The acinclude.m4 layout</a></span></dt><dt><span class="sect2"><a href="appendix_porting.html#build_hacking.enable"><code class="constant">GLIBCXX_ENABLE</code>, the <code class="literal">--enable</code> maker</a></span></dt></dl></dd><dt><span class="sect1"><a href="internals.html">Porting to New Hardware or Operating Systems</a></span></dt><dd><dl><dt><span class="sect2"><a href="internals.html#internals.os">Operating System</a></span></dt><dt><span class="sect2"><a href="internals.html#internals.cpu">CPU</a></span></dt><dt><span class="sect2"><a href="internals.html#internals.char_types">Character Types</a></span></dt><dt><span class="sect2"><a href="internals.html#internals.thread_safety">Thread Safety</a></span></dt><dt><span class="sect2"><a href="internals.html#internals.numeric_limits">Numeric Limits</a></span></dt><dt><span class="sect2"><a href="internals.html#internals.libtool">Libtool</a></span></dt></dl></dd><dt><span class="sect1"><a href="test.html">Test</a></span></dt><dd><dl><dt><span class="sect2"><a href="test.html#test.organization">Organization</a></span></dt><dt><span class="sect2"><a href="test.html#test.run">Running the Testsuite</a></span></dt><dt><span class="sect2"><a href="test.html#test.new_tests">Writing a new test case</a></span></dt><dt><span class="sect2"><a href="test.html#test.harness">Test Harness and Utilities</a></span></dt><dt><span class="sect2"><a href="test.html#test.special">Special Topics</a></span></dt></dl></dd><dt><span class="sect1"><a href="abi.html">ABI Policy and Guidelines</a></span></dt><dd><dl><dt><span class="sect2"><a href="abi.html#abi.cxx_interface">The C++ Interface</a></span></dt><dt><span class="sect2"><a href="abi.html#abi.versioning">Versioning</a></span></dt><dt><span class="sect2"><a href="abi.html#abi.changes_allowed">Allowed Changes</a></span></dt><dt><span class="sect2"><a href="abi.html#abi.changes_no">Prohibited Changes</a></span></dt><dt><span class="sect2"><a href="abi.html#abi.impl">Implementation</a></span></dt><dt><span class="sect2"><a href="abi.html#abi.testing">Testing</a></span></dt><dt><span class="sect2"><a href="abi.html#abi.issues">Outstanding Issues</a></span></dt></dl></dd><dt><span class="sect1"><a href="api.html">API Evolution and Deprecation History</a></span></dt><dd><dl><dt><span class="sect2"><a href="api.html#api.rel_300"><code class="constant">3.0</code></a></span></dt><dt><span class="sect2"><a href="api.html#api.rel_310"><code class="constant">3.1</code></a></span></dt><dt><span class="sect2"><a href="api.html#api.rel_320"><code class="constant">3.2</code></a></span></dt><dt><span class="sect2"><a href="api.html#api.rel_330"><code class="constant">3.3</code></a></span></dt><dt><span class="sect2"><a href="api.html#api.rel_340"><code class="constant">3.4</code></a></span></dt><dt><span class="sect2"><a href="api.html#api.rel_400"><code class="constant">4.0</code></a></span></dt><dt><span class="sect2"><a href="api.html#api.rel_410"><code class="constant">4.1</code></a></span></dt><dt><span class="sect2"><a href="api.html#api.rel_420"><code class="constant">4.2</code></a></span></dt><dt><span class="sect2"><a href="api.html#api.rel_430"><code class="constant">4.3</code></a></span></dt><dt><span class="sect2"><a href="api.html#api.rel_440"><code class="constant">4.4</code></a></span></dt><dt><span class="sect2"><a href="api.html#api.rel_450"><code class="constant">4.5</code></a></span></dt></dl></dd><dt><span class="sect1"><a href="backwards.html">Backwards Compatibility</a></span></dt><dd><dl><dt><span class="sect2"><a href="backwards.html#backwards.first">First</a></span></dt><dt><span class="sect2"><a href="backwards.html#backwards.second">Second</a></span></dt><dt><span class="sect2"><a href="backwards.html#backwards.third">Third</a></span></dt></dl></dd></dl></div><div class="sect1" title="Configure and Build Hacking"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="appendix.porting.build_hacking"></a>Configure and Build Hacking</h2></div></div></div><div class="sect2" title="Prerequisites"><div class="titlepage"><div><div><h3 class="title"><a id="build_hacking.prereq"></a>Prerequisites</h3></div></div></div><p>
As noted <a class="ulink" href="http://gcc.gnu.org/install/prerequisites.html" target="_top">previously</a>,
certain other tools are necessary for hacking on files that
diff --git a/libstdc++-v3/doc/html/manual/atomics.html b/libstdc++-v3/doc/html/manual/atomics.html
index 317d66fce72..31158a46c57 100644
--- a/libstdc++-v3/doc/html/manual/atomics.html
+++ b/libstdc++-v3/doc/html/manual/atomics.html
@@ -7,7 +7,7 @@
Standard Contents
</th><td width="20%" align="right"> <a accesskey="n" href="concurrency.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 14.  Atomics"><div class="titlepage"><div><div><h2 class="title"><a id="std.atomics"></a>Chapter 14. 
Atomics
- <a id="id601538" class="indexterm"></a>
+ <a id="id379773" class="indexterm"></a>
</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="atomics.html#std.atomics.api">API Reference</a></span></dt></dl></div><p>
Facilities for atomic operations.
</p><div class="sect1" title="API Reference"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.atomics.api"></a>API Reference</h2></div></div></div><p>
diff --git a/libstdc++-v3/doc/html/manual/backwards.html b/libstdc++-v3/doc/html/manual/backwards.html
index 02517c6cd94..27f3ccb783d 100644
--- a/libstdc++-v3/doc/html/manual/backwards.html
+++ b/libstdc++-v3/doc/html/manual/backwards.html
@@ -17,8 +17,8 @@ ISO Standard (e.g., statistical analysis). While there are a lot of
really useful things that are used by a lot of people, the Standards
Committee couldn't include everything, and so a lot of those
<span class="quote">“<span class="quote">obvious</span>”</span> classes didn't get included.
-</p><p>Known Issues include many of the limitations of its immediate ancestor.</p><p>Portability notes and known implementation limitations are as follows.</p><div class="sect3" title="No ios_base"><div class="titlepage"><div><div><h4 class="title"><a id="id591781"></a>No <code class="code">ios_base</code></h4></div></div></div><p> At least some older implementations don't have <code class="code">std::ios_base</code>, so you should use <code class="code">std::ios::badbit</code>, <code class="code">std::ios::failbit</code> and <code class="code">std::ios::eofbit</code> and <code class="code">std::ios::goodbit</code>.
-</p></div><div class="sect3" title="No cout in ostream.h, no cin in istream.h"><div class="titlepage"><div><div><h4 class="title"><a id="id591813"></a>No <code class="code">cout</code> in <code class="code">ostream.h</code>, no <code class="code">cin</code> in <code class="code">istream.h</code></h4></div></div></div><p>
+</p><p>Known Issues include many of the limitations of its immediate ancestor.</p><p>Portability notes and known implementation limitations are as follows.</p><div class="sect3" title="No ios_base"><div class="titlepage"><div><div><h4 class="title"><a id="id509028"></a>No <code class="code">ios_base</code></h4></div></div></div><p> At least some older implementations don't have <code class="code">std::ios_base</code>, so you should use <code class="code">std::ios::badbit</code>, <code class="code">std::ios::failbit</code> and <code class="code">std::ios::eofbit</code> and <code class="code">std::ios::goodbit</code>.
+</p></div><div class="sect3" title="No cout in ostream.h, no cin in istream.h"><div class="titlepage"><div><div><h4 class="title"><a id="id509060"></a>No <code class="code">cout</code> in <code class="code">ostream.h</code>, no <code class="code">cin</code> in <code class="code">istream.h</code></h4></div></div></div><p>
In earlier versions of the standard,
<code class="filename">fstream.h</code>,
<code class="filename">ostream.h</code>
@@ -44,7 +44,7 @@ considered replaced and rewritten.
archived. The code is considered replaced and rewritten.
</p><p>
Portability notes and known implementation limitations are as follows.
-</p><div class="sect3" title="Namespace std:: not supported"><div class="titlepage"><div><div><h4 class="title"><a id="id659770"></a>Namespace <code class="code">std::</code> not supported</h4></div></div></div><p>
+</p><div class="sect3" title="Namespace std:: not supported"><div class="titlepage"><div><div><h4 class="title"><a id="id509158"></a>Namespace <code class="code">std::</code> not supported</h4></div></div></div><p>
Some care is required to support C++ compiler and or library
implementation that do not have the standard library in
<code class="code">namespace std</code>.
@@ -108,7 +108,7 @@ AC_DEFUN([AC_CXX_NAMESPACE_STD], [
AC_DEFINE(HAVE_NAMESPACE_STD,,[Define if g++ supports namespace std. ])
fi
])
-</pre></div><div class="sect3" title="Illegal iterator usage"><div class="titlepage"><div><div><h4 class="title"><a id="id659892"></a>Illegal iterator usage</h4></div></div></div><p>
+</pre></div><div class="sect3" title="Illegal iterator usage"><div class="titlepage"><div><div><h4 class="title"><a id="id509280"></a>Illegal iterator usage</h4></div></div></div><p>
The following illustrate implementation-allowed illegal iterator
use, and then correct use.
</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
@@ -121,7 +121,7 @@ AC_DEFUN([AC_CXX_NAMESPACE_STD], [
</p></li><li class="listitem"><p>
<code class="code">if (iterator)</code> won't work any more =&gt; use
<code class="code">if (iterator != iterator_type())</code>
- </p></li></ul></div></div><div class="sect3" title="isspace from cctype is a macro"><div class="titlepage"><div><div><h4 class="title"><a id="id659954"></a><code class="code">isspace</code> from <code class="filename">cctype</code> is a macro
+ </p></li></ul></div></div><div class="sect3" title="isspace from cctype is a macro"><div class="titlepage"><div><div><h4 class="title"><a id="id509341"></a><code class="code">isspace</code> from <code class="filename">cctype</code> is a macro
</h4></div></div></div><p>
Glibc 2.0.x and 2.1.x define <code class="filename">ctype.h</code> functionality as macros
(isspace, isalpha etc.).
@@ -154,7 +154,7 @@ std:: (__ctype_b[(int) ( ( 'X' ) )] &amp; (unsigned short int) _ISspace ) ;
(<code class="filename">ctype.h</code>) and the
definitions in namespace <code class="code">std::</code>
(<code class="code">&lt;cctype&gt;</code>).
-</p></div><div class="sect3" title="No vector::at, deque::at, string::at"><div class="titlepage"><div><div><h4 class="title"><a id="id660047"></a>No <code class="code">vector::at</code>, <code class="code">deque::at</code>, <code class="code">string::at</code></h4></div></div></div><p>
+</p></div><div class="sect3" title="No vector::at, deque::at, string::at"><div class="titlepage"><div><div><h4 class="title"><a id="id509434"></a>No <code class="code">vector::at</code>, <code class="code">deque::at</code>, <code class="code">string::at</code></h4></div></div></div><p>
One solution is to add an autoconf-test for this:
</p><pre class="programlisting">
AC_MSG_CHECKING(for container::at)
@@ -180,7 +180,7 @@ AC_DEFINE(HAVE_CONTAINER_AT)],
</pre><p>
If you are using other (non-GNU) compilers it might be a good idea
to check for <code class="code">string::at</code> separately.
-</p></div><div class="sect3" title="No std::char_traits&lt;char&gt;::eof"><div class="titlepage"><div><div><h4 class="title"><a id="id660085"></a>No <code class="code">std::char_traits&lt;char&gt;::eof</code></h4></div></div></div><p>
+</p></div><div class="sect3" title="No std::char_traits&lt;char&gt;::eof"><div class="titlepage"><div><div><h4 class="title"><a id="id509472"></a>No <code class="code">std::char_traits&lt;char&gt;::eof</code></h4></div></div></div><p>
Use some kind of autoconf test, plus this:
</p><pre class="programlisting">
#ifdef HAVE_CHAR_TRAITS
@@ -188,7 +188,7 @@ AC_DEFINE(HAVE_CONTAINER_AT)],
#else
#define CPP_EOF EOF
#endif
-</pre></div><div class="sect3" title="No string::clear"><div class="titlepage"><div><div><h4 class="title"><a id="id660103"></a>No <code class="code">string::clear</code></h4></div></div></div><p>
+</pre></div><div class="sect3" title="No string::clear"><div class="titlepage"><div><div><h4 class="title"><a id="id509490"></a>No <code class="code">string::clear</code></h4></div></div></div><p>
There are two functions for deleting the contents of a string:
<code class="code">clear</code> and <code class="code">erase</code> (the latter returns the
string).
@@ -206,12 +206,12 @@ erase(size_type __pos = 0, size_type __n = npos)
Unfortunately, <code class="code">clear</code> is not implemented in this
version, so you should use <code class="code">erase</code> (which is probably
faster than <code class="code">operator=(charT*)</code>).
-</p></div><div class="sect3" title="Removal of ostream::form and istream::scan extensions"><div class="titlepage"><div><div><h4 class="title"><a id="id660148"></a>
+</p></div><div class="sect3" title="Removal of ostream::form and istream::scan extensions"><div class="titlepage"><div><div><h4 class="title"><a id="id384734"></a>
Removal of <code class="code">ostream::form</code> and <code class="code">istream::scan</code>
extensions
</h4></div></div></div><p>
These are no longer supported. Please use stringstreams instead.
-</p></div><div class="sect3" title="No basic_stringbuf, basic_stringstream"><div class="titlepage"><div><div><h4 class="title"><a id="id590365"></a>No <code class="code">basic_stringbuf</code>, <code class="code">basic_stringstream</code></h4></div></div></div><p>
+</p></div><div class="sect3" title="No basic_stringbuf, basic_stringstream"><div class="titlepage"><div><div><h4 class="title"><a id="id384753"></a>No <code class="code">basic_stringbuf</code>, <code class="code">basic_stringstream</code></h4></div></div></div><p>
Although the ISO standard <code class="code">i/ostringstream</code>-classes are
provided, (<code class="filename">sstream</code>), for
compatibility with older implementations the pre-ISO
@@ -299,14 +299,14 @@ any = temp;
Another example of using stringstreams is in <a class="link" href="strings.html#strings.string.shrink" title="Shrink to Fit">this howto</a>.
</p><p> There is additional information in the libstdc++-v2 info files, in
particular <span class="quote">“<span class="quote">info iostream</span>”</span>.
-</p></div><div class="sect3" title="Little or no wide character support"><div class="titlepage"><div><div><h4 class="title"><a id="id590515"></a>Little or no wide character support</h4></div></div></div><p>
+</p></div><div class="sect3" title="Little or no wide character support"><div class="titlepage"><div><div><h4 class="title"><a id="id384904"></a>Little or no wide character support</h4></div></div></div><p>
Classes <code class="classname">wstring</code> and
<code class="classname">char_traits&lt;wchar_t&gt;</code> are
not supported.
- </p></div><div class="sect3" title="No templatized iostreams"><div class="titlepage"><div><div><h4 class="title"><a id="id590534"></a>No templatized iostreams</h4></div></div></div><p>
+ </p></div><div class="sect3" title="No templatized iostreams"><div class="titlepage"><div><div><h4 class="title"><a id="id384923"></a>No templatized iostreams</h4></div></div></div><p>
Classes <code class="classname">wfilebuf</code> and
<code class="classname">wstringstream</code> are not supported.
- </p></div><div class="sect3" title="Thread safety issues"><div class="titlepage"><div><div><h4 class="title"><a id="id590553"></a>Thread safety issues</h4></div></div></div><p>
+ </p></div><div class="sect3" title="Thread safety issues"><div class="titlepage"><div><div><h4 class="title"><a id="id384942"></a>Thread safety issues</h4></div></div></div><p>
Earlier GCC releases had a somewhat different approach to
threading configuration and proper compilation. Before GCC 3.0,
configuration of the threading model was dictated by compiler
@@ -364,7 +364,7 @@ libstdc++-v3.
of the SGI STL (version 3.3), with extensive changes.
</p><p>A more formal description of the V3 goals can be found in the
official <a class="link" href="source_design_notes.html" title="Design Notes">design document</a>.
- </p><p>Portability notes and known implementation limitations are as follows.</p><div class="sect3" title="Pre-ISO headers moved to backwards or removed"><div class="titlepage"><div><div><h4 class="title"><a id="id590669"></a>Pre-ISO headers moved to backwards or removed</h4></div></div></div><p> The pre-ISO C++ headers
+ </p><p>Portability notes and known implementation limitations are as follows.</p><div class="sect3" title="Pre-ISO headers moved to backwards or removed"><div class="titlepage"><div><div><h4 class="title"><a id="id385058"></a>Pre-ISO headers moved to backwards or removed</h4></div></div></div><p> The pre-ISO C++ headers
(<code class="code">iostream.h</code>, <code class="code">defalloc.h</code> etc.) are
available, unlike previous libstdc++ versions, but inclusion
generates a warning that you are using deprecated headers.
@@ -436,7 +436,7 @@ like <code class="filename">vector.h</code> can be replaced with <code class="fi
directive <code class="code">using namespace std;</code> can be put at the global
scope. This should be enough to get this code compiling, assuming the
other usage is correct.
-</p></div><div class="sect3" title="Extension headers hash_map, hash_set moved to ext or backwards"><div class="titlepage"><div><div><h4 class="title"><a id="id590752"></a>Extension headers hash_map, hash_set moved to ext or backwards</h4></div></div></div><p>At this time most of the features of the SGI STL extension have been
+</p></div><div class="sect3" title="Extension headers hash_map, hash_set moved to ext or backwards"><div class="titlepage"><div><div><h4 class="title"><a id="id385141"></a>Extension headers hash_map, hash_set moved to ext or backwards</h4></div></div></div><p>At this time most of the features of the SGI STL extension have been
replaced by standardized libraries.
In particular, the unordered_map and unordered_set containers of TR1
are suitable replacement for the non-standard hash_map and hash_set
@@ -508,7 +508,7 @@ AC_DEFUN([AC_HEADER_EXT_HASH_SET], [
AC_DEFINE(HAVE_EXT_HASH_SET,,[Define if ext/hash_set is present. ])
fi
])
-</pre></div><div class="sect3" title="No ios::nocreate/ios::noreplace."><div class="titlepage"><div><div><h4 class="title"><a id="id532406"></a>No <code class="code">ios::nocreate/ios::noreplace</code>.
+</pre></div><div class="sect3" title="No ios::nocreate/ios::noreplace."><div class="titlepage"><div><div><h4 class="title"><a id="id385242"></a>No <code class="code">ios::nocreate/ios::noreplace</code>.
</h4></div></div></div><p> The existence of <code class="code">ios::nocreate</code> being used for
input-streams has been confirmed, most probably because the author
thought it would be more correct to specify nocreate explicitly. So
@@ -519,7 +519,7 @@ open the file for reading, check if it has been opened, and then
decide whether you want to create/replace or not. To my knowledge,
even older implementations support <code class="code">app</code>, <code class="code">ate</code>
and <code class="code">trunc</code> (except for <code class="code">app</code> ?).
-</p></div><div class="sect3" title="No stream::attach(int fd)"><div class="titlepage"><div><div><h4 class="title"><a id="id532453"></a>
+</p></div><div class="sect3" title="No stream::attach(int fd)"><div class="titlepage"><div><div><h4 class="title"><a id="id380988"></a>
No <code class="code">stream::attach(int fd)</code>
</h4></div></div></div><p>
Phil Edwards writes: It was considered and rejected for the ISO
@@ -542,7 +542,7 @@ No <code class="code">stream::attach(int fd)</code>
For another example of this, refer to
<a class="ulink" href="http://www.josuttis.com/cppcode/fdstream.html" target="_top">fdstream example</a>
by Nicolai Josuttis.
-</p></div><div class="sect3" title="Support for C++98 dialect."><div class="titlepage"><div><div><h4 class="title"><a id="id532517"></a>
+</p></div><div class="sect3" title="Support for C++98 dialect."><div class="titlepage"><div><div><h4 class="title"><a id="id381051"></a>
Support for C++98 dialect.
</h4></div></div></div><p>Check for complete library coverage of the C++1998/2003 standard.
</p><pre class="programlisting">
@@ -610,7 +610,7 @@ AC_DEFUN([AC_HEADER_STDCXX_98], [
AC_DEFINE(STDCXX_98_HEADERS,,[Define if ISO C++ 1998 header files are present. ])
fi
])
-</pre></div><div class="sect3" title="Support for C++TR1 dialect."><div class="titlepage"><div><div><h4 class="title"><a id="id532545"></a>
+</pre></div><div class="sect3" title="Support for C++TR1 dialect."><div class="titlepage"><div><div><h4 class="title"><a id="id381079"></a>
Support for C++TR1 dialect.
</h4></div></div></div><p>Check for library coverage of the TR1 standard.
</p><pre class="programlisting">
@@ -687,7 +687,7 @@ AC_DEFUN([AC_HEADER_TR1_UNORDERED_SET], [
AC_DEFINE(HAVE_TR1_UNORDERED_SET,,[Define if tr1/unordered_set is present. ])
fi
])
-</pre></div><div class="sect3" title="Support for C++0x dialect."><div class="titlepage"><div><div><h4 class="title"><a id="id532588"></a>
+</pre></div><div class="sect3" title="Support for C++0x dialect."><div class="titlepage"><div><div><h4 class="title"><a id="id381123"></a>
Support for C++0x dialect.
</h4></div></div></div><p>Check for baseline language coverage in the compiler for the C++0xstandard.
</p><pre class="programlisting">
@@ -899,25 +899,25 @@ AC_DEFUN([AC_HEADER_UNORDERED_SET], [
AC_DEFINE(HAVE_UNORDERED_SET,,[Define if unordered_set is present. ])
fi
])
-</pre></div><div class="sect3" title="Container::iterator_type is not necessarily Container::value_type*"><div class="titlepage"><div><div><h4 class="title"><a id="id532666"></a>
+</pre></div><div class="sect3" title="Container::iterator_type is not necessarily Container::value_type*"><div class="titlepage"><div><div><h4 class="title"><a id="id381200"></a>
Container::iterator_type is not necessarily Container::value_type*
</h4></div></div></div><p>
This is a change in behavior from the previous version. Now, most
<span class="type">iterator_type</span> typedefs in container classes are POD
objects, not <span class="type">value_type</span> pointers.
-</p></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h3 class="title"><a id="backwards.biblio"></a>Bibliography</h3></div></div></div><div class="biblioentry"><a id="id532695"></a><p><span class="biblioid">
+</p></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h3 class="title"><a id="backwards.biblio"></a>Bibliography</h3></div></div></div><div class="biblioentry"><a id="id381229"></a><p><span class="biblioid">
<a class="ulink" href="http://www.kegel.com/gcc/gcc4.html" target="_top">
<em class="citetitle">
Migrating to GCC 4.1
</em>
</a>
- . </span><span class="author"><span class="firstname">Dan</span> <span class="surname">Kegel</span>. </span></p></div><div class="biblioentry"><a id="id532726"></a><p><span class="biblioid">
+ . </span><span class="author"><span class="firstname">Dan</span> <span class="surname">Kegel</span>. </span></p></div><div class="biblioentry"><a id="id381260"></a><p><span class="biblioid">
<a class="ulink" href="http://lists.debian.org/debian-gcc/2006/03/msg00405.html" target="_top">
<em class="citetitle">
Building the Whole Debian Archive with GCC 4.1: A Summary
</em>
</a>
- . </span><span class="author"><span class="firstname">Martin</span> <span class="surname">Michlmayr</span>. </span></p></div><div class="biblioentry"><a id="id536896"></a><p><span class="biblioid">
+ . </span><span class="author"><span class="firstname">Martin</span> <span class="surname">Michlmayr</span>. </span></p></div><div class="biblioentry"><a id="id381292"></a><p><span class="biblioid">
<a class="ulink" href="http://annwm.lbl.gov/~leggett/Atlas/gcc-3.2.html" target="_top">
<em class="citetitle">
Migration guide for GCC-3.2
diff --git a/libstdc++-v3/doc/html/manual/bitmap_allocator.html b/libstdc++-v3/doc/html/manual/bitmap_allocator.html
index aa81c34f038..2edd195696d 100644
--- a/libstdc++-v3/doc/html/manual/bitmap_allocator.html
+++ b/libstdc++-v3/doc/html/manual/bitmap_allocator.html
@@ -103,7 +103,7 @@ else return false.</p></li></ol></div><p>
</p><p>
Consider a block of size 64 ints. In memory, it would look like this:
(assume a 32-bit system where, size_t is a 32-bit entity).
- </p><div class="table"><a id="id661907"></a><p class="title"><b>Table 20.1. Bitmap Allocator Memory Map</b></p><div class="table-contents"><table summary="Bitmap Allocator Memory Map" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><tbody><tr><td align="left">268</td><td align="left">0</td><td align="left">4294967295</td><td align="left">4294967295</td><td align="left">Data -&gt; Space for 64 ints</td></tr></tbody></table></div></div><br class="table-break" /><p>
+ </p><div class="table"><a id="id376664"></a><p class="title"><b>Table 20.1. Bitmap Allocator Memory Map</b></p><div class="table-contents"><table summary="Bitmap Allocator Memory Map" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><tbody><tr><td align="left">268</td><td align="left">0</td><td align="left">4294967295</td><td align="left">4294967295</td><td align="left">Data -&gt; Space for 64 ints</td></tr></tbody></table></div></div><br class="table-break" /><p>
The first Column(268) represents the size of the Block in bytes as
seen by the Bitmap Allocator. Internally, a global free list is
used to keep track of the free blocks used and given back by the
diff --git a/libstdc++-v3/doc/html/manual/bk01pt03ch17s03.html b/libstdc++-v3/doc/html/manual/bk01pt03ch17s03.html
index c7a65a08a7a..4a5cd00f07c 100644
--- a/libstdc++-v3/doc/html/manual/bk01pt03ch17s03.html
+++ b/libstdc++-v3/doc/html/manual/bk01pt03ch17s03.html
@@ -19,6 +19,6 @@
mode or with debug mode. The
following table provides the names and headers of the debugging
containers:
-</p><div class="table"><a id="id533025"></a><p class="title"><b>Table 17.1. Debugging Containers</b></p><div class="table-contents"><table summary="Debugging Containers" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left">Container</th><th align="left">Header</th><th align="left">Debug container</th><th align="left">Debug header</th></tr></thead><tbody><tr><td align="left"><code class="classname">std::bitset</code></td><td align="left"><code class="filename">bitset</code></td><td align="left"><code class="classname">__gnu_debug::bitset</code></td><td align="left"><code class="filename">&lt;debug/bitset&gt;</code></td></tr><tr><td align="left"><code class="classname">std::deque</code></td><td align="left"><code class="filename">deque</code></td><td align="left"><code class="classname">__gnu_debug::deque</code></td><td align="left"><code class="filename">&lt;debug/deque&gt;</code></td></tr><tr><td align="left"><code class="classname">std::list</code></td><td align="left"><code class="filename">list</code></td><td align="left"><code class="classname">__gnu_debug::list</code></td><td align="left"><code class="filename">&lt;debug/list&gt;</code></td></tr><tr><td align="left"><code class="classname">std::map</code></td><td align="left"><code class="filename">map</code></td><td align="left"><code class="classname">__gnu_debug::map</code></td><td align="left"><code class="filename">&lt;debug/map&gt;</code></td></tr><tr><td align="left"><code class="classname">std::multimap</code></td><td align="left"><code class="filename">map</code></td><td align="left"><code class="classname">__gnu_debug::multimap</code></td><td align="left"><code class="filename">&lt;debug/map&gt;</code></td></tr><tr><td align="left"><code class="classname">std::multiset</code></td><td align="left"><code class="filename">set</code></td><td align="left"><code class="classname">__gnu_debug::multiset</code></td><td align="left"><code class="filename">&lt;debug/set&gt;</code></td></tr><tr><td align="left"><code class="classname">std::set</code></td><td align="left"><code class="filename">set</code></td><td align="left"><code class="classname">__gnu_debug::set</code></td><td align="left"><code class="filename">&lt;debug/set&gt;</code></td></tr><tr><td align="left"><code class="classname">std::string</code></td><td align="left"><code class="filename">string</code></td><td align="left"><code class="classname">__gnu_debug::string</code></td><td align="left"><code class="filename">&lt;debug/string&gt;</code></td></tr><tr><td align="left"><code class="classname">std::wstring</code></td><td align="left"><code class="filename">string</code></td><td align="left"><code class="classname">__gnu_debug::wstring</code></td><td align="left"><code class="filename">&lt;debug/string&gt;</code></td></tr><tr><td align="left"><code class="classname">std::basic_string</code></td><td align="left"><code class="filename">string</code></td><td align="left"><code class="classname">__gnu_debug::basic_string</code></td><td align="left"><code class="filename">&lt;debug/string&gt;</code></td></tr><tr><td align="left"><code class="classname">std::vector</code></td><td align="left"><code class="filename">vector</code></td><td align="left"><code class="classname">__gnu_debug::vector</code></td><td align="left"><code class="filename">&lt;debug/vector&gt;</code></td></tr></tbody></table></div></div><br class="table-break" /><p>In addition, when compiling in C++0x mode, these additional
+</p><div class="table"><a id="id419645"></a><p class="title"><b>Table 17.1. Debugging Containers</b></p><div class="table-contents"><table summary="Debugging Containers" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left">Container</th><th align="left">Header</th><th align="left">Debug container</th><th align="left">Debug header</th></tr></thead><tbody><tr><td align="left"><code class="classname">std::bitset</code></td><td align="left"><code class="filename">bitset</code></td><td align="left"><code class="classname">__gnu_debug::bitset</code></td><td align="left"><code class="filename">&lt;debug/bitset&gt;</code></td></tr><tr><td align="left"><code class="classname">std::deque</code></td><td align="left"><code class="filename">deque</code></td><td align="left"><code class="classname">__gnu_debug::deque</code></td><td align="left"><code class="filename">&lt;debug/deque&gt;</code></td></tr><tr><td align="left"><code class="classname">std::list</code></td><td align="left"><code class="filename">list</code></td><td align="left"><code class="classname">__gnu_debug::list</code></td><td align="left"><code class="filename">&lt;debug/list&gt;</code></td></tr><tr><td align="left"><code class="classname">std::map</code></td><td align="left"><code class="filename">map</code></td><td align="left"><code class="classname">__gnu_debug::map</code></td><td align="left"><code class="filename">&lt;debug/map&gt;</code></td></tr><tr><td align="left"><code class="classname">std::multimap</code></td><td align="left"><code class="filename">map</code></td><td align="left"><code class="classname">__gnu_debug::multimap</code></td><td align="left"><code class="filename">&lt;debug/map&gt;</code></td></tr><tr><td align="left"><code class="classname">std::multiset</code></td><td align="left"><code class="filename">set</code></td><td align="left"><code class="classname">__gnu_debug::multiset</code></td><td align="left"><code class="filename">&lt;debug/set&gt;</code></td></tr><tr><td align="left"><code class="classname">std::set</code></td><td align="left"><code class="filename">set</code></td><td align="left"><code class="classname">__gnu_debug::set</code></td><td align="left"><code class="filename">&lt;debug/set&gt;</code></td></tr><tr><td align="left"><code class="classname">std::string</code></td><td align="left"><code class="filename">string</code></td><td align="left"><code class="classname">__gnu_debug::string</code></td><td align="left"><code class="filename">&lt;debug/string&gt;</code></td></tr><tr><td align="left"><code class="classname">std::wstring</code></td><td align="left"><code class="filename">string</code></td><td align="left"><code class="classname">__gnu_debug::wstring</code></td><td align="left"><code class="filename">&lt;debug/string&gt;</code></td></tr><tr><td align="left"><code class="classname">std::basic_string</code></td><td align="left"><code class="filename">string</code></td><td align="left"><code class="classname">__gnu_debug::basic_string</code></td><td align="left"><code class="filename">&lt;debug/string&gt;</code></td></tr><tr><td align="left"><code class="classname">std::vector</code></td><td align="left"><code class="filename">vector</code></td><td align="left"><code class="classname">__gnu_debug::vector</code></td><td align="left"><code class="filename">&lt;debug/vector&gt;</code></td></tr></tbody></table></div></div><br class="table-break" /><p>In addition, when compiling in C++0x mode, these additional
containers have additional debug capability.
-</p><div class="table"><a id="id661132"></a><p class="title"><b>Table 17.2. Debugging Containers C++0x</b></p><div class="table-contents"><table summary="Debugging Containers C++0x" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left">Container</th><th align="left">Header</th><th align="left">Debug container</th><th align="left">Debug header</th></tr></thead><tbody><tr><td align="left"><code class="classname">std::unordered_map</code></td><td align="left"><code class="filename">unordered_map</code></td><td align="left"><code class="classname">__gnu_debug::unordered_map</code></td><td align="left"><code class="filename">&lt;debug/unordered_map&gt;</code></td></tr><tr><td align="left"><code class="classname">std::unordered_multimap</code></td><td align="left"><code class="filename">unordered_map</code></td><td align="left"><code class="classname">__gnu_debug::unordered_multimap</code></td><td align="left"><code class="filename">&lt;debug/unordered_map&gt;</code></td></tr><tr><td align="left"><code class="classname">std::unordered_set</code></td><td align="left"><code class="filename">unordered_set</code></td><td align="left"><code class="classname">__gnu_debug::unordered_set</code></td><td align="left"><code class="filename">&lt;debug/unordered_set&gt;</code></td></tr><tr><td align="left"><code class="classname">std::unordered_multiset</code></td><td align="left"><code class="filename">unordered_set</code></td><td align="left"><code class="classname">__gnu_debug::unordered_multiset</code></td><td align="left"><code class="filename">&lt;debug/unordered_set&gt;</code></td></tr></tbody></table></div></div><br class="table-break" /></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt03ch17s02.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="debug_mode.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01pt03ch17s04.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Semantics </td><td width="20%" align="center"><a accesskey="h" href="../spine.html">Home</a></td><td width="40%" align="right" valign="top"> Design</td></tr></table></div></body></html>
+</p><div class="table"><a id="id391116"></a><p class="title"><b>Table 17.2. Debugging Containers C++0x</b></p><div class="table-contents"><table summary="Debugging Containers C++0x" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left">Container</th><th align="left">Header</th><th align="left">Debug container</th><th align="left">Debug header</th></tr></thead><tbody><tr><td align="left"><code class="classname">std::unordered_map</code></td><td align="left"><code class="filename">unordered_map</code></td><td align="left"><code class="classname">__gnu_debug::unordered_map</code></td><td align="left"><code class="filename">&lt;debug/unordered_map&gt;</code></td></tr><tr><td align="left"><code class="classname">std::unordered_multimap</code></td><td align="left"><code class="filename">unordered_map</code></td><td align="left"><code class="classname">__gnu_debug::unordered_multimap</code></td><td align="left"><code class="filename">&lt;debug/unordered_map&gt;</code></td></tr><tr><td align="left"><code class="classname">std::unordered_set</code></td><td align="left"><code class="filename">unordered_set</code></td><td align="left"><code class="classname">__gnu_debug::unordered_set</code></td><td align="left"><code class="filename">&lt;debug/unordered_set&gt;</code></td></tr><tr><td align="left"><code class="classname">std::unordered_multiset</code></td><td align="left"><code class="filename">unordered_set</code></td><td align="left"><code class="classname">__gnu_debug::unordered_multiset</code></td><td align="left"><code class="filename">&lt;debug/unordered_set&gt;</code></td></tr></tbody></table></div></div><br class="table-break" /></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt03ch17s02.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="debug_mode.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01pt03ch17s04.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Semantics </td><td width="20%" align="center"><a accesskey="h" href="../spine.html">Home</a></td><td width="40%" align="right" valign="top"> Design</td></tr></table></div></body></html>
diff --git a/libstdc++-v3/doc/html/manual/bk01pt03ch18s03.html b/libstdc++-v3/doc/html/manual/bk01pt03ch18s03.html
index 848eb0f4cca..39c176c46ea 100644
--- a/libstdc++-v3/doc/html/manual/bk01pt03ch18s03.html
+++ b/libstdc++-v3/doc/html/manual/bk01pt03ch18s03.html
@@ -63,4 +63,4 @@ Then compile this code with the prerequisite compiler flags
flags for atomic operations.)
</p><p> The following table provides the names and headers of all the
parallel algorithms that can be used in a similar manner:
-</p><div class="table"><a id="id660606"></a><p class="title"><b>Table 18.1. Parallel Algorithms</b></p><div class="table-contents"><table summary="Parallel Algorithms" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left">Algorithm</th><th align="left">Header</th><th align="left">Parallel algorithm</th><th align="left">Parallel header</th></tr></thead><tbody><tr><td align="left"><code class="function">std::accumulate</code></td><td align="left"><code class="filename">numeric</code></td><td align="left"><code class="function">__gnu_parallel::accumulate</code></td><td align="left"><code class="filename">parallel/numeric</code></td></tr><tr><td align="left"><code class="function">std::adjacent_difference</code></td><td align="left"><code class="filename">numeric</code></td><td align="left"><code class="function">__gnu_parallel::adjacent_difference</code></td><td align="left"><code class="filename">parallel/numeric</code></td></tr><tr><td align="left"><code class="function">std::inner_product</code></td><td align="left"><code class="filename">numeric</code></td><td align="left"><code class="function">__gnu_parallel::inner_product</code></td><td align="left"><code class="filename">parallel/numeric</code></td></tr><tr><td align="left"><code class="function">std::partial_sum</code></td><td align="left"><code class="filename">numeric</code></td><td align="left"><code class="function">__gnu_parallel::partial_sum</code></td><td align="left"><code class="filename">parallel/numeric</code></td></tr><tr><td align="left"><code class="function">std::adjacent_find</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::adjacent_find</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::count</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::count</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::count_if</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::count_if</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::equal</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::equal</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::find</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::find</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::find_if</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::find_if</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::find_first_of</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::find_first_of</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::for_each</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::for_each</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::generate</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::generate</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::generate_n</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::generate_n</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::lexicographical_compare</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::lexicographical_compare</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::mismatch</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::mismatch</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::search</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::search</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::search_n</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::search_n</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::transform</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::transform</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::replace</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::replace</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::replace_if</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::replace_if</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::max_element</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::max_element</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::merge</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::merge</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::min_element</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::min_element</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::nth_element</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::nth_element</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::partial_sort</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::partial_sort</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::partition</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::partition</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::random_shuffle</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::random_shuffle</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::set_union</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::set_union</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::set_intersection</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::set_intersection</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::set_symmetric_difference</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::set_symmetric_difference</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::set_difference</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::set_difference</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::sort</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::sort</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::stable_sort</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::stable_sort</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::unique_copy</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::unique_copy</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr></tbody></table></div></div><br class="table-break" /></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt03ch18s02.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="parallel_mode.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01pt03ch18s04.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Semantics </td><td width="20%" align="center"><a accesskey="h" href="../spine.html">Home</a></td><td width="40%" align="right" valign="top"> Design</td></tr></table></div></body></html>
+</p><div class="table"><a id="id416292"></a><p class="title"><b>Table 18.1. Parallel Algorithms</b></p><div class="table-contents"><table summary="Parallel Algorithms" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left">Algorithm</th><th align="left">Header</th><th align="left">Parallel algorithm</th><th align="left">Parallel header</th></tr></thead><tbody><tr><td align="left"><code class="function">std::accumulate</code></td><td align="left"><code class="filename">numeric</code></td><td align="left"><code class="function">__gnu_parallel::accumulate</code></td><td align="left"><code class="filename">parallel/numeric</code></td></tr><tr><td align="left"><code class="function">std::adjacent_difference</code></td><td align="left"><code class="filename">numeric</code></td><td align="left"><code class="function">__gnu_parallel::adjacent_difference</code></td><td align="left"><code class="filename">parallel/numeric</code></td></tr><tr><td align="left"><code class="function">std::inner_product</code></td><td align="left"><code class="filename">numeric</code></td><td align="left"><code class="function">__gnu_parallel::inner_product</code></td><td align="left"><code class="filename">parallel/numeric</code></td></tr><tr><td align="left"><code class="function">std::partial_sum</code></td><td align="left"><code class="filename">numeric</code></td><td align="left"><code class="function">__gnu_parallel::partial_sum</code></td><td align="left"><code class="filename">parallel/numeric</code></td></tr><tr><td align="left"><code class="function">std::adjacent_find</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::adjacent_find</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::count</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::count</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::count_if</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::count_if</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::equal</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::equal</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::find</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::find</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::find_if</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::find_if</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::find_first_of</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::find_first_of</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::for_each</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::for_each</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::generate</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::generate</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::generate_n</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::generate_n</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::lexicographical_compare</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::lexicographical_compare</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::mismatch</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::mismatch</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::search</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::search</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::search_n</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::search_n</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::transform</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::transform</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::replace</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::replace</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::replace_if</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::replace_if</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::max_element</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::max_element</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::merge</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::merge</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::min_element</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::min_element</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::nth_element</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::nth_element</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::partial_sort</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::partial_sort</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::partition</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::partition</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::random_shuffle</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::random_shuffle</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::set_union</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::set_union</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::set_intersection</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::set_intersection</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::set_symmetric_difference</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::set_symmetric_difference</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::set_difference</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::set_difference</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::sort</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::sort</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::stable_sort</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::stable_sort</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr><tr><td align="left"><code class="function">std::unique_copy</code></td><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="function">__gnu_parallel::unique_copy</code></td><td align="left"><code class="filename">parallel/algorithm</code></td></tr></tbody></table></div></div><br class="table-break" /></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt03ch18s02.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="parallel_mode.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01pt03ch18s04.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Semantics </td><td width="20%" align="center"><a accesskey="h" href="../spine.html">Home</a></td><td width="40%" align="right" valign="top"> Design</td></tr></table></div></body></html>
diff --git a/libstdc++-v3/doc/html/manual/bk01pt03ch19s02.html b/libstdc++-v3/doc/html/manual/bk01pt03ch19s02.html
index 1bf9fcf5f42..f025729c10c 100644
--- a/libstdc++-v3/doc/html/manual/bk01pt03ch19s02.html
+++ b/libstdc++-v3/doc/html/manual/bk01pt03ch19s02.html
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Design</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2" /><meta name="keywords" content="&#10; C++&#10; , &#10; library&#10; , &#10; profile&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="profile_mode.html" title="Chapter 19. Profile Mode" /><link rel="prev" href="profile_mode.html" title="Chapter 19. Profile Mode" /><link rel="next" href="bk01pt03ch19s03.html" title="Extensions for Custom Containers" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Design</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="profile_mode.html">Prev</a> </td><th width="60%" align="center">Chapter 19. Profile Mode</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt03ch19s03.html">Next</a></td></tr></table><hr /></div><div class="sect1" title="Design"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.profile_mode.design"></a>Design</h2></div></div></div><p>
-</p><div class="table"><a id="id556845"></a><p class="title"><b>Table 19.1. Profile Code Location</b></p><div class="table-contents"><table summary="Profile Code Location" border="1"><colgroup><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left">Code Location</th><th align="left">Use</th></tr></thead><tbody><tr><td align="left"><code class="code">libstdc++-v3/include/std/*</code></td><td align="left">Preprocessor code to redirect to profile extension headers.</td></tr><tr><td align="left"><code class="code">libstdc++-v3/include/profile/*</code></td><td align="left">Profile extension public headers (map, vector, ...).</td></tr><tr><td align="left"><code class="code">libstdc++-v3/include/profile/impl/*</code></td><td align="left">Profile extension internals. Implementation files are
+</p><div class="table"><a id="id442414"></a><p class="title"><b>Table 19.1. Profile Code Location</b></p><div class="table-contents"><table summary="Profile Code Location" border="1"><colgroup><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left">Code Location</th><th align="left">Use</th></tr></thead><tbody><tr><td align="left"><code class="code">libstdc++-v3/include/std/*</code></td><td align="left">Preprocessor code to redirect to profile extension headers.</td></tr><tr><td align="left"><code class="code">libstdc++-v3/include/profile/*</code></td><td align="left">Profile extension public headers (map, vector, ...).</td></tr><tr><td align="left"><code class="code">libstdc++-v3/include/profile/impl/*</code></td><td align="left">Profile extension internals. Implementation files are
only included from <code class="code">impl/profiler.h</code>, which is the only
file included from the public headers.</td></tr></tbody></table></div></div><br class="table-break" /><p>
</p><div class="sect2" title="Wrapper Model"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.design.wrapper"></a>Wrapper Model</h3></div></div></div><p>
diff --git a/libstdc++-v3/doc/html/manual/bk01pt03ch19s07.html b/libstdc++-v3/doc/html/manual/bk01pt03ch19s07.html
index 7a81a561503..2f2ff5dff57 100644
--- a/libstdc++-v3/doc/html/manual/bk01pt03ch19s07.html
+++ b/libstdc++-v3/doc/html/manual/bk01pt03ch19s07.html
@@ -18,7 +18,7 @@
A high accuracy means that the diagnostic is unlikely to be wrong.
These grades are not perfect. They are just meant to guide users with
specific needs or time budgets.
- </p><div class="table"><a id="id501260"></a><p class="title"><b>Table 19.2. Profile Diagnostics</b></p><div class="table-contents"><table summary="Profile Diagnostics" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left">Group</th><th align="left">Flag</th><th align="left">Benefit</th><th align="left">Cost</th><th align="left">Freq.</th><th align="left">Implemented</th><td class="auto-generated"> </td></tr></thead><tbody><tr><td align="left"><a class="ulink" href="#manual.ext.profile_mode.analysis.containers" target="_top">
+ </p><div class="table"><a id="id470044"></a><p class="title"><b>Table 19.2. Profile Diagnostics</b></p><div class="table-contents"><table summary="Profile Diagnostics" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left">Group</th><th align="left">Flag</th><th align="left">Benefit</th><th align="left">Cost</th><th align="left">Freq.</th><th align="left">Implemented</th><td class="auto-generated"> </td></tr></thead><tbody><tr><td align="left"><a class="ulink" href="#manual.ext.profile_mode.analysis.containers" target="_top">
CONTAINERS</a></td><td align="left"><a class="ulink" href="#manual.ext.profile_mode.analysis.hashtable_too_small" target="_top">
HASHTABLE_TOO_SMALL</a></td><td align="left">10</td><td align="left">1</td><td align="left"> </td><td align="left">10</td><td align="left">yes</td></tr><tr><td align="left"> </td><td align="left"><a class="ulink" href="#manual.ext.profile_mode.analysis.hashtable_too_large" target="_top">
HASHTABLE_TOO_LARGE</a></td><td align="left">5</td><td align="left">1</td><td align="left"> </td><td align="left">10</td><td align="left">yes</td></tr><tr><td align="left"> </td><td align="left"><a class="ulink" href="#manual.ext.profile_mode.analysis.inefficient_hash" target="_top">
diff --git a/libstdc++-v3/doc/html/manual/bk01pt03pr01.html b/libstdc++-v3/doc/html/manual/bk01pt03pr01.html
index 80acbcf8755..e3ac3f7bfbd 100644
--- a/libstdc++-v3/doc/html/manual/bk01pt03pr01.html
+++ b/libstdc++-v3/doc/html/manual/bk01pt03pr01.html
@@ -3,7 +3,7 @@
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title></title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="extensions.html" title="Part III.  Extensions" /><link rel="prev" href="extensions.html" title="Part III.  Extensions" /><link rel="next" href="ext_compile_checks.html" title="Chapter 16. Compile Time Checks" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center"></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="extensions.html">Prev</a> </td><th width="60%" align="center">Part III. 
Extensions
-</th><td width="20%" align="right"> <a accesskey="n" href="ext_compile_checks.html">Next</a></td></tr></table><hr /></div><div class="preface"><div class="titlepage"><div><div><h2 class="title"><a id="id644091"></a></h2></div></div></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="ext_compile_checks.html">Next</a></td></tr></table><hr /></div><div class="preface"><div class="titlepage"><div><div><h2 class="title"><a id="id410049"></a></h2></div></div></div><p>
Here we will make an attempt at describing the non-Standard extensions to
the library. Some of these are from SGI's STL, some of these are GNU's,
and some just seemed to appear on the doorstep.
diff --git a/libstdc++-v3/doc/html/manual/concurrency.html b/libstdc++-v3/doc/html/manual/concurrency.html
index e65c5b3574f..8a51c7c5c17 100644
--- a/libstdc++-v3/doc/html/manual/concurrency.html
+++ b/libstdc++-v3/doc/html/manual/concurrency.html
@@ -7,7 +7,7 @@
Standard Contents
</th><td width="20%" align="right"> <a accesskey="n" href="extensions.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 15.  Concurrency"><div class="titlepage"><div><div><h2 class="title"><a id="std.concurrency"></a>Chapter 15. 
Concurrency
- <a id="id622379" class="indexterm"></a>
+ <a id="id387949" class="indexterm"></a>
</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="concurrency.html#std.concurrency.api">API Reference</a></span></dt></dl></div><p>
Facilities for concurrent operation, and control thereof.
</p><div class="sect1" title="API Reference"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.concurrency.api"></a>API Reference</h2></div></div></div><p>
diff --git a/libstdc++-v3/doc/html/manual/configure.html b/libstdc++-v3/doc/html/manual/configure.html
index 2b8c49a09b4..806cc973819 100644
--- a/libstdc++-v3/doc/html/manual/configure.html
+++ b/libstdc++-v3/doc/html/manual/configure.html
@@ -159,8 +159,8 @@
</p></dd><dt><span class="term"><code class="code">--enable-symvers[=style]</code></span></dt><dd><p>In 3.1 and later, tries to turn on symbol versioning in the
shared library (if a shared library has been
requested). Values for 'style' that are currently supported
- are 'gnu', 'gnu-versioned-namespace', 'darwin', and
- 'darwin-export'. Both gnu- options require that a recent
+ are 'gnu', 'gnu-versioned-namespace', 'darwin',
+ 'darwin-export', and 'sun'. Both gnu- options require that a recent
version of the GNU linker be in use. Both darwin options are
equivalent. With no style given, the configure script will try
to guess correct defaults for the host system, probe to see if
diff --git a/libstdc++-v3/doc/html/manual/containers.html b/libstdc++-v3/doc/html/manual/containers.html
index 185fa96bb60..bdf518c024f 100644
--- a/libstdc++-v3/doc/html/manual/containers.html
+++ b/libstdc++-v3/doc/html/manual/containers.html
@@ -7,7 +7,7 @@
Standard Contents
</th><td width="20%" align="right"> <a accesskey="n" href="associative.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 9.  Containers"><div class="titlepage"><div><div><h2 class="title"><a id="std.containers"></a>Chapter 9. 
Containers
- <a id="id538555" class="indexterm"></a>
+ <a id="id479957" class="indexterm"></a>
</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="containers.html#std.containers.sequences">Sequences</a></span></dt><dd><dl><dt><span class="sect2"><a href="containers.html#containers.sequences.list">list</a></span></dt><dt><span class="sect2"><a href="containers.html#containers.sequences.vector">vector</a></span></dt></dl></dd><dt><span class="sect1"><a href="associative.html">Associative</a></span></dt><dd><dl><dt><span class="sect2"><a href="associative.html#containers.associative.insert_hints">Insertion Hints</a></span></dt><dt><span class="sect2"><a href="associative.html#containers.associative.bitset">bitset</a></span></dt></dl></dd><dt><span class="sect1"><a href="containers_and_c.html">Interacting with C</a></span></dt><dd><dl><dt><span class="sect2"><a href="containers_and_c.html#containers.c.vs_array">Containers vs. Arrays</a></span></dt></dl></dd></dl></div><div class="sect1" title="Sequences"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.containers.sequences"></a>Sequences</h2></div></div></div><div class="sect2" title="list"><div class="titlepage"><div><div><h3 class="title"><a id="containers.sequences.list"></a>list</h3></div></div></div><div class="sect3" title="list::size() is O(n)"><div class="titlepage"><div><div><h4 class="title"><a id="sequences.list.size"></a>list::size() is O(n)</h4></div></div></div><p>
Yes it is, and that's okay. This is a decision that we preserved
when we imported SGI's STL implementation. The following is
diff --git a/libstdc++-v3/doc/html/manual/diagnostics.html b/libstdc++-v3/doc/html/manual/diagnostics.html
index 77f99ec3bdd..eac71964898 100644
--- a/libstdc++-v3/doc/html/manual/diagnostics.html
+++ b/libstdc++-v3/doc/html/manual/diagnostics.html
@@ -7,7 +7,7 @@
Standard Contents
</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt02ch05s02.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 5.  Diagnostics"><div class="titlepage"><div><div><h2 class="title"><a id="std.diagnostics"></a>Chapter 5. 
Diagnostics
- <a id="id564773" class="indexterm"></a>
+ <a id="id392593" class="indexterm"></a>
</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="diagnostics.html#std.diagnostics.exceptions">Exceptions</a></span></dt><dd><dl><dt><span class="sect2"><a href="diagnostics.html#std.diagnostics.exceptions.api">API Reference</a></span></dt><dt><span class="sect2"><a href="diagnostics.html#std.diagnostics.exceptions.data">Adding Data to <code class="classname">exception</code></a></span></dt></dl></dd><dt><span class="sect1"><a href="bk01pt02ch05s02.html">Concept Checking</a></span></dt></dl></div><div class="sect1" title="Exceptions"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.diagnostics.exceptions"></a>Exceptions</h2></div></div></div><div class="sect2" title="API Reference"><div class="titlepage"><div><div><h3 class="title"><a id="std.diagnostics.exceptions.api"></a>API Reference</h3></div></div></div><p>
All exception objects are defined in one of the standard header
files: <code class="filename">exception</code>,
diff --git a/libstdc++-v3/doc/html/manual/documentation_style.html b/libstdc++-v3/doc/html/manual/documentation_style.html
index 3ff11d186d2..cc233580612 100644
--- a/libstdc++-v3/doc/html/manual/documentation_style.html
+++ b/libstdc++-v3/doc/html/manual/documentation_style.html
@@ -108,7 +108,7 @@
writing Doxygen comments. Single and double quotes, and
separators in filenames are two common trouble spots. When in
doubt, consult the following table.
- </p><div class="table"><a id="id640202"></a><p class="title"><b>Table A.1. HTML to Doxygen Markup Comparison</b></p><div class="table-contents"><table summary="HTML to Doxygen Markup Comparison" border="1"><colgroup><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left">HTML</th><th align="left">Doxygen</th></tr></thead><tbody><tr><td align="left">\</td><td align="left">\\</td></tr><tr><td align="left">"</td><td align="left">\"</td></tr><tr><td align="left">'</td><td align="left">\'</td></tr><tr><td align="left">&lt;i&gt;</td><td align="left">@a word</td></tr><tr><td align="left">&lt;b&gt;</td><td align="left">@b word</td></tr><tr><td align="left">&lt;code&gt;</td><td align="left">@c word</td></tr><tr><td align="left">&lt;em&gt;</td><td align="left">@a word</td></tr><tr><td align="left">&lt;em&gt;</td><td align="left">&lt;em&gt;two words or more&lt;/em&gt;</td></tr></tbody></table></div></div><br class="table-break" /></div></div><div class="sect2" title="Docbook"><div class="titlepage"><div><div><h3 class="title"><a id="doc_style.docbook"></a>Docbook</h3></div></div></div><div class="sect3" title="Prerequisites"><div class="titlepage"><div><div><h4 class="title"><a id="docbook.prereq"></a>Prerequisites</h4></div></div></div><p>
+ </p><div class="table"><a id="id419590"></a><p class="title"><b>Table A.1. HTML to Doxygen Markup Comparison</b></p><div class="table-contents"><table summary="HTML to Doxygen Markup Comparison" border="1"><colgroup><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left">HTML</th><th align="left">Doxygen</th></tr></thead><tbody><tr><td align="left">\</td><td align="left">\\</td></tr><tr><td align="left">"</td><td align="left">\"</td></tr><tr><td align="left">'</td><td align="left">\'</td></tr><tr><td align="left">&lt;i&gt;</td><td align="left">@a word</td></tr><tr><td align="left">&lt;b&gt;</td><td align="left">@b word</td></tr><tr><td align="left">&lt;code&gt;</td><td align="left">@c word</td></tr><tr><td align="left">&lt;em&gt;</td><td align="left">@a word</td></tr><tr><td align="left">&lt;em&gt;</td><td align="left">&lt;em&gt;two words or more&lt;/em&gt;</td></tr></tbody></table></div></div><br class="table-break" /></div></div><div class="sect2" title="Docbook"><div class="titlepage"><div><div><h3 class="title"><a id="doc_style.docbook"></a>Docbook</h3></div></div></div><div class="sect3" title="Prerequisites"><div class="titlepage"><div><div><h4 class="title"><a id="docbook.prereq"></a>Prerequisites</h4></div></div></div><p>
Editing the DocBook sources requires an XML editor. Many
exist: some notable options
include <span class="command"><strong>emacs</strong></span>, <span class="application">Kate</span>,
@@ -238,11 +238,11 @@ xmllint --noout --valid <code class="filename">xml/index.xml</code>
<a class="ulink" href="http://www.docbook.org/tdg/en/html/part2.html" target="_top">online</a>.
An incomplete reference for HTML to Docbook conversion is
detailed in the table below.
- </p><div class="table"><a id="id542838"></a><p class="title"><b>Table A.2. HTML to Docbook XML Markup Comparison</b></p><div class="table-contents"><table summary="HTML to Docbook XML Markup Comparison" border="1"><colgroup><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left">HTML</th><th align="left">Docbook</th></tr></thead><tbody><tr><td align="left">&lt;p&gt;</td><td align="left">&lt;para&gt;</td></tr><tr><td align="left">&lt;pre&gt;</td><td align="left">&lt;computeroutput&gt;, &lt;programlisting&gt;,
+ </p><div class="table"><a id="id502132"></a><p class="title"><b>Table A.2. HTML to Docbook XML Markup Comparison</b></p><div class="table-contents"><table summary="HTML to Docbook XML Markup Comparison" border="1"><colgroup><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left">HTML</th><th align="left">Docbook</th></tr></thead><tbody><tr><td align="left">&lt;p&gt;</td><td align="left">&lt;para&gt;</td></tr><tr><td align="left">&lt;pre&gt;</td><td align="left">&lt;computeroutput&gt;, &lt;programlisting&gt;,
&lt;literallayout&gt;</td></tr><tr><td align="left">&lt;ul&gt;</td><td align="left">&lt;itemizedlist&gt;</td></tr><tr><td align="left">&lt;ol&gt;</td><td align="left">&lt;orderedlist&gt;</td></tr><tr><td align="left">&lt;il&gt;</td><td align="left">&lt;listitem&gt;</td></tr><tr><td align="left">&lt;dl&gt;</td><td align="left">&lt;variablelist&gt;</td></tr><tr><td align="left">&lt;dt&gt;</td><td align="left">&lt;term&gt;</td></tr><tr><td align="left">&lt;dd&gt;</td><td align="left">&lt;listitem&gt;</td></tr><tr><td align="left">&lt;a href=""&gt;</td><td align="left">&lt;ulink url=""&gt;</td></tr><tr><td align="left">&lt;code&gt;</td><td align="left">&lt;literal&gt;, &lt;programlisting&gt;</td></tr><tr><td align="left">&lt;strong&gt;</td><td align="left">&lt;emphasis&gt;</td></tr><tr><td align="left">&lt;em&gt;</td><td align="left">&lt;emphasis&gt;</td></tr><tr><td align="left">"</td><td align="left">&lt;quote&gt;</td></tr></tbody></table></div></div><br class="table-break" /><p>
And examples of detailed markup for which there are no real HTML
equivalents are listed in the table below.
-</p><div class="table"><a id="id535867"></a><p class="title"><b>Table A.3. Docbook XML Element Use</b></p><div class="table-contents"><table summary="Docbook XML Element Use" border="1"><colgroup><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left">Element</th><th align="left">Use</th></tr></thead><tbody><tr><td align="left">&lt;structname&gt;</td><td align="left">&lt;structname&gt;char_traits&lt;/structname&gt;</td></tr><tr><td align="left">&lt;classname&gt;</td><td align="left">&lt;classname&gt;string&lt;/classname&gt;</td></tr><tr><td align="left">&lt;function&gt;</td><td align="left">
+</p><div class="table"><a id="id502333"></a><p class="title"><b>Table A.3. Docbook XML Element Use</b></p><div class="table-contents"><table summary="Docbook XML Element Use" border="1"><colgroup><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left">Element</th><th align="left">Use</th></tr></thead><tbody><tr><td align="left">&lt;structname&gt;</td><td align="left">&lt;structname&gt;char_traits&lt;/structname&gt;</td></tr><tr><td align="left">&lt;classname&gt;</td><td align="left">&lt;classname&gt;string&lt;/classname&gt;</td></tr><tr><td align="left">&lt;function&gt;</td><td align="left">
<p>&lt;function&gt;clear()&lt;/function&gt;</p>
<p>&lt;function&gt;fs.clear()&lt;/function&gt;</p>
</td></tr><tr><td align="left">&lt;type&gt;</td><td align="left">&lt;type&gt;long long&lt;/type&gt;</td></tr><tr><td align="left">&lt;varname&gt;</td><td align="left">&lt;varname&gt;fs&lt;/varname&gt;</td></tr><tr><td align="left">&lt;literal&gt;</td><td align="left">
diff --git a/libstdc++-v3/doc/html/manual/extensions.html b/libstdc++-v3/doc/html/manual/extensions.html
index 18c4401b0d5..33f854a19f5 100644
--- a/libstdc++-v3/doc/html/manual/extensions.html
+++ b/libstdc++-v3/doc/html/manual/extensions.html
@@ -5,5 +5,5 @@
</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="facets.html">Prev</a> </td><th width="60%" align="center">The GNU C++ Library</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt03pr01.html">Next</a></td></tr></table><hr /></div><div class="part" title="Part III.  Extensions"><div class="titlepage"><div><div><h1 class="title"><a id="manual.ext"></a>Part III. 
Extensions
- <a id="id568141" class="indexterm"></a>
+ <a id="id468288" class="indexterm"></a>
</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="preface"><a href="bk01pt03pr01.html"></a></span></dt><dt><span class="chapter"><a href="ext_compile_checks.html">16. Compile Time Checks</a></span></dt><dt><span class="chapter"><a href="debug_mode.html">17. Debug Mode</a></span></dt><dd><dl><dt><span class="sect1"><a href="debug_mode.html#manual.ext.debug_mode.intro">Intro</a></span></dt><dt><span class="sect1"><a href="bk01pt03ch17s02.html">Semantics</a></span></dt><dt><span class="sect1"><a href="bk01pt03ch17s03.html">Using</a></span></dt><dd><dl><dt><span class="sect2"><a href="bk01pt03ch17s03.html#debug_mode.using.mode">Using the Debug Mode</a></span></dt><dt><span class="sect2"><a href="bk01pt03ch17s03.html#debug_mode.using.specific">Using a Specific Debug Container</a></span></dt></dl></dd><dt><span class="sect1"><a href="bk01pt03ch17s04.html">Design</a></span></dt><dd><dl><dt><span class="sect2"><a href="bk01pt03ch17s04.html#debug_mode.design.goals">Goals</a></span></dt><dt><span class="sect2"><a href="bk01pt03ch17s04.html#debug_mode.design.methods">Methods</a></span></dt><dt><span class="sect2"><a href="bk01pt03ch17s04.html#debug_mode.design.other">Other Implementations</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="parallel_mode.html">18. Parallel Mode</a></span></dt><dd><dl><dt><span class="sect1"><a href="parallel_mode.html#manual.ext.parallel_mode.intro">Intro</a></span></dt><dt><span class="sect1"><a href="bk01pt03ch18s02.html">Semantics</a></span></dt><dt><span class="sect1"><a href="bk01pt03ch18s03.html">Using</a></span></dt><dd><dl><dt><span class="sect2"><a href="bk01pt03ch18s03.html#parallel_mode.using.prereq_flags">Prerequisite Compiler Flags</a></span></dt><dt><span class="sect2"><a href="bk01pt03ch18s03.html#parallel_mode.using.parallel_mode">Using Parallel Mode</a></span></dt><dt><span class="sect2"><a href="bk01pt03ch18s03.html#parallel_mode.using.specific">Using Specific Parallel Components</a></span></dt></dl></dd><dt><span class="sect1"><a href="bk01pt03ch18s04.html">Design</a></span></dt><dd><dl><dt><span class="sect2"><a href="bk01pt03ch18s04.html#parallel_mode.design.intro">Interface Basics</a></span></dt><dt><span class="sect2"><a href="bk01pt03ch18s04.html#parallel_mode.design.tuning">Configuration and Tuning</a></span></dt><dt><span class="sect2"><a href="bk01pt03ch18s04.html#parallel_mode.design.impl">Implementation Namespaces</a></span></dt></dl></dd><dt><span class="sect1"><a href="bk01pt03ch18s05.html">Testing</a></span></dt><dt><span class="bibliography"><a href="parallel_mode.html#parallel_mode.biblio">Bibliography</a></span></dt></dl></dd><dt><span class="chapter"><a href="profile_mode.html">19. Profile Mode</a></span></dt><dd><dl><dt><span class="sect1"><a href="profile_mode.html#manual.ext.profile_mode.intro">Intro</a></span></dt><dd><dl><dt><span class="sect2"><a href="profile_mode.html#manual.ext.profile_mode.using">Using the Profile Mode</a></span></dt><dt><span class="sect2"><a href="profile_mode.html#manual.ext.profile_mode.tuning">Tuning the Profile Mode</a></span></dt></dl></dd><dt><span class="sect1"><a href="bk01pt03ch19s02.html">Design</a></span></dt><dd><dl><dt><span class="sect2"><a href="bk01pt03ch19s02.html#manual.ext.profile_mode.design.wrapper">Wrapper Model</a></span></dt><dt><span class="sect2"><a href="bk01pt03ch19s02.html#manual.ext.profile_mode.design.instrumentation">Instrumentation</a></span></dt><dt><span class="sect2"><a href="bk01pt03ch19s02.html#manual.ext.profile_mode.design.rtlib">Run Time Behavior</a></span></dt><dt><span class="sect2"><a href="bk01pt03ch19s02.html#manual.ext.profile_mode.design.analysis">Analysis and Diagnostics</a></span></dt><dt><span class="sect2"><a href="bk01pt03ch19s02.html#manual.ext.profile_mode.design.cost-model">Cost Model</a></span></dt><dt><span class="sect2"><a href="bk01pt03ch19s02.html#manual.ext.profile_mode.design.reports">Reports</a></span></dt><dt><span class="sect2"><a href="bk01pt03ch19s02.html#manual.ext.profile_mode.design.testing">Testing</a></span></dt></dl></dd><dt><span class="sect1"><a href="bk01pt03ch19s03.html">Extensions for Custom Containers</a></span></dt><dt><span class="sect1"><a href="bk01pt03ch19s04.html">Empirical Cost Model</a></span></dt><dt><span class="sect1"><a href="bk01pt03ch19s05.html">Implementation Issues</a></span></dt><dd><dl><dt><span class="sect2"><a href="bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.stack">Stack Traces</a></span></dt><dt><span class="sect2"><a href="bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.symbols">Symbolization of Instruction Addresses</a></span></dt><dt><span class="sect2"><a href="bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.concurrency">Concurrency</a></span></dt><dt><span class="sect2"><a href="bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.stdlib-in-proflib">Using the Standard Library in the Instrumentation Implementation</a></span></dt><dt><span class="sect2"><a href="bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.malloc-hooks">Malloc Hooks</a></span></dt><dt><span class="sect2"><a href="bk01pt03ch19s05.html#manual.ext.profile_mode.implementation.construction-destruction">Construction and Destruction of Global Objects</a></span></dt></dl></dd><dt><span class="sect1"><a href="bk01pt03ch19s06.html">Developer Information</a></span></dt><dd><dl><dt><span class="sect2"><a href="bk01pt03ch19s06.html#manual.ext.profile_mode.developer.bigpic">Big Picture</a></span></dt><dt><span class="sect2"><a href="bk01pt03ch19s06.html#manual.ext.profile_mode.developer.howto">How To Add A Diagnostic</a></span></dt></dl></dd><dt><span class="sect1"><a href="bk01pt03ch19s07.html">Diagnostics</a></span></dt><dd><dl><dt><span class="sect2"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.template">Diagnostic Template</a></span></dt><dt><span class="sect2"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.containers">Containers</a></span></dt><dt><span class="sect2"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.algorithms">Algorithms</a></span></dt><dt><span class="sect2"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.locality">Data Locality</a></span></dt><dt><span class="sect2"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.mthread">Multithreaded Data Access</a></span></dt><dt><span class="sect2"><a href="bk01pt03ch19s07.html#manual.ext.profile_mode.analysis.statistics">Statistics</a></span></dt></dl></dd><dt><span class="bibliography"><a href="profile_mode.html#profile_mode.biblio">Bibliography</a></span></dt></dl></dd><dt><span class="chapter"><a href="ext_allocators.html">20. Allocators</a></span></dt><dd><dl><dt><span class="sect1"><a href="ext_allocators.html#manual.ext.allocator.mt">mt_allocator</a></span></dt><dd><dl><dt><span class="sect2"><a href="ext_allocators.html#allocator.mt.intro">Intro</a></span></dt><dt><span class="sect2"><a href="ext_allocators.html#allocator.mt.design_issues">Design Issues</a></span></dt><dt><span class="sect2"><a href="ext_allocators.html#allocator.mt.impl">Implementation</a></span></dt><dt><span class="sect2"><a href="ext_allocators.html#allocator.mt.example_single">Single Thread Example</a></span></dt><dt><span class="sect2"><a href="ext_allocators.html#allocator.mt.example_multi">Multiple Thread Example</a></span></dt></dl></dd><dt><span class="sect1"><a href="bitmap_allocator.html">bitmap_allocator</a></span></dt><dd><dl><dt><span class="sect2"><a href="bitmap_allocator.html#allocator.bitmap.design">Design</a></span></dt><dt><span class="sect2"><a href="bitmap_allocator.html#allocator.bitmap.impl">Implementation</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="ext_containers.html">21. Containers</a></span></dt><dd><dl><dt><span class="sect1"><a href="ext_containers.html#manual.ext.containers.pbds">Policy Based Data Structures</a></span></dt><dt><span class="sect1"><a href="bk01pt03ch21s02.html">HP/SGI</a></span></dt><dt><span class="sect1"><a href="bk01pt03ch21s03.html">Deprecated HP/SGI</a></span></dt></dl></dd><dt><span class="chapter"><a href="ext_utilities.html">22. Utilities</a></span></dt><dt><span class="chapter"><a href="ext_algorithms.html">23. Algorithms</a></span></dt><dt><span class="chapter"><a href="ext_numerics.html">24. Numerics</a></span></dt><dt><span class="chapter"><a href="ext_iterators.html">25. Iterators</a></span></dt><dt><span class="chapter"><a href="ext_io.html">26. Input and Output</a></span></dt><dd><dl><dt><span class="sect1"><a href="ext_io.html#manual.ext.io.filebuf_derived">Derived filebufs</a></span></dt></dl></dd><dt><span class="chapter"><a href="ext_demangling.html">27. Demangling</a></span></dt><dt><span class="chapter"><a href="ext_concurrency.html">28. Concurrency</a></span></dt><dd><dl><dt><span class="sect1"><a href="ext_concurrency.html#manual.ext.concurrency.design">Design</a></span></dt><dd><dl><dt><span class="sect2"><a href="ext_concurrency.html#manual.ext.concurrency.design.threads">Interface to Locks and Mutexes</a></span></dt><dt><span class="sect2"><a href="ext_concurrency.html#manual.ext.concurrency.design.atomics">Interface to Atomic Functions</a></span></dt></dl></dd><dt><span class="sect1"><a href="bk01pt03ch28s02.html">Implementation</a></span></dt><dd><dl><dt><span class="sect2"><a href="bk01pt03ch28s02.html#manual.ext.concurrency.impl.atomic_fallbacks">Using Builtin Atomic Functions</a></span></dt><dt><span class="sect2"><a href="bk01pt03ch28s02.html#manual.ext.concurrency.impl.thread">Thread Abstraction</a></span></dt></dl></dd><dt><span class="sect1"><a href="bk01pt03ch28s03.html">Use</a></span></dt></dl></dd></dl></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="facets.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="spine.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bk01pt03pr01.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Facets </td><td width="20%" align="center"><a accesskey="h" href="../spine.html">Home</a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html>
diff --git a/libstdc++-v3/doc/html/manual/facets.html b/libstdc++-v3/doc/html/manual/facets.html
index 00758626fac..ee52b350618 100644
--- a/libstdc++-v3/doc/html/manual/facets.html
+++ b/libstdc++-v3/doc/html/manual/facets.html
@@ -3,7 +3,7 @@
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Facets</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2" /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="localization.html" title="Chapter 8.  Localization" /><link rel="prev" href="localization.html" title="Chapter 8.  Localization" /><link rel="next" href="containers.html" title="Chapter 9.  Containers" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Facets</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="localization.html">Prev</a> </td><th width="60%" align="center">Chapter 8. 
Localization
-</th><td width="20%" align="right"> <a accesskey="n" href="containers.html">Next</a></td></tr></table><hr /></div><div class="section" title="Facets"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.localization.facet"></a>Facets</h2></div></div></div><div class="section" title="ctype"><div class="titlepage"><div><div><h3 class="title"><a id="std.localization.facet.ctype"></a>ctype</h3></div></div></div><div class="section" title="Implementation"><div class="titlepage"><div><div><h4 class="title"><a id="facet.ctype.impl"></a>Implementation</h4></div></div></div><div class="section" title="Specializations"><div class="titlepage"><div><div><h5 class="title"><a id="id628428"></a>Specializations</h5></div></div></div><p>
+</th><td width="20%" align="right"> <a accesskey="n" href="containers.html">Next</a></td></tr></table><hr /></div><div class="section" title="Facets"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.localization.facet"></a>Facets</h2></div></div></div><div class="section" title="ctype"><div class="titlepage"><div><div><h3 class="title"><a id="std.localization.facet.ctype"></a>ctype</h3></div></div></div><div class="section" title="Implementation"><div class="titlepage"><div><div><h4 class="title"><a id="facet.ctype.impl"></a>Implementation</h4></div></div></div><div class="section" title="Specializations"><div class="titlepage"><div><div><h5 class="title"><a id="id422690"></a>Specializations</h5></div></div></div><p>
For the required specialization codecvt&lt;wchar_t, char, mbstate_t&gt; ,
conversions are made between the internal character set (always UCS4
on GNU/Linux) and whatever the currently selected locale for the
@@ -50,26 +50,26 @@ characters.
</p></li><li class="listitem"><p>
Rename abstract base class. See if just smash-overriding is a
better approach. Clarify, add sanity to naming.
- </p></li></ul></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h4 class="title"><a id="facet.ctype.biblio"></a>Bibliography</h4></div></div></div><div class="biblioentry" title="The GNU C Library"><a id="id663422"></a><p><span class="title"><i>
+ </p></li></ul></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h4 class="title"><a id="facet.ctype.biblio"></a>Bibliography</h4></div></div></div><div class="biblioentry" title="The GNU C Library"><a id="id442703"></a><p><span class="title"><i>
The GNU C Library
- </i>. </span><span class="author"><span class="firstname">Roland</span> <span class="surname">McGrath</span>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span><span class="copyright">Copyright © 2007 FSF. </span><span class="pagenums">Chapters 6 Character Set Handling and 7 Locales and Internationalization. </span></p></div><div class="biblioentry" title="Correspondence"><a id="id557724"></a><p><span class="title"><i>
+ </i>. </span><span class="author"><span class="firstname">Roland</span> <span class="surname">McGrath</span>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span><span class="copyright">Copyright © 2007 FSF. </span><span class="pagenums">Chapters 6 Character Set Handling and 7 Locales and Internationalization. </span></p></div><div class="biblioentry" title="Correspondence"><a id="id426343"></a><p><span class="title"><i>
Correspondence
- </i>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span><span class="copyright">Copyright © 2002 . </span></p></div><div class="biblioentry" title="ISO/IEC 14882:1998 Programming languages - C++"><a id="id628256"></a><p><span class="title"><i>
+ </i>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span><span class="copyright">Copyright © 2002 . </span></p></div><div class="biblioentry" title="ISO/IEC 14882:1998 Programming languages - C++"><a id="id468198"></a><p><span class="title"><i>
ISO/IEC 14882:1998 Programming languages - C++
- </i>. </span><span class="copyright">Copyright © 1998 ISO. </span></p></div><div class="biblioentry" title="ISO/IEC 9899:1999 Programming languages - C"><a id="id628275"></a><p><span class="title"><i>
+ </i>. </span><span class="copyright">Copyright © 1998 ISO. </span></p></div><div class="biblioentry" title="ISO/IEC 9899:1999 Programming languages - C"><a id="id468216"></a><p><span class="title"><i>
ISO/IEC 9899:1999 Programming languages - C
- </i>. </span><span class="copyright">Copyright © 1999 ISO. </span></p></div><div class="biblioentry"><a id="id651486"></a><p><span class="biblioid">
+ </i>. </span><span class="copyright">Copyright © 1999 ISO. </span></p></div><div class="biblioentry"><a id="id398382"></a><p><span class="biblioid">
<a class="ulink" href="http://www.unix.org/version3/ieee_std.html" target="_top">
<em class="citetitle">
The Open Group Base Specifications, Issue 6 (IEEE Std. 1003.1-2004)
</em>
</a>
. </span><span class="copyright">Copyright © 1999
- The Open Group/The Institute of Electrical and Electronics Engineers, Inc.. </span></p></div><div class="biblioentry" title="The C++ Programming Language, Special Edition"><a id="id546468"></a><p><span class="title"><i>
+ The Open Group/The Institute of Electrical and Electronics Engineers, Inc.. </span></p></div><div class="biblioentry" title="The C++ Programming Language, Special Edition"><a id="id398412"></a><p><span class="title"><i>
The C++ Programming Language, Special Edition
</i>. </span><span class="author"><span class="firstname">Bjarne</span> <span class="surname">Stroustrup</span>. </span><span class="copyright">Copyright © 2000 Addison Wesley, Inc.. </span><span class="pagenums">Appendix D. </span><span class="publisher"><span class="publishername">
Addison Wesley
- . </span></span></p></div><div class="biblioentry" title="Standard C++ IOStreams and Locales"><a id="id648185"></a><p><span class="title"><i>
+ . </span></span></p></div><div class="biblioentry" title="Standard C++ IOStreams and Locales"><a id="id395406"></a><p><span class="title"><i>
Standard C++ IOStreams and Locales
</i>. </span><span class="subtitle">
Advanced Programmer's Guide and Reference
@@ -412,17 +412,17 @@ codecvt usage.
</p></li><li class="listitem"><p>
wchar_t/char internal buffers and conversions between
internal/external buffers?
- </p></li></ul></div></li></ul></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h4 class="title"><a id="facet.codecvt.biblio"></a>Bibliography</h4></div></div></div><div class="biblioentry" title="The GNU C Library"><a id="id651424"></a><p><span class="title"><i>
+ </p></li></ul></div></li></ul></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h4 class="title"><a id="facet.codecvt.biblio"></a>Bibliography</h4></div></div></div><div class="biblioentry" title="The GNU C Library"><a id="id388454"></a><p><span class="title"><i>
The GNU C Library
</i>. </span><span class="author"><span class="firstname">Roland</span> <span class="surname">McGrath</span>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span><span class="copyright">Copyright © 2007 FSF. </span><span class="pagenums">
Chapters 6 Character Set Handling and 7 Locales and Internationalization
- . </span></p></div><div class="biblioentry" title="Correspondence"><a id="id622952"></a><p><span class="title"><i>
+ . </span></p></div><div class="biblioentry" title="Correspondence"><a id="id387509"></a><p><span class="title"><i>
Correspondence
- </i>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span><span class="copyright">Copyright © 2002 . </span></p></div><div class="biblioentry" title="ISO/IEC 14882:1998 Programming languages - C++"><a id="id616285"></a><p><span class="title"><i>
+ </i>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span><span class="copyright">Copyright © 2002 . </span></p></div><div class="biblioentry" title="ISO/IEC 14882:1998 Programming languages - C++"><a id="id387538"></a><p><span class="title"><i>
ISO/IEC 14882:1998 Programming languages - C++
- </i>. </span><span class="copyright">Copyright © 1998 ISO. </span></p></div><div class="biblioentry" title="ISO/IEC 9899:1999 Programming languages - C"><a id="id616304"></a><p><span class="title"><i>
+ </i>. </span><span class="copyright">Copyright © 1998 ISO. </span></p></div><div class="biblioentry" title="ISO/IEC 9899:1999 Programming languages - C"><a id="id406312"></a><p><span class="title"><i>
ISO/IEC 9899:1999 Programming languages - C
- </i>. </span><span class="copyright">Copyright © 1999 ISO. </span></p></div><div class="biblioentry"><a id="id616322"></a><p><span class="biblioid">
+ </i>. </span><span class="copyright">Copyright © 1999 ISO. </span></p></div><div class="biblioentry"><a id="id406331"></a><p><span class="biblioid">
<a class="ulink" href="http://www.opengroup.org/austin" target="_top">
<em class="citetitle">
System Interface Definitions, Issue 7 (IEEE Std. 1003.1-2008)
@@ -431,29 +431,29 @@ codecvt usage.
. </span><span class="copyright">Copyright © 2008
The Open Group/The Institute of Electrical and Electronics
Engineers, Inc.
- . </span></p></div><div class="biblioentry" title="The C++ Programming Language, Special Edition"><a id="id658821"></a><p><span class="title"><i>
+ . </span></p></div><div class="biblioentry" title="The C++ Programming Language, Special Edition"><a id="id408136"></a><p><span class="title"><i>
The C++ Programming Language, Special Edition
</i>. </span><span class="author"><span class="firstname">Bjarne</span> <span class="surname">Stroustrup</span>. </span><span class="copyright">Copyright © 2000 Addison Wesley, Inc.. </span><span class="pagenums">Appendix D. </span><span class="publisher"><span class="publishername">
Addison Wesley
- . </span></span></p></div><div class="biblioentry" title="Standard C++ IOStreams and Locales"><a id="id592168"></a><p><span class="title"><i>
+ . </span></span></p></div><div class="biblioentry" title="Standard C++ IOStreams and Locales"><a id="id393924"></a><p><span class="title"><i>
Standard C++ IOStreams and Locales
</i>. </span><span class="subtitle">
Advanced Programmer's Guide and Reference
. </span><span class="author"><span class="firstname">Angelika</span> <span class="surname">Langer</span>. </span><span class="author"><span class="firstname">Klaus</span> <span class="surname">Kreft</span>. </span><span class="copyright">Copyright © 2000 Addison Wesley Longman, Inc.. </span><span class="publisher"><span class="publishername">
Addison Wesley Longman
- . </span></span></p></div><div class="biblioentry"><a id="id554048"></a><p><span class="biblioid">
+ . </span></span></p></div><div class="biblioentry"><a id="id446609"></a><p><span class="biblioid">
<a class="ulink" href="http://www.lysator.liu.se/c/na1.html" target="_top">
<em class="citetitle">
A brief description of Normative Addendum 1
</em>
</a>
- . </span><span class="author"><span class="firstname">Clive</span> <span class="surname">Feather</span>. </span><span class="pagenums">Extended Character Sets. </span></p></div><div class="biblioentry"><a id="id569562"></a><p><span class="biblioid">
+ . </span><span class="author"><span class="firstname">Clive</span> <span class="surname">Feather</span>. </span><span class="pagenums">Extended Character Sets. </span></p></div><div class="biblioentry"><a id="id331499"></a><p><span class="biblioid">
<a class="ulink" href="http://tldp.org/HOWTO/Unicode-HOWTO.html" target="_top">
<em class="citetitle">
The Unicode HOWTO
</em>
</a>
- . </span><span class="author"><span class="firstname">Bruno</span> <span class="surname">Haible</span>. </span></p></div><div class="biblioentry"><a id="id652216"></a><p><span class="biblioid">
+ . </span><span class="author"><span class="firstname">Bruno</span> <span class="surname">Haible</span>. </span></p></div><div class="biblioentry"><a id="id331529"></a><p><span class="biblioid">
<a class="ulink" href="http://www.cl.cam.ac.uk/~mgk25/unicode.html" target="_top">
<em class="citetitle">
UTF-8 and Unicode FAQ for Unix/Linux
@@ -700,16 +700,16 @@ void test01()
model. As of this writing, it is unknown how to query to see
if a specified message catalog exists using the gettext
package.
- </p></li></ul></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h4 class="title"><a id="facet.messages.biblio"></a>Bibliography</h4></div></div></div><div class="biblioentry" title="The GNU C Library"><a id="id502869"></a><p><span class="title"><i>
+ </p></li></ul></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h4 class="title"><a id="facet.messages.biblio"></a>Bibliography</h4></div></div></div><div class="biblioentry" title="The GNU C Library"><a id="id504136"></a><p><span class="title"><i>
The GNU C Library
</i>. </span><span class="author"><span class="firstname">Roland</span> <span class="surname">McGrath</span>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span><span class="copyright">Copyright © 2007 FSF. </span><span class="pagenums">Chapters 6 Character Set Handling, and 7 Locales and Internationalization
- . </span></p></div><div class="biblioentry" title="Correspondence"><a id="id538908"></a><p><span class="title"><i>
+ . </span></p></div><div class="biblioentry" title="Correspondence"><a id="id416147"></a><p><span class="title"><i>
Correspondence
- </i>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span><span class="copyright">Copyright © 2002 . </span></p></div><div class="biblioentry" title="ISO/IEC 14882:1998 Programming languages - C++"><a id="id533345"></a><p><span class="title"><i>
+ </i>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span><span class="copyright">Copyright © 2002 . </span></p></div><div class="biblioentry" title="ISO/IEC 14882:1998 Programming languages - C++"><a id="id416175"></a><p><span class="title"><i>
ISO/IEC 14882:1998 Programming languages - C++
- </i>. </span><span class="copyright">Copyright © 1998 ISO. </span></p></div><div class="biblioentry" title="ISO/IEC 9899:1999 Programming languages - C"><a id="id533363"></a><p><span class="title"><i>
+ </i>. </span><span class="copyright">Copyright © 1998 ISO. </span></p></div><div class="biblioentry" title="ISO/IEC 9899:1999 Programming languages - C"><a id="id456221"></a><p><span class="title"><i>
ISO/IEC 9899:1999 Programming languages - C
- </i>. </span><span class="copyright">Copyright © 1999 ISO. </span></p></div><div class="biblioentry"><a id="id654168"></a><p><span class="biblioid">
+ </i>. </span><span class="copyright">Copyright © 1999 ISO. </span></p></div><div class="biblioentry"><a id="id456239"></a><p><span class="biblioid">
<a class="ulink" href="http://www.opengroup.org/austin" target="_top">
<em class="citetitle">
System Interface Definitions, Issue 7 (IEEE Std. 1003.1-2008)
@@ -718,17 +718,17 @@ void test01()
. </span><span class="copyright">Copyright © 2008
The Open Group/The Institute of Electrical and Electronics
Engineers, Inc.
- . </span></p></div><div class="biblioentry" title="The C++ Programming Language, Special Edition"><a id="id571065"></a><p><span class="title"><i>
+ . </span></p></div><div class="biblioentry" title="The C++ Programming Language, Special Edition"><a id="id445827"></a><p><span class="title"><i>
The C++ Programming Language, Special Edition
</i>. </span><span class="author"><span class="firstname">Bjarne</span> <span class="surname">Stroustrup</span>. </span><span class="copyright">Copyright © 2000 Addison Wesley, Inc.. </span><span class="pagenums">Appendix D. </span><span class="publisher"><span class="publishername">
Addison Wesley
- . </span></span></p></div><div class="biblioentry" title="Standard C++ IOStreams and Locales"><a id="id571106"></a><p><span class="title"><i>
+ . </span></span></p></div><div class="biblioentry" title="Standard C++ IOStreams and Locales"><a id="id455920"></a><p><span class="title"><i>
Standard C++ IOStreams and Locales
</i>. </span><span class="subtitle">
Advanced Programmer's Guide and Reference
. </span><span class="author"><span class="firstname">Angelika</span> <span class="surname">Langer</span>. </span><span class="author"><span class="firstname">Klaus</span> <span class="surname">Kreft</span>. </span><span class="copyright">Copyright © 2000 Addison Wesley Longman, Inc.. </span><span class="publisher"><span class="publishername">
Addison Wesley Longman
- . </span></span></p></div><div class="biblioentry"><a id="id576320"></a><p><span class="biblioid">
+ . </span></span></p></div><div class="biblioentry"><a id="id467395"></a><p><span class="biblioid">
<a class="ulink" href="http://java.sun.com/reference/api/index.html" target="_top">
<em class="citetitle">
API Specifications, Java Platform
@@ -736,7 +736,7 @@ void test01()
</a>
. </span><span class="pagenums">java.util.Properties, java.text.MessageFormat,
java.util.Locale, java.util.ResourceBundle
- . </span></p></div><div class="biblioentry"><a id="id576344"></a><p><span class="biblioid">
+ . </span></p></div><div class="biblioentry"><a id="id467417"></a><p><span class="biblioid">
<a class="ulink" href="http://www.gnu.org/software/gettext/" target="_top">
<em class="citetitle">
GNU gettext tools, version 0.10.38, Native Language Support
diff --git a/libstdc++-v3/doc/html/manual/intro.html b/libstdc++-v3/doc/html/manual/intro.html
index eaf97bc2255..ecdb0653316 100644
--- a/libstdc++-v3/doc/html/manual/intro.html
+++ b/libstdc++-v3/doc/html/manual/intro.html
@@ -5,5 +5,5 @@
</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="spine.html">Prev</a> </td><th width="60%" align="center">The GNU C++ Library</th><td width="20%" align="right"> <a accesskey="n" href="status.html">Next</a></td></tr></table><hr /></div><div class="part" title="Part I.  Introduction"><div class="titlepage"><div><div><h1 class="title"><a id="manual.intro"></a>Part I. 
Introduction
- <a id="id611766" class="indexterm"></a>
+ <a id="id460662" class="indexterm"></a>
</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="chapter"><a href="status.html">1. Status</a></span></dt><dd><dl><dt><span class="sect1"><a href="status.html#manual.intro.status.iso">Implementation Status</a></span></dt><dd><dl><dt><span class="sect2"><a href="status.html#status.iso.1998">C++ 1998/2003</a></span></dt><dt><span class="sect2"><a href="status.html#status.iso.200x">C++ 200x</a></span></dt><dt><span class="sect2"><a href="status.html#status.iso.tr1">C++ TR1</a></span></dt><dt><span class="sect2"><a href="status.html#status.iso.tr24733">C++ TR 24733</a></span></dt></dl></dd><dt><span class="sect1"><a href="license.html">License</a></span></dt><dd><dl><dt><span class="sect2"><a href="license.html#manual.intro.status.license.gpl">The Code: GPL</a></span></dt><dt><span class="sect2"><a href="license.html#manual.intro.status.license.fdl">The Documentation: GPL, FDL</a></span></dt></dl></dd><dt><span class="sect1"><a href="bugs.html">Bugs</a></span></dt><dd><dl><dt><span class="sect2"><a href="bugs.html#manual.intro.status.bugs.impl">Implementation Bugs</a></span></dt><dt><span class="sect2"><a href="bugs.html#manual.intro.status.bugs.iso">Standard Bugs</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="setup.html">2. Setup</a></span></dt><dd><dl><dt><span class="sect1"><a href="setup.html#manual.intro.setup.prereq">Prerequisites</a></span></dt><dt><span class="sect1"><a href="configure.html">Configure</a></span></dt><dt><span class="sect1"><a href="make.html">Make</a></span></dt></dl></dd><dt><span class="chapter"><a href="using.html">3. Using</a></span></dt><dd><dl><dt><span class="sect1"><a href="using.html#manual.intro.using.flags">Command Options</a></span></dt><dt><span class="sect1"><a href="using_headers.html">Headers</a></span></dt><dd><dl><dt><span class="sect2"><a href="using_headers.html#manual.intro.using.headers.all">Header Files</a></span></dt><dt><span class="sect2"><a href="using_headers.html#manual.intro.using.headers.mixing">Mixing Headers</a></span></dt><dt><span class="sect2"><a href="using_headers.html#manual.intro.using.headers.cheaders">The C Headers and <code class="code">namespace std</code></a></span></dt><dt><span class="sect2"><a href="using_headers.html#manual.intro.using.headers.pre">Precompiled Headers</a></span></dt></dl></dd><dt><span class="sect1"><a href="using_macros.html">Macros</a></span></dt><dt><span class="sect1"><a href="using_namespaces.html">Namespaces</a></span></dt><dd><dl><dt><span class="sect2"><a href="using_namespaces.html#manual.intro.using.namespaces.all">Available Namespaces</a></span></dt><dt><span class="sect2"><a href="using_namespaces.html#manual.intro.using.namespaces.std">namespace std</a></span></dt><dt><span class="sect2"><a href="using_namespaces.html#manual.intro.using.namespaces.comp">Using Namespace Composition</a></span></dt></dl></dd><dt><span class="sect1"><a href="using_dynamic_or_shared.html">Linking</a></span></dt><dd><dl><dt><span class="sect2"><a href="using_dynamic_or_shared.html#manual.intro.using.linkage.freestanding">Almost Nothing</a></span></dt><dt><span class="sect2"><a href="using_dynamic_or_shared.html#manual.intro.using.linkage.dynamic">Finding Dynamic or Shared Libraries</a></span></dt></dl></dd><dt><span class="sect1"><a href="using_concurrency.html">Concurrency</a></span></dt><dd><dl><dt><span class="sect2"><a href="using_concurrency.html#manual.intro.using.concurrency.prereq">Prerequisites</a></span></dt><dt><span class="sect2"><a href="using_concurrency.html#manual.intro.using.concurrency.thread_safety">Thread Safety</a></span></dt><dt><span class="sect2"><a href="using_concurrency.html#manual.intro.using.concurrency.atomics">Atomics</a></span></dt><dt><span class="sect2"><a href="using_concurrency.html#manual.intro.using.concurrency.io">IO</a></span></dt><dt><span class="sect2"><a href="using_concurrency.html#manual.intro.using.concurrency.containers">Containers</a></span></dt></dl></dd><dt><span class="sect1"><a href="using_exceptions.html">Exceptions</a></span></dt><dd><dl><dt><span class="sect2"><a href="using_exceptions.html#intro.using.exception.safety">Exception Safety</a></span></dt><dt><span class="sect2"><a href="using_exceptions.html#intro.using.exception.propagating">Exception Neutrality</a></span></dt><dt><span class="sect2"><a href="using_exceptions.html#intro.using.exception.no">Doing without</a></span></dt><dt><span class="sect2"><a href="using_exceptions.html#intro.using.exception.compat">Compatibility</a></span></dt></dl></dd><dt><span class="sect1"><a href="debug.html">Debugging Support</a></span></dt><dd><dl><dt><span class="sect2"><a href="debug.html#debug.compiler">Using <span class="command"><strong>g++</strong></span></a></span></dt><dt><span class="sect2"><a href="debug.html#debug.req">Debug Versions of Library Binary Files</a></span></dt><dt><span class="sect2"><a href="debug.html#debug.memory">Memory Leak Hunting</a></span></dt><dt><span class="sect2"><a href="debug.html#debug.gdb">Using <span class="command"><strong>gdb</strong></span></a></span></dt><dt><span class="sect2"><a href="debug.html#debug.exceptions">Tracking uncaught exceptions</a></span></dt><dt><span class="sect2"><a href="debug.html#debug.debug_mode">Debug Mode</a></span></dt><dt><span class="sect2"><a href="debug.html#debug.compile_time_checks">Compile Time Checking</a></span></dt><dt><span class="sect2"><a href="debug.html#debug.profile_mode">Profile-based Performance Analysis</a></span></dt></dl></dd></dl></dd></dl></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="spine.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="spine.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="status.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">The GNU C++ Library </td><td width="20%" align="center"><a accesskey="h" href="../spine.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 1. Status</td></tr></table></div></body></html>
diff --git a/libstdc++-v3/doc/html/manual/io.html b/libstdc++-v3/doc/html/manual/io.html
index 9825e4cf206..d089bccc4cb 100644
--- a/libstdc++-v3/doc/html/manual/io.html
+++ b/libstdc++-v3/doc/html/manual/io.html
@@ -7,7 +7,7 @@
Standard Contents
</th><td width="20%" align="right"> <a accesskey="n" href="streambufs.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 13.  Input and Output"><div class="titlepage"><div><div><h2 class="title"><a id="std.io"></a>Chapter 13. 
Input and Output
- <a id="id647716" class="indexterm"></a>
+ <a id="id404072" class="indexterm"></a>
</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="io.html#std.io.objects">Iostream Objects</a></span></dt><dt><span class="sect1"><a href="streambufs.html">Stream Buffers</a></span></dt><dd><dl><dt><span class="sect2"><a href="streambufs.html#io.streambuf.derived">Derived streambuf Classes</a></span></dt><dt><span class="sect2"><a href="streambufs.html#io.streambuf.buffering">Buffering</a></span></dt></dl></dd><dt><span class="sect1"><a href="stringstreams.html">Memory Based Streams</a></span></dt><dd><dl><dt><span class="sect2"><a href="stringstreams.html#std.io.memstreams.compat">Compatibility With strstream</a></span></dt></dl></dd><dt><span class="sect1"><a href="fstreams.html">File Based Streams</a></span></dt><dd><dl><dt><span class="sect2"><a href="fstreams.html#std.io.filestreams.copying_a_file">Copying a File</a></span></dt><dt><span class="sect2"><a href="fstreams.html#std.io.filestreams.binary">Binary Input and Output</a></span></dt></dl></dd><dt><span class="sect1"><a href="io_and_c.html">Interacting with C</a></span></dt><dd><dl><dt><span class="sect2"><a href="io_and_c.html#std.io.c.FILE">Using FILE* and file descriptors</a></span></dt><dt><span class="sect2"><a href="io_and_c.html#std.io.c.sync">Performance</a></span></dt></dl></dd></dl></div><div class="sect1" title="Iostream Objects"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.io.objects"></a>Iostream Objects</h2></div></div></div><p>To minimize the time you have to wait on the compiler, it's good to
only include the headers you really need. Many people simply include
&lt;iostream&gt; when they don't need to -- and that can <span class="emphasis"><em>penalize
diff --git a/libstdc++-v3/doc/html/manual/iterators.html b/libstdc++-v3/doc/html/manual/iterators.html
index 8e0680bc6f1..ee37ef7c713 100644
--- a/libstdc++-v3/doc/html/manual/iterators.html
+++ b/libstdc++-v3/doc/html/manual/iterators.html
@@ -7,7 +7,7 @@
Standard Contents
</th><td width="20%" align="right"> <a accesskey="n" href="algorithms.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 10.  Iterators"><div class="titlepage"><div><div><h2 class="title"><a id="std.iterators"></a>Chapter 10. 
Iterators
- <a id="id573150" class="indexterm"></a>
+ <a id="id376166" class="indexterm"></a>
</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="iterators.html#std.iterators.predefined">Predefined</a></span></dt><dd><dl><dt><span class="sect2"><a href="iterators.html#iterators.predefined.vs_pointers">Iterators vs. Pointers</a></span></dt><dt><span class="sect2"><a href="iterators.html#iterators.predefined.end">One Past the End</a></span></dt></dl></dd></dl></div><div class="sect1" title="Predefined"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.iterators.predefined"></a>Predefined</h2></div></div></div><div class="sect2" title="Iterators vs. Pointers"><div class="titlepage"><div><div><h3 class="title"><a id="iterators.predefined.vs_pointers"></a>Iterators vs. Pointers</h3></div></div></div><p>
The following
FAQ <a class="link" href="../faq.html#faq.iterator_as_pod" title="7.1.">entry</a> points out that
diff --git a/libstdc++-v3/doc/html/manual/localization.html b/libstdc++-v3/doc/html/manual/localization.html
index e8ee2189cad..fa1d5f39945 100644
--- a/libstdc++-v3/doc/html/manual/localization.html
+++ b/libstdc++-v3/doc/html/manual/localization.html
@@ -7,7 +7,7 @@
Standard Contents
</th><td width="20%" align="right"> <a accesskey="n" href="facets.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 8.  Localization"><div class="titlepage"><div><div><h2 class="title"><a id="std.localization"></a>Chapter 8. 
Localization
- <a id="id601252" class="indexterm"></a>
+ <a id="id492578" class="indexterm"></a>
</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="localization.html#std.localization.locales">Locales</a></span></dt><dd><dl><dt><span class="section"><a href="localization.html#std.localization.locales.locale">locale</a></span></dt></dl></dd><dt><span class="section"><a href="facets.html">Facets</a></span></dt><dd><dl><dt><span class="section"><a href="facets.html#std.localization.facet.ctype">ctype</a></span></dt><dt><span class="section"><a href="facets.html#std.localization.facet.codecvt">codecvt</a></span></dt><dt><span class="section"><a href="facets.html#manual.localization.facet.messages">messages</a></span></dt></dl></dd></dl></div><div class="section" title="Locales"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.localization.locales"></a>Locales</h2></div></div></div><div class="section" title="locale"><div class="titlepage"><div><div><h3 class="title"><a id="std.localization.locales.locale"></a>locale</h3></div></div></div><p>
Describes the basic locale object, including nested
classes id, facet, and the reference-counted implementation object,
@@ -403,18 +403,18 @@ global locale" (emphasis Paolo), that is:
What should non-required facet instantiations do? If the
generic implementation is provided, then how to end-users
provide specializations?
- </p></li></ul></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h4 class="title"><a id="locales.locale.biblio"></a>Bibliography</h4></div></div></div><div class="biblioentry" title="The GNU C Library"><a id="id541662"></a><p><span class="title"><i>
+ </p></li></ul></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h4 class="title"><a id="locales.locale.biblio"></a>Bibliography</h4></div></div></div><div class="biblioentry" title="The GNU C Library"><a id="id469670"></a><p><span class="title"><i>
The GNU C Library
</i>. </span><span class="author"><span class="firstname">Roland</span> <span class="surname">McGrath</span>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span><span class="copyright">Copyright © 2007 FSF. </span><span class="pagenums">
Chapters 6 Character Set Handling and 7 Locales and
Internationalization
- . </span></p></div><div class="biblioentry" title="Correspondence"><a id="id567498"></a><p><span class="title"><i>
+ . </span></p></div><div class="biblioentry" title="Correspondence"><a id="id506284"></a><p><span class="title"><i>
Correspondence
- </i>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span><span class="copyright">Copyright © 2002 . </span></p></div><div class="biblioentry" title="ISO/IEC 14882:1998 Programming languages - C++"><a id="id628132"></a><p><span class="title"><i>
+ </i>. </span><span class="author"><span class="firstname">Ulrich</span> <span class="surname">Drepper</span>. </span><span class="copyright">Copyright © 2002 . </span></p></div><div class="biblioentry" title="ISO/IEC 14882:1998 Programming languages - C++"><a id="id404778"></a><p><span class="title"><i>
ISO/IEC 14882:1998 Programming languages - C++
- </i>. </span><span class="copyright">Copyright © 1998 ISO. </span></p></div><div class="biblioentry" title="ISO/IEC 9899:1999 Programming languages - C"><a id="id602622"></a><p><span class="title"><i>
+ </i>. </span><span class="copyright">Copyright © 1998 ISO. </span></p></div><div class="biblioentry" title="ISO/IEC 9899:1999 Programming languages - C"><a id="id404796"></a><p><span class="title"><i>
ISO/IEC 9899:1999 Programming languages - C
- </i>. </span><span class="copyright">Copyright © 1999 ISO. </span></p></div><div class="biblioentry"><a id="id602640"></a><p><span class="biblioid">
+ </i>. </span><span class="copyright">Copyright © 1999 ISO. </span></p></div><div class="biblioentry"><a id="id415109"></a><p><span class="biblioid">
<a class="ulink" href="http://www.opengroup.org/austin" target="_top">
<em class="citetitle">
System Interface Definitions, Issue 7 (IEEE Std. 1003.1-2008)
@@ -423,11 +423,11 @@ global locale" (emphasis Paolo), that is:
. </span><span class="copyright">Copyright © 2008
The Open Group/The Institute of Electrical and Electronics
Engineers, Inc.
- . </span></p></div><div class="biblioentry" title="The C++ Programming Language, Special Edition"><a id="id551395"></a><p><span class="title"><i>
+ . </span></p></div><div class="biblioentry" title="The C++ Programming Language, Special Edition"><a id="id376691"></a><p><span class="title"><i>
The C++ Programming Language, Special Edition
</i>. </span><span class="author"><span class="firstname">Bjarne</span> <span class="surname">Stroustrup</span>. </span><span class="copyright">Copyright © 2000 Addison Wesley, Inc.. </span><span class="pagenums">Appendix D. </span><span class="publisher"><span class="publishername">
Addison Wesley
- . </span></span></p></div><div class="biblioentry" title="Standard C++ IOStreams and Locales"><a id="id560241"></a><p><span class="title"><i>
+ . </span></span></p></div><div class="biblioentry" title="Standard C++ IOStreams and Locales"><a id="id349259"></a><p><span class="title"><i>
Standard C++ IOStreams and Locales
</i>. </span><span class="subtitle">
Advanced Programmer's Guide and Reference
diff --git a/libstdc++-v3/doc/html/manual/memory.html b/libstdc++-v3/doc/html/manual/memory.html
index 90899d16a29..92e8b7f471e 100644
--- a/libstdc++-v3/doc/html/manual/memory.html
+++ b/libstdc++-v3/doc/html/manual/memory.html
@@ -93,7 +93,7 @@
or loading and unloading shared objects in memory. As such, using
caching allocators on systems that do not support
<code class="function">abi::__cxa_atexit</code> is not recommended.
- </p></div><div class="section" title="Implementation"><div class="titlepage"><div><div><h4 class="title"><a id="allocator.impl"></a>Implementation</h4></div></div></div><div class="section" title="Interface Design"><div class="titlepage"><div><div><h5 class="title"><a id="id585444"></a>Interface Design</h5></div></div></div><p>
+ </p></div><div class="section" title="Implementation"><div class="titlepage"><div><div><h4 class="title"><a id="allocator.impl"></a>Implementation</h4></div></div></div><div class="section" title="Interface Design"><div class="titlepage"><div><div><h5 class="title"><a id="id377805"></a>Interface Design</h5></div></div></div><p>
The only allocator interface that
is supported is the standard C++ interface. As such, all STL
containers have been adjusted, and all external allocators have
@@ -106,7 +106,7 @@
</p><p>
The base class that <code class="classname">allocator</code> is derived from
may not be user-configurable.
-</p></div><div class="section" title="Selecting Default Allocation Policy"><div class="titlepage"><div><div><h5 class="title"><a id="id571671"></a>Selecting Default Allocation Policy</h5></div></div></div><p>
+</p></div><div class="section" title="Selecting Default Allocation Policy"><div class="titlepage"><div><div><h5 class="title"><a id="id406368"></a>Selecting Default Allocation Policy</h5></div></div></div><p>
It's difficult to pick an allocation strategy that will provide
maximum utility, without excessively penalizing some behavior. In
fact, it's difficult just deciding which typical actions to measure
@@ -143,7 +143,7 @@
The current default choice for
<code class="classname">allocator</code> is
<code class="classname">__gnu_cxx::new_allocator</code>.
- </p></div><div class="section" title="Disabling Memory Caching"><div class="titlepage"><div><div><h5 class="title"><a id="id594539"></a>Disabling Memory Caching</h5></div></div></div><p>
+ </p></div><div class="section" title="Disabling Memory Caching"><div class="titlepage"><div><div><h5 class="title"><a id="id394979"></a>Disabling Memory Caching</h5></div></div></div><p>
In use, <code class="classname">allocator</code> may allocate and
deallocate using implementation-specified strategies and
heuristics. Because of this, every call to an allocator object's
@@ -308,11 +308,11 @@
A high-performance allocator that uses a bit-map to keep track
of the used and unused memory locations. It has its own
documentation, found <a class="link" href="bitmap_allocator.html" title="bitmap_allocator">here</a>.
- </p></li></ol></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h4 class="title"><a id="allocator.biblio"></a>Bibliography</h4></div></div></div><div class="biblioentry" title="ISO/IEC 14882:1998 Programming languages - C++"><a id="id577136"></a><p><span class="title"><i>
+ </p></li></ol></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h4 class="title"><a id="allocator.biblio"></a>Bibliography</h4></div></div></div><div class="biblioentry" title="ISO/IEC 14882:1998 Programming languages - C++"><a id="id399256"></a><p><span class="title"><i>
ISO/IEC 14882:1998 Programming languages - C++
</i>. </span>
isoc++_1998
- <span class="pagenums">20.4 Memory. </span></p></div><div class="biblioentry"><a id="id577150"></a><p><span class="biblioid">
+ <span class="pagenums">20.4 Memory. </span></p></div><div class="biblioentry"><a id="id399271"></a><p><span class="biblioid">
<a class="ulink" href="http://www.drdobbs.com/cpp/184403759" target="_top">
<em class="citetitle">
The Standard Librarian: What Are Allocators Good For?
@@ -320,19 +320,19 @@
</a>
. </span><span class="author"><span class="firstname">Matt</span> <span class="surname">Austern</span>. </span><span class="publisher"><span class="publishername">
C/C++ Users Journal
- . </span></span></p></div><div class="biblioentry"><a id="id621845"></a><p><span class="biblioid">
+ . </span></span></p></div><div class="biblioentry"><a id="id405510"></a><p><span class="biblioid">
<a class="ulink" href="http://www.cs.umass.edu/~emery/hoard/" target="_top">
<em class="citetitle">
The Hoard Memory Allocator
</em>
</a>
- . </span><span class="author"><span class="firstname">Emery</span> <span class="surname">Berger</span>. </span></p></div><div class="biblioentry"><a id="id553878"></a><p><span class="biblioid">
+ . </span><span class="author"><span class="firstname">Emery</span> <span class="surname">Berger</span>. </span></p></div><div class="biblioentry"><a id="id451188"></a><p><span class="biblioid">
<a class="ulink" href="http://www.cs.umass.edu/~emery/pubs/berger-oopsla2002.pdf" target="_top">
<em class="citetitle">
Reconsidering Custom Memory Allocation
</em>
</a>
- . </span><span class="author"><span class="firstname">Emery</span> <span class="surname">Berger</span>. </span><span class="author"><span class="firstname">Ben</span> <span class="surname">Zorn</span>. </span><span class="author"><span class="firstname">Kathryn</span> <span class="surname">McKinley</span>. </span><span class="copyright">Copyright © 2002 OOPSLA. </span></p></div><div class="biblioentry"><a id="id576265"></a><p><span class="biblioid">
+ . </span><span class="author"><span class="firstname">Emery</span> <span class="surname">Berger</span>. </span><span class="author"><span class="firstname">Ben</span> <span class="surname">Zorn</span>. </span><span class="author"><span class="firstname">Kathryn</span> <span class="surname">McKinley</span>. </span><span class="copyright">Copyright © 2002 OOPSLA. </span></p></div><div class="biblioentry"><a id="id387032"></a><p><span class="biblioid">
<a class="ulink" href="http://www.angelikalanger.com/Articles/C++Report/Allocators/Allocators.html" target="_top">
<em class="citetitle">
Allocator Types
@@ -340,9 +340,9 @@
</a>
. </span><span class="author"><span class="firstname">Klaus</span> <span class="surname">Kreft</span>. </span><span class="author"><span class="firstname">Angelika</span> <span class="surname">Langer</span>. </span><span class="publisher"><span class="publishername">
C/C++ Users Journal
- . </span></span></p></div><div class="biblioentry" title="The C++ Programming Language"><a id="id564944"></a><p><span class="title"><i>The C++ Programming Language</i>. </span><span class="author"><span class="firstname">Bjarne</span> <span class="surname">Stroustrup</span>. </span><span class="copyright">Copyright © 2000 . </span><span class="pagenums">19.4 Allocators. </span><span class="publisher"><span class="publishername">
+ . </span></span></p></div><div class="biblioentry" title="The C++ Programming Language"><a id="id392077"></a><p><span class="title"><i>The C++ Programming Language</i>. </span><span class="author"><span class="firstname">Bjarne</span> <span class="surname">Stroustrup</span>. </span><span class="copyright">Copyright © 2000 . </span><span class="pagenums">19.4 Allocators. </span><span class="publisher"><span class="publishername">
Addison Wesley
- . </span></span></p></div><div class="biblioentry" title="Yalloc: A Recycling C++ Allocator"><a id="id564390"></a><p><span class="title"><i>Yalloc: A Recycling C++ Allocator</i>. </span><span class="author"><span class="firstname">Felix</span> <span class="surname">Yen</span>. </span></p></div></div></div><div class="section" title="auto_ptr"><div class="titlepage"><div><div><h3 class="title"><a id="std.util.memory.auto_ptr"></a>auto_ptr</h3></div></div></div><div class="section" title="Limitations"><div class="titlepage"><div><div><h4 class="title"><a id="auto_ptr.limitations"></a>Limitations</h4></div></div></div><p>Explaining all of the fun and delicious things that can
+ . </span></span></p></div><div class="biblioentry" title="Yalloc: A Recycling C++ Allocator"><a id="id443714"></a><p><span class="title"><i>Yalloc: A Recycling C++ Allocator</i>. </span><span class="author"><span class="firstname">Felix</span> <span class="surname">Yen</span>. </span></p></div></div></div><div class="section" title="auto_ptr"><div class="titlepage"><div><div><h3 class="title"><a id="std.util.memory.auto_ptr"></a>auto_ptr</h3></div></div></div><div class="section" title="Limitations"><div class="titlepage"><div><div><h4 class="title"><a id="auto_ptr.limitations"></a>Limitations</h4></div></div></div><p>Explaining all of the fun and delicious things that can
happen with misuse of the <code class="classname">auto_ptr</code> class
template (called <acronym class="acronym">AP</acronym> here) would take some
time. Suffice it to say that the use of <acronym class="acronym">AP</acronym>
@@ -458,7 +458,7 @@ drops to zero.
Derived classes override those functions to destroy resources in a context
where the correct dynamic type is known. This is an application of the
technique known as type erasure.
- </p></div><div class="section" title="Implementation"><div class="titlepage"><div><div><h4 class="title"><a id="shared_ptr.impl"></a>Implementation</h4></div></div></div><div class="section" title="Class Hierarchy"><div class="titlepage"><div><div><h5 class="title"><a id="id536213"></a>Class Hierarchy</h5></div></div></div><p>
+ </p></div><div class="section" title="Implementation"><div class="titlepage"><div><div><h4 class="title"><a id="shared_ptr.impl"></a>Implementation</h4></div></div></div><div class="section" title="Class Hierarchy"><div class="titlepage"><div><div><h5 class="title"><a id="id389991"></a>Class Hierarchy</h5></div></div></div><p>
A <code class="classname">shared_ptr&lt;T&gt;</code> contains a pointer of
type <span class="type">T*</span> and an object of type
<code class="classname">__shared_count</code>. The shared_count contains a
@@ -466,7 +466,7 @@ pointer of type <span class="type">_Sp_counted_base*</span> which points to the
object that maintains the reference-counts and destroys the managed
resource.
</p><div class="variablelist"><dl><dt><span class="term"><code class="classname">_Sp_counted_base&lt;Lp&gt;</code></span></dt><dd><p>
-The base of the hierarchy is parameterized on the lock policy alone.
+The base of the hierarchy is parameterized on the lock policy (see below.)
_Sp_counted_base doesn't depend on the type of pointer being managed,
it only maintains the reference counts and calls virtual functions when
the counts drop to zero. The managed object is destroyed when the last
@@ -500,15 +500,7 @@ be forwarded to <span class="type">Tp</span>'s constructor.
Unlike the other <code class="classname">_Sp_counted_*</code> classes, this one is parameterized on the
type of object, not the type of pointer; this is purely a convenience
that simplifies the implementation slightly.
- </p></dd></dl></div></div><div class="section" title="Thread Safety"><div class="titlepage"><div><div><h5 class="title"><a id="id622537"></a>Thread Safety</h5></div></div></div><p>
-The interface of <code class="classname">tr1::shared_ptr</code> was extended for C++0x
-with support for rvalue-references and the other features from
-N2351. As with other libstdc++ headers shared by TR1 and C++0x,
-boost_shared_ptr.h uses conditional compilation, based on the macros
-<code class="constant">_GLIBCXX_INCLUDE_AS_CXX0X</code> and
-<code class="constant">_GLIBCXX_INCLUDE_AS_TR1</code>, to enable and disable
-features.
- </p><p>
+ </p></dd></dl></div></div><div class="section" title="Thread Safety"><div class="titlepage"><div><div><h5 class="title"><a id="id388735"></a>Thread Safety</h5></div></div></div><p>
C++0x-only features are: rvalue-ref/move support, allocator support,
aliasing constructor, make_shared &amp; allocate_shared. Additionally,
the constructors taking <code class="classname">auto_ptr</code> parameters are
@@ -558,7 +550,7 @@ compiler, standard library, platform etc. For the version of
shared_ptr in libstdc++ the compiler and library are fixed, which
makes things much simpler: we have an atomic CAS or we don't, see Lock
Policy below for details.
-</p></div><div class="section" title="Selecting Lock Policy"><div class="titlepage"><div><div><h5 class="title"><a id="id574548"></a>Selecting Lock Policy</h5></div></div></div><p>
+</p></div><div class="section" title="Selecting Lock Policy"><div class="titlepage"><div><div><h5 class="title"><a id="id480578"></a>Selecting Lock Policy</h5></div></div></div><p>
</p><p>
There is a single <code class="classname">_Sp_counted_base</code> class,
which is a template parameterized on the enum
@@ -599,18 +591,24 @@ used when libstdc++ is built without <code class="literal">--enable-threads</cod
<code class="filename">ext/atomicity.h</code>, which detect if the program
is multi-threaded. If only one thread of execution exists in
the program then less expensive non-atomic operations are used.
- </p></div><div class="section" title="Dual C++0x and TR1 Implementation"><div class="titlepage"><div><div><h5 class="title"><a id="id552414"></a>Dual C++0x and TR1 Implementation</h5></div></div></div><p>
+ </p></div><div class="section" title="Dual C++0x and TR1 Implementation"><div class="titlepage"><div><div><h5 class="title"><a id="id399352"></a>Dual C++0x and TR1 Implementation</h5></div></div></div><p>
+The interface of <code class="classname">tr1::shared_ptr</code> was extended for C++0x
+with support for rvalue-references and the other features from N2351.
+The <code class="classname">_Sp_counted_base</code> base class is implemented in
+<code class="filename">tr1/boost_sp_shared_count.h</code> and is common to the TR1
+and C++0x versions of <code class="classname">shared_ptr</code>.
+</p><p>
The classes derived from <code class="classname">_Sp_counted_base</code> (see Class Hierarchy
-below) and <code class="classname">__shared_count</code> are implemented separately for C++0x
-and TR1, in <code class="filename">bits/boost_sp_shared_count.h</code> and
-<code class="filename">tr1/boost_sp_shared_count.h</code> respectively. All other classes
-including <code class="classname">_Sp_counted_base</code> are shared by both implementations.
+above) and <code class="classname">__shared_count</code> are implemented separately for C++0x
+and TR1, in <code class="filename">bits/shared_ptr.h</code> and
+<code class="filename">tr1/shared_ptr.h</code> respectively.
</p><p>
The TR1 implementation is considered relatively stable, so is unlikely to
change unless bug fixes require it. If the code that is common to both
C++0x and TR1 modes needs to diverge further then it might be necessary to
-duplicate additional classes and only make changes to the C++0x versions.
-</p></div><div class="section" title="Related functions and classes"><div class="titlepage"><div><div><h5 class="title"><a id="id530167"></a>Related functions and classes</h5></div></div></div><div class="variablelist"><dl><dt><span class="term"><code class="code">dynamic_pointer_cast</code>, <code class="code">static_pointer_cast</code>,
+duplicate <code class="classname">_Sp_counted_base</code> and only make changes to
+the C++0x version.
+</p></div><div class="section" title="Related functions and classes"><div class="titlepage"><div><div><h5 class="title"><a id="id404250"></a>Related functions and classes</h5></div></div></div><div class="variablelist"><dl><dt><span class="term"><code class="code">dynamic_pointer_cast</code>, <code class="code">static_pointer_cast</code>,
<code class="code">const_pointer_cast</code></span></dt><dd><p>
As noted in N2351, these functions can be implemented non-intrusively using
the alias constructor. However the aliasing constructor is only available
@@ -643,15 +641,15 @@ is called. Users should not try to use this.
As well as the extra constructors, this implementation also needs some
members of _Sp_counted_deleter to be protected where they could otherwise
be private.
- </p></dd></dl></div></div></div><div class="section" title="Use"><div class="titlepage"><div><div><h4 class="title"><a id="shared_ptr.using"></a>Use</h4></div></div></div><div class="section" title="Examples"><div class="titlepage"><div><div><h5 class="title"><a id="id558154"></a>Examples</h5></div></div></div><p>
+ </p></dd></dl></div></div></div><div class="section" title="Use"><div class="titlepage"><div><div><h4 class="title"><a id="shared_ptr.using"></a>Use</h4></div></div></div><div class="section" title="Examples"><div class="titlepage"><div><div><h5 class="title"><a id="id478086"></a>Examples</h5></div></div></div><p>
Examples of use can be found in the testsuite, under
- <code class="filename">testsuite/tr1/2_general_utilities/shared_ptr</code>.
- </p></div><div class="section" title="Unresolved Issues"><div class="titlepage"><div><div><h5 class="title"><a id="id558170"></a>Unresolved Issues</h5></div></div></div><p>
- The resolution to C++ Standard Library issue <a class="ulink" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#674" target="_top">674</a>,
- "shared_ptr interface changes for consistency with N1856" will
- need to be implemented after it is accepted into the working
- paper. Issue <a class="ulink" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#743" target="_top">743</a>
- might also require changes.
+ <code class="filename">testsuite/tr1/2_general_utilities/shared_ptr</code>,
+ <code class="filename">testsuite/20_util/shared_ptr</code>
+ and
+ <code class="filename">testsuite/20_util/weak_ptr</code>.
+ </p></div><div class="section" title="Unresolved Issues"><div class="titlepage"><div><div><h5 class="title"><a id="id397929"></a>Unresolved Issues</h5></div></div></div><p>
+ The <span class="emphasis"><em><code class="classname">shared_ptr</code> atomic access</em></span>
+ clause in the C++0x working draft is not implemented in GCC.
</p><p>
The <span class="type">_S_single</span> policy uses atomics when used in MT
code, because it uses the same dispatcher functions that check
@@ -685,16 +683,12 @@ be private.
</p><p>
tr1::_Sp_deleter could be a private member of tr1::__shared_count but it
would alter the ABI.
- </p><p>
- Exposing the alias constructor in TR1 mode could simplify the
- *_pointer_cast functions. Constructor could be private in TR1
- mode, with the cast functions as friends.
</p></div></div><div class="section" title="Acknowledgments"><div class="titlepage"><div><div><h4 class="title"><a id="shared_ptr.ack"></a>Acknowledgments</h4></div></div></div><p>
The original authors of the Boost shared_ptr, which is really nice
code to work with, Peter Dimov in particular for his help and
invaluable advice on thread safety. Phillip Jordan and Paolo
Carlini for the lock policy implementation.
- </p></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h4 class="title"><a id="shared_ptr.biblio"></a>Bibliography</h4></div></div></div><div class="biblioentry"><a id="id569700"></a><p><span class="biblioid">
+ </p></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h4 class="title"><a id="shared_ptr.biblio"></a>Bibliography</h4></div></div></div><div class="biblioentry"><a id="id444231"></a><p><span class="biblioid">
<a class="ulink" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2351.htm" target="_top">
<em class="citetitle">
Improving shared_ptr for C++0x, Revision 2
@@ -702,7 +696,7 @@ be private.
</a>
. </span><span class="subtitle">
N2351
- . </span></p></div><div class="biblioentry"><a id="id552965"></a><p><span class="biblioid">
+ . </span></p></div><div class="biblioentry"><a id="id444254"></a><p><span class="biblioid">
<a class="ulink" href="http://open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2456.html" target="_top">
<em class="citetitle">
C++ Standard Library Active Issues List
@@ -710,7 +704,7 @@ be private.
</a>
. </span><span class="subtitle">
N2456
- . </span></p></div><div class="biblioentry"><a id="id552988"></a><p><span class="biblioid">
+ . </span></p></div><div class="biblioentry"><a id="id400755"></a><p><span class="biblioid">
<a class="ulink" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2461.pdf" target="_top">
<em class="citetitle">
Working Draft, Standard for Programming Language C++
@@ -718,7 +712,7 @@ be private.
</a>
. </span><span class="subtitle">
N2461
- . </span></p></div><div class="biblioentry"><a id="id554228"></a><p><span class="biblioid">
+ . </span></p></div><div class="biblioentry"><a id="id424141"></a><p><span class="biblioid">
<a class="ulink" href="http://boost.org/libs/smart_ptr/shared_ptr.htm" target="_top">shared_ptr
<em class="citetitle">
Boost C++ Libraries documentation, shared_ptr
diff --git a/libstdc++-v3/doc/html/manual/numerics.html b/libstdc++-v3/doc/html/manual/numerics.html
index ea8ab1558dd..faeaf995ab0 100644
--- a/libstdc++-v3/doc/html/manual/numerics.html
+++ b/libstdc++-v3/doc/html/manual/numerics.html
@@ -7,7 +7,7 @@
Standard Contents
</th><td width="20%" align="right"> <a accesskey="n" href="generalized_numeric_operations.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 12.  Numerics"><div class="titlepage"><div><div><h2 class="title"><a id="std.numerics"></a>Chapter 12. 
Numerics
- <a id="id528822" class="indexterm"></a>
+ <a id="id415325" class="indexterm"></a>
</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="numerics.html#std.numerics.complex">Complex</a></span></dt><dd><dl><dt><span class="sect2"><a href="numerics.html#numerics.complex.processing">complex Processing</a></span></dt></dl></dd><dt><span class="sect1"><a href="generalized_numeric_operations.html">Generalized Operations</a></span></dt><dt><span class="sect1"><a href="numerics_and_c.html">Interacting with C</a></span></dt><dd><dl><dt><span class="sect2"><a href="numerics_and_c.html#numerics.c.array">Numerics vs. Arrays</a></span></dt><dt><span class="sect2"><a href="numerics_and_c.html#numerics.c.c99">C99</a></span></dt></dl></dd></dl></div><div class="sect1" title="Complex"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.numerics.complex"></a>Complex</h2></div></div></div><p>
</p><div class="sect2" title="complex Processing"><div class="titlepage"><div><div><h3 class="title"><a id="numerics.complex.processing"></a>complex Processing</h3></div></div></div><p>
</p><p>Using <code class="code">complex&lt;&gt;</code> becomes even more comple- er, sorry,
diff --git a/libstdc++-v3/doc/html/manual/parallel_mode.html b/libstdc++-v3/doc/html/manual/parallel_mode.html
index 7e42ddce272..bcfd91c19a2 100644
--- a/libstdc++-v3/doc/html/manual/parallel_mode.html
+++ b/libstdc++-v3/doc/html/manual/parallel_mode.html
@@ -13,11 +13,11 @@ explicit source declaration or by compiling existing sources with a
specific compiler flag.
</p><div class="sect1" title="Intro"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.parallel_mode.intro"></a>Intro</h2></div></div></div><p>The following library components in the include
<code class="filename">numeric</code> are included in the parallel mode:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><code class="function">std::accumulate</code></p></li><li class="listitem"><p><code class="function">std::adjacent_difference</code></p></li><li class="listitem"><p><code class="function">std::inner_product</code></p></li><li class="listitem"><p><code class="function">std::partial_sum</code></p></li></ul></div><p>The following library components in the include
-<code class="filename">algorithm</code> are included in the parallel mode:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><code class="function">std::adjacent_find</code></p></li><li class="listitem"><p><code class="function">std::count</code></p></li><li class="listitem"><p><code class="function">std::count_if</code></p></li><li class="listitem"><p><code class="function">std::equal</code></p></li><li class="listitem"><p><code class="function">std::find</code></p></li><li class="listitem"><p><code class="function">std::find_if</code></p></li><li class="listitem"><p><code class="function">std::find_first_of</code></p></li><li class="listitem"><p><code class="function">std::for_each</code></p></li><li class="listitem"><p><code class="function">std::generate</code></p></li><li class="listitem"><p><code class="function">std::generate_n</code></p></li><li class="listitem"><p><code class="function">std::lexicographical_compare</code></p></li><li class="listitem"><p><code class="function">std::mismatch</code></p></li><li class="listitem"><p><code class="function">std::search</code></p></li><li class="listitem"><p><code class="function">std::search_n</code></p></li><li class="listitem"><p><code class="function">std::transform</code></p></li><li class="listitem"><p><code class="function">std::replace</code></p></li><li class="listitem"><p><code class="function">std::replace_if</code></p></li><li class="listitem"><p><code class="function">std::max_element</code></p></li><li class="listitem"><p><code class="function">std::merge</code></p></li><li class="listitem"><p><code class="function">std::min_element</code></p></li><li class="listitem"><p><code class="function">std::nth_element</code></p></li><li class="listitem"><p><code class="function">std::partial_sort</code></p></li><li class="listitem"><p><code class="function">std::partition</code></p></li><li class="listitem"><p><code class="function">std::random_shuffle</code></p></li><li class="listitem"><p><code class="function">std::set_union</code></p></li><li class="listitem"><p><code class="function">std::set_intersection</code></p></li><li class="listitem"><p><code class="function">std::set_symmetric_difference</code></p></li><li class="listitem"><p><code class="function">std::set_difference</code></p></li><li class="listitem"><p><code class="function">std::sort</code></p></li><li class="listitem"><p><code class="function">std::stable_sort</code></p></li><li class="listitem"><p><code class="function">std::unique_copy</code></p></li></ul></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h2 class="title"><a id="parallel_mode.biblio"></a>Bibliography</h2></div></div></div><div class="biblioentry" title="Parallelization of Bulk Operations for STL Dictionaries"><a id="id563790"></a><p><span class="title"><i>
+<code class="filename">algorithm</code> are included in the parallel mode:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><code class="function">std::adjacent_find</code></p></li><li class="listitem"><p><code class="function">std::count</code></p></li><li class="listitem"><p><code class="function">std::count_if</code></p></li><li class="listitem"><p><code class="function">std::equal</code></p></li><li class="listitem"><p><code class="function">std::find</code></p></li><li class="listitem"><p><code class="function">std::find_if</code></p></li><li class="listitem"><p><code class="function">std::find_first_of</code></p></li><li class="listitem"><p><code class="function">std::for_each</code></p></li><li class="listitem"><p><code class="function">std::generate</code></p></li><li class="listitem"><p><code class="function">std::generate_n</code></p></li><li class="listitem"><p><code class="function">std::lexicographical_compare</code></p></li><li class="listitem"><p><code class="function">std::mismatch</code></p></li><li class="listitem"><p><code class="function">std::search</code></p></li><li class="listitem"><p><code class="function">std::search_n</code></p></li><li class="listitem"><p><code class="function">std::transform</code></p></li><li class="listitem"><p><code class="function">std::replace</code></p></li><li class="listitem"><p><code class="function">std::replace_if</code></p></li><li class="listitem"><p><code class="function">std::max_element</code></p></li><li class="listitem"><p><code class="function">std::merge</code></p></li><li class="listitem"><p><code class="function">std::min_element</code></p></li><li class="listitem"><p><code class="function">std::nth_element</code></p></li><li class="listitem"><p><code class="function">std::partial_sort</code></p></li><li class="listitem"><p><code class="function">std::partition</code></p></li><li class="listitem"><p><code class="function">std::random_shuffle</code></p></li><li class="listitem"><p><code class="function">std::set_union</code></p></li><li class="listitem"><p><code class="function">std::set_intersection</code></p></li><li class="listitem"><p><code class="function">std::set_symmetric_difference</code></p></li><li class="listitem"><p><code class="function">std::set_difference</code></p></li><li class="listitem"><p><code class="function">std::sort</code></p></li><li class="listitem"><p><code class="function">std::stable_sort</code></p></li><li class="listitem"><p><code class="function">std::unique_copy</code></p></li></ul></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h2 class="title"><a id="parallel_mode.biblio"></a>Bibliography</h2></div></div></div><div class="biblioentry" title="Parallelization of Bulk Operations for STL Dictionaries"><a id="id503217"></a><p><span class="title"><i>
Parallelization of Bulk Operations for STL Dictionaries
</i>. </span><span class="author"><span class="firstname">Johannes</span> <span class="surname">Singler</span>. </span><span class="author"><span class="firstname">Leonor</span> <span class="surname">Frias</span>. </span><span class="copyright">Copyright © 2007 . </span><span class="publisher"><span class="publishername">
Workshop on Highly Parallel Processing on a Chip (HPPC) 2007. (LNCS)
- . </span></span></p></div><div class="biblioentry" title="The Multi-Core Standard Template Library"><a id="id536431"></a><p><span class="title"><i>
+ . </span></span></p></div><div class="biblioentry" title="The Multi-Core Standard Template Library"><a id="id503264"></a><p><span class="title"><i>
The Multi-Core Standard Template Library
</i>. </span><span class="author"><span class="firstname">Johannes</span> <span class="surname">Singler</span>. </span><span class="author"><span class="firstname">Peter</span> <span class="surname">Sanders</span>. </span><span class="author"><span class="firstname">Felix</span> <span class="surname">Putze</span>. </span><span class="copyright">Copyright © 2007 . </span><span class="publisher"><span class="publishername">
Euro-Par 2007: Parallel Processing. (LNCS 4641)
diff --git a/libstdc++-v3/doc/html/manual/profile_mode.html b/libstdc++-v3/doc/html/manual/profile_mode.html
index 81c732621e0..6c6bea00103 100644
--- a/libstdc++-v3/doc/html/manual/profile_mode.html
+++ b/libstdc++-v3/doc/html/manual/profile_mode.html
@@ -138,7 +138,7 @@ vector-size: improvement = 3: call stack = 0x804842c ...
call context.
(Environment variable not supported.)
</p></li></ul></div><p>
- </p></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h2 class="title"><a id="profile_mode.biblio"></a>Bibliography</h2></div></div></div><div class="biblioentry" title="Perflint: A Context Sensitive Performance Advisor for C++ Programs"><a id="id653695"></a><p><span class="title"><i>
+ </p></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h2 class="title"><a id="profile_mode.biblio"></a>Bibliography</h2></div></div></div><div class="biblioentry" title="Perflint: A Context Sensitive Performance Advisor for C++ Programs"><a id="id486510"></a><p><span class="title"><i>
Perflint: A Context Sensitive Performance Advisor for C++ Programs
</i>. </span><span class="author"><span class="firstname">Lixia</span> <span class="surname">Liu</span>. </span><span class="author"><span class="firstname">Silvius</span> <span class="surname">Rus</span>. </span><span class="copyright">Copyright © 2009 . </span><span class="publisher"><span class="publishername">
Proceedings of the 2009 International Symposium on Code Generation
diff --git a/libstdc++-v3/doc/html/manual/spine.html b/libstdc++-v3/doc/html/manual/spine.html
index 81745a9563e..f34706d805a 100644
--- a/libstdc++-v3/doc/html/manual/spine.html
+++ b/libstdc++-v3/doc/html/manual/spine.html
@@ -2,7 +2,7 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>The GNU C++ Library</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2" /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="prev" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="next" href="intro.html" title="Part I.  Introduction" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">The GNU C++ Library</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="../spine.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="intro.html">Next</a></td></tr></table><hr /></div><div class="book" title="The GNU C++ Library"><div class="titlepage"><div><div><h1 class="title"><a id="manual-index"></a>The GNU C++ Library</h1></div><div><p class="copyright">Copyright © 2009, 2010
<a class="ulink" href="http://www.fsf.org" target="_top">FSF</a>
- </p></div><div><div class="legalnotice" title="Legal Notice"><a id="id603935"></a><p>
+ </p></div><div><div class="legalnotice" title="Legal Notice"><a id="id451847"></a><p>
<a class="link" href="license.html" title="License">License</a>
</p></div></div></div><hr /></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="part"><a href="intro.html">I.
Introduction
@@ -61,7 +61,7 @@
</a></span></dt><dt><span class="appendix"><a href="appendix_gpl.html">D.
<acronym class="acronym">GNU</acronym> General Public License version 3
- </a></span></dt><dt><span class="appendix"><a href="appendix_gfdl.html">E. GNU Free Documentation License</a></span></dt></dl></dd></dl></div><div class="list-of-tables"><p><b>List of Tables</b></p><dl><dt>1.1. <a href="status.html#id616155">C++ 1998/2003 Implementation Status</a></dt><dt>1.2. <a href="status.html#id545724">C++ 200x Implementation Status</a></dt><dt>1.3. <a href="status.html#id563255">C++ TR1 Implementation Status</a></dt><dt>1.4. <a href="status.html#id621410">C++ TR 24733 Implementation Status</a></dt><dt>3.1. <a href="using.html#id536642">C++ Command Options</a></dt><dt>3.2. <a href="using_headers.html#id616437">C++ 1998 Library Headers</a></dt><dt>3.3. <a href="using_headers.html#id530054">C++ 1998 Library Headers for C Library Facilities</a></dt><dt>3.4. <a href="using_headers.html#id575199">C++ 200x Library Headers</a></dt><dt>3.5. <a href="using_headers.html#id549895">C++ 200x Library Headers for C Library Facilities</a></dt><dt>3.6. <a href="using_headers.html#id561380">C++ TR 1 Library Headers</a></dt><dt>3.7. <a href="using_headers.html#id605097">C++ TR 1 Library Headers for C Library Facilities</a></dt><dt>3.8. <a href="using_headers.html#id543860">C++ TR 24733 Decimal Floating-Point Header</a></dt><dt>3.9. <a href="using_headers.html#id599870">C++ ABI Headers</a></dt><dt>3.10. <a href="using_headers.html#id576171">Extension Headers</a></dt><dt>3.11. <a href="using_headers.html#id563137">Extension Debug Headers</a></dt><dt>3.12. <a href="using_headers.html#id553282">Extension Profile Headers</a></dt><dt>3.13. <a href="using_headers.html#id550322">Extension Parallel Headers</a></dt><dt>17.1. <a href="bk01pt03ch17s03.html#id533025">Debugging Containers</a></dt><dt>17.2. <a href="bk01pt03ch17s03.html#id661132">Debugging Containers C++0x</a></dt><dt>18.1. <a href="bk01pt03ch18s03.html#id660606">Parallel Algorithms</a></dt><dt>19.1. <a href="bk01pt03ch19s02.html#id556845">Profile Code Location</a></dt><dt>19.2. <a href="bk01pt03ch19s07.html#id501260">Profile Diagnostics</a></dt><dt>20.1. <a href="bitmap_allocator.html#id661907">Bitmap Allocator Memory Map</a></dt><dt>A.1. <a href="documentation_style.html#id640202">HTML to Doxygen Markup Comparison</a></dt><dt>A.2. <a href="documentation_style.html#id542838">HTML to Docbook XML Markup Comparison</a></dt><dt>A.3. <a href="documentation_style.html#id535867">Docbook XML Element Use</a></dt><dt>B.1. <a href="api.html#id659684">Extension Allocators</a></dt><dt>B.2. <a href="api.html#id651845">Extension Allocators Continued</a></dt></dl></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="../spine.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="intro.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">The GNU C++ Library Documentation </td><td width="20%" align="center"><a accesskey="h" href="../spine.html">Home</a></td><td width="40%" align="right" valign="top"> Part I. 
+ </a></span></dt><dt><span class="appendix"><a href="appendix_gfdl.html">E. GNU Free Documentation License</a></span></dt></dl></dd></dl></div><div class="list-of-tables"><p><b>List of Tables</b></p><dl><dt>1.1. <a href="status.html#id475774">C++ 1998/2003 Implementation Status</a></dt><dt>1.2. <a href="status.html#id399969">C++ 200x Implementation Status</a></dt><dt>1.3. <a href="status.html#id449588">C++ TR1 Implementation Status</a></dt><dt>1.4. <a href="status.html#id471043">C++ TR 24733 Implementation Status</a></dt><dt>3.1. <a href="using.html#id444212">C++ Command Options</a></dt><dt>3.2. <a href="using_headers.html#id470920">C++ 1998 Library Headers</a></dt><dt>3.3. <a href="using_headers.html#id349475">C++ 1998 Library Headers for C Library Facilities</a></dt><dt>3.4. <a href="using_headers.html#id477183">C++ 200x Library Headers</a></dt><dt>3.5. <a href="using_headers.html#id463447">C++ 200x Library Headers for C Library Facilities</a></dt><dt>3.6. <a href="using_headers.html#id387306">C++ TR 1 Library Headers</a></dt><dt>3.7. <a href="using_headers.html#id479735">C++ TR 1 Library Headers for C Library Facilities</a></dt><dt>3.8. <a href="using_headers.html#id400127">C++ TR 24733 Decimal Floating-Point Header</a></dt><dt>3.9. <a href="using_headers.html#id401869">C++ ABI Headers</a></dt><dt>3.10. <a href="using_headers.html#id467180">Extension Headers</a></dt><dt>3.11. <a href="using_headers.html#id403996">Extension Debug Headers</a></dt><dt>3.12. <a href="using_headers.html#id403404">Extension Profile Headers</a></dt><dt>3.13. <a href="using_headers.html#id477245">Extension Parallel Headers</a></dt><dt>17.1. <a href="bk01pt03ch17s03.html#id419645">Debugging Containers</a></dt><dt>17.2. <a href="bk01pt03ch17s03.html#id391116">Debugging Containers C++0x</a></dt><dt>18.1. <a href="bk01pt03ch18s03.html#id416292">Parallel Algorithms</a></dt><dt>19.1. <a href="bk01pt03ch19s02.html#id442414">Profile Code Location</a></dt><dt>19.2. <a href="bk01pt03ch19s07.html#id470044">Profile Diagnostics</a></dt><dt>20.1. <a href="bitmap_allocator.html#id376664">Bitmap Allocator Memory Map</a></dt><dt>A.1. <a href="documentation_style.html#id419590">HTML to Doxygen Markup Comparison</a></dt><dt>A.2. <a href="documentation_style.html#id502132">HTML to Docbook XML Markup Comparison</a></dt><dt>A.3. <a href="documentation_style.html#id502333">Docbook XML Element Use</a></dt><dt>B.1. <a href="api.html#id510444">Extension Allocators</a></dt><dt>B.2. <a href="api.html#id396448">Extension Allocators Continued</a></dt></dl></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="../spine.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="intro.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">The GNU C++ Library Documentation </td><td width="20%" align="center"><a accesskey="h" href="../spine.html">Home</a></td><td width="40%" align="right" valign="top"> Part I. 
Introduction
</td></tr></table></div></body></html>
diff --git a/libstdc++-v3/doc/html/manual/status.html b/libstdc++-v3/doc/html/manual/status.html
index 6603fafb45d..fa780af4e20 100644
--- a/libstdc++-v3/doc/html/manual/status.html
+++ b/libstdc++-v3/doc/html/manual/status.html
@@ -8,7 +8,7 @@ This status table is based on the table of contents of ISO/IEC 14882:2003.
</p><p>
This page describes the C++ support in mainline GCC SVN, not in any
particular release.
-</p><div class="table"><a id="id616155"></a><p class="title"><b>Table 1.1. C++ 1998/2003 Implementation Status</b></p><div class="table-contents"><table summary="C++ 1998/2003 Implementation Status" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left">Section</th><th align="left">Description</th><th align="left">Status</th><th align="left">Comments</th></tr></thead><tbody><tr><td align="left">
+</p><div class="table"><a id="id475774"></a><p class="title"><b>Table 1.1. C++ 1998/2003 Implementation Status</b></p><div class="table-contents"><table summary="C++ 1998/2003 Implementation Status" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left">Section</th><th align="left">Description</th><th align="left">Status</th><th align="left">Comments</th></tr></thead><tbody><tr><td align="left">
<span class="emphasis"><em>18</em></span>
</td><td colspan="3" align="left">
<span class="emphasis"><em>Language support</em></span>
@@ -157,7 +157,7 @@ presence of the required flag.
</p><p>
This page describes the C++0x support in mainline GCC SVN, not in any
particular release.
-</p><div class="table"><a id="id545724"></a><p class="title"><b>Table 1.2. C++ 200x Implementation Status</b></p><div class="table-contents"><table summary="C++ 200x Implementation Status" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left">Section</th><th align="left">Description</th><th align="left">Status</th><th align="left">Comments</th></tr></thead><tbody><tr><td align="left">
+</p><div class="table"><a id="id399969"></a><p class="title"><b>Table 1.2. C++ 200x Implementation Status</b></p><div class="table-contents"><table summary="C++ 200x Implementation Status" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left">Section</th><th align="left">Description</th><th align="left">Status</th><th align="left">Comments</th></tr></thead><tbody><tr><td align="left">
<span class="emphasis"><em>18</em></span>
</td><td colspan="3" align="left">
<span class="emphasis"><em>Language support</em></span>
@@ -202,7 +202,7 @@ particular release.
<span class="emphasis"><em>27</em></span>
</td><td colspan="3" align="left">
<span class="emphasis"><em>Input/output library</em></span>
- </td></tr><tr><td align="left">27.1</td><td align="left">General</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">27.2</td><td align="left">Iostreams requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">27.2.1</td><td align="left">Imbue Limitations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">27.2.2</td><td align="left">Positioning Type Limitations</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">27.2.3</td><td align="left">Thread safety</td><td align="left">Partial</td><td align="left"> </td></tr><tr><td align="left">27.3</td><td align="left">Forward declarations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">27.4</td><td align="left">Standard iostream objects</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">27.4.1</td><td align="left">Narrow stream objects</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">27.4.2</td><td align="left">Wide stream objects</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">27.5</td><td align="left">Iostreams base classes</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">27.6</td><td align="left">Stream buffers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">27.7</td><td align="left">Formatting and manipulators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">27.8</td><td align="left">String-based streams</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">27.9</td><td align="left">File-based streams</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">
+ </td></tr><tr><td align="left">27.1</td><td align="left">General</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">27.2</td><td align="left">Iostreams requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">27.2.1</td><td align="left">Imbue Limitations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">27.2.2</td><td align="left">Positioning Type Limitations</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">27.2.3</td><td align="left">Thread safety</td><td align="left">Partial</td><td align="left"> </td></tr><tr><td align="left">27.3</td><td align="left">Forward declarations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">27.4</td><td align="left">Standard iostream objects</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">27.4.1</td><td align="left">Narrow stream objects</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">27.4.2</td><td align="left">Wide stream objects</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">27.5</td><td align="left">Iostreams base classes</td><td align="left">Partial</td><td align="left">Missing move and swap operations</td></tr><tr><td align="left">27.6</td><td align="left">Stream buffers</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">27.7</td><td align="left">Formatting and manipulators</td><td align="left">Partial</td><td align="left">Missing move and swap operations</td></tr><tr bgcolor="#B0B0B0"><td align="left">27.8</td><td align="left">String-based streams</td><td align="left">Partial</td><td align="left">Missing move and swap operations</td></tr><tr bgcolor="#B0B0B0"><td align="left">27.9</td><td align="left">File-based streams</td><td align="left">Partial</td><td align="left">Missing move and swap operations</td></tr><tr><td align="left">
<span class="emphasis"><em>28</em></span>
</td><td colspan="3" align="left">
<span class="emphasis"><em>Regular expressions</em></span>
@@ -214,7 +214,7 @@ particular release.
<span class="emphasis"><em>30</em></span>
</td><td colspan="3" align="left">
<span class="emphasis"><em>Thread support</em></span>
- </td></tr><tr><td align="left">30.1</td><td align="left">General</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.2</td><td align="left">Requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.3</td><td align="left">Threads</td><td align="left"> </td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">30.3.1</td><td align="left">Class <code class="code">thread</code></td><td align="left">Partial</td><td align="left"><code class="code">thread::id</code> is not trivially copyable</td></tr><tr><td align="left">30.3.2</td><td align="left">Namespace <code class="code">this_thread</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.4</td><td align="left">Mutual exclusion</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">30.4.1</td><td align="left">Mutex requirements</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">30.4.1.1</td><td align="left">Class <code class="code">mutex</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.4.1.2</td><td align="left">Class <code class="code">recursive_mutex</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.4.2</td><td align="left">Timed mutex requirements</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">30.4.2.1</td><td align="left">Class <code class="code">timed_mutex</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.4.2.2</td><td align="left">Class <code class="code">recursive_timed_mutex</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.4.3</td><td align="left">Locks</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">30.4.3.1</td><td align="left">Class template <code class="code">lock_guard</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.4.3.2</td><td align="left">Class template <code class="code">unique_lock</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.4.4</td><td align="left">Generic locking algorithms</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.4.5</td><td align="left">Call once</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">30.4.5.1</td><td align="left"><code class="code">once_flag</code></td><td align="left">Y</td><td align="left">Missing constexpr</td></tr><tr><td align="left">30.4.5.2</td><td align="left"><code class="code">call_once</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.5</td><td align="left">Condition variables</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">30.5.1</td><td align="left">Class <code class="code">condition_variable</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.5.2</td><td align="left">Class <code class="code">condition_variable_any</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.6</td><td align="left">Futures</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">30.6.1</td><td align="left">Overview</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">30.6.2</td><td align="left">Error handling</td><td align="left">Y</td><td align="left">Missing constexpr</td></tr><tr><td align="left">30.6.3</td><td align="left">Class <code class="code">future_error</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.6.4</td><td align="left">Associated asynchronous state</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">30.6.5</td><td align="left">Class template <code class="code">promise</code></td><td align="left">Partial</td><td align="left">Missing <code class="code">allocator_arg_t</code></td></tr><tr><td align="left">30.6.6</td><td align="left">Class template <code class="code">future</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.6.7</td><td align="left">Class template <code class="code">shared_future</code></td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left">30.6.8</td><td align="left">Class template <code class="code">atomic_future</code></td><td align="left">N</td><td align="left"> </td></tr><tr><td align="left">30.6.9</td><td align="left">Function template <code class="code">async</code></td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">30.6.10</td><td align="left">Class template <code class="code">packaged_task</code></td><td align="left">Partial</td><td align="left">Missing <code class="code">allocator_arg_t</code></td></tr><tr><td align="left">
+ </td></tr><tr><td align="left">30.1</td><td align="left">General</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.2</td><td align="left">Requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.3</td><td align="left">Threads</td><td align="left"> </td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">30.3.1</td><td align="left">Class <code class="code">thread</code></td><td align="left">Partial</td><td align="left"><code class="code">thread::id</code> is not trivially copyable</td></tr><tr><td align="left">30.3.2</td><td align="left">Namespace <code class="code">this_thread</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.4</td><td align="left">Mutual exclusion</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">30.4.1</td><td align="left">Mutex requirements</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">30.4.1.1</td><td align="left">Class <code class="code">mutex</code></td><td align="left">Y</td><td align="left">Missing constexpr</td></tr><tr><td align="left">30.4.1.2</td><td align="left">Class <code class="code">recursive_mutex</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.4.2</td><td align="left">Timed mutex requirements</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">30.4.2.1</td><td align="left">Class <code class="code">timed_mutex</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.4.2.2</td><td align="left">Class <code class="code">recursive_timed_mutex</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.4.3</td><td align="left">Locks</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">30.4.3.1</td><td align="left">Class template <code class="code">lock_guard</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.4.3.2</td><td align="left">Class template <code class="code">unique_lock</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.4.4</td><td align="left">Generic locking algorithms</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.4.5</td><td align="left">Call once</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">30.4.5.1</td><td align="left"><code class="code">once_flag</code></td><td align="left">Y</td><td align="left">Missing constexpr</td></tr><tr><td align="left">30.4.5.2</td><td align="left"><code class="code">call_once</code></td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">30.5</td><td align="left">Condition variables</td><td align="left">Partial</td><td align="left">Missing notify_all_at_thread_exit</td></tr><tr><td align="left">30.5.1</td><td align="left">Class <code class="code">condition_variable</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.5.2</td><td align="left">Class <code class="code">condition_variable_any</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.6</td><td align="left">Futures</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">30.6.1</td><td align="left">Overview</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">30.6.2</td><td align="left">Error handling</td><td align="left">Y</td><td align="left">Missing constexpr</td></tr><tr><td align="left">30.6.3</td><td align="left">Class <code class="code">future_error</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">30.6.4</td><td align="left">Associated asynchronous state</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">30.6.5</td><td align="left">Class template <code class="code">promise</code></td><td align="left">Partial</td><td align="left">Missing <code class="code">allocator_arg_t</code> and set_*_at_thread_exit</td></tr><tr bgcolor="#B0B0B0"><td align="left">30.6.6</td><td align="left">Class template <code class="code">future</code></td><td align="left">Partial</td><td align="left">Missing future_status</td></tr><tr bgcolor="#B0B0B0"><td align="left">30.6.7</td><td align="left">Class template <code class="code">shared_future</code></td><td align="left">Partial</td><td align="left">Missing future_status</td></tr><tr bgcolor="#C8B0B0"><td align="left">30.6.8</td><td align="left">Class template <code class="code">atomic_future</code></td><td align="left">N</td><td align="left"> </td></tr><tr><td align="left">30.6.9</td><td align="left">Function template <code class="code">async</code></td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">30.6.10</td><td align="left">Class template <code class="code">packaged_task</code></td><td align="left">Partial</td><td align="left">Missing <code class="code">allocator_arg_t</code> and make_ready_at_thread_exit</td></tr><tr><td align="left">
<span class="emphasis"><em>Appendix D</em></span>
</td><td colspan="3" align="left">
<span class="emphasis"><em>Compatibility features</em></span>
@@ -229,7 +229,7 @@ In this implementation the header names are prefixed by
</p><p>
This page describes the TR1 support in mainline GCC SVN, not in any particular
release.
-</p><div class="table"><a id="id563255"></a><p class="title"><b>Table 1.3. C++ TR1 Implementation Status</b></p><div class="table-contents"><table summary="C++ TR1 Implementation Status" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left">Section</th><th align="left">Description</th><th align="left">Status</th><th align="left">Comments</th></tr></thead><tbody><tr><td align="left"><span class="emphasis"><em>2</em></span></td><td colspan="3" align="left"><span class="emphasis"><em>General Utilities</em></span></td></tr><tr><td align="left">2.1</td><td align="left">Reference wrappers</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">2.1.1</td><td align="left">Additions to header <code class="code">&lt;functional&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.1.2</td><td align="left">Class template <code class="code">reference_wrapper</code></td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">2.1.2.1</td><td align="left"><code class="code">reference_wrapper</code> construct/copy/destroy</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.1.2.2</td><td align="left"><code class="code">reference_wrapper</code> assignment</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.1.2.3</td><td align="left"><code class="code">reference_wrapper</code> access</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.1.2.4</td><td align="left"><code class="code">reference_wrapper</code> invocation</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.1.2.5</td><td align="left"><code class="code">reference_wrapper</code> helper functions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2</td><td align="left">Smart pointers</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">2.2.1</td><td align="left">Additions to header <code class="code">&lt;memory&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.2</td><td align="left">Class <code class="code">bad_weak_ptr</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.3</td><td align="left">Class template <code class="code">shared_ptr</code></td><td align="left"> </td><td align="left">
+</p><div class="table"><a id="id449588"></a><p class="title"><b>Table 1.3. C++ TR1 Implementation Status</b></p><div class="table-contents"><table summary="C++ TR1 Implementation Status" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left">Section</th><th align="left">Description</th><th align="left">Status</th><th align="left">Comments</th></tr></thead><tbody><tr><td align="left"><span class="emphasis"><em>2</em></span></td><td colspan="3" align="left"><span class="emphasis"><em>General Utilities</em></span></td></tr><tr><td align="left">2.1</td><td align="left">Reference wrappers</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">2.1.1</td><td align="left">Additions to header <code class="code">&lt;functional&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.1.2</td><td align="left">Class template <code class="code">reference_wrapper</code></td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">2.1.2.1</td><td align="left"><code class="code">reference_wrapper</code> construct/copy/destroy</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.1.2.2</td><td align="left"><code class="code">reference_wrapper</code> assignment</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.1.2.3</td><td align="left"><code class="code">reference_wrapper</code> access</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.1.2.4</td><td align="left"><code class="code">reference_wrapper</code> invocation</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.1.2.5</td><td align="left"><code class="code">reference_wrapper</code> helper functions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2</td><td align="left">Smart pointers</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">2.2.1</td><td align="left">Additions to header <code class="code">&lt;memory&gt;</code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.2</td><td align="left">Class <code class="code">bad_weak_ptr</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">2.2.3</td><td align="left">Class template <code class="code">shared_ptr</code></td><td align="left"> </td><td align="left">
<p>
Uses code from
<a class="ulink" href="http://www.boost.org/libs/smart_ptr/shared_ptr.htm" target="_top">boost::shared_ptr</a>.
@@ -242,7 +242,7 @@ decimal floating-point arithmetic
</p><p>
This page describes the TR 24733 support in mainline GCC SVN, not in any
particular release.
-</p><div class="table"><a id="id621410"></a><p class="title"><b>Table 1.4. C++ TR 24733 Implementation Status</b></p><div class="table-contents"><table summary="C++ TR 24733 Implementation Status" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left">Section</th><th align="left">Description</th><th align="left">Status</th><th align="left">Comments</th></tr></thead><tbody><tr><td align="left">
+</p><div class="table"><a id="id471043"></a><p class="title"><b>Table 1.4. C++ TR 24733 Implementation Status</b></p><div class="table-contents"><table summary="C++ TR 24733 Implementation Status" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left">Section</th><th align="left">Description</th><th align="left">Status</th><th align="left">Comments</th></tr></thead><tbody><tr><td align="left">
<span class="emphasis"><em>0</em></span>
</td><td colspan="3" align="left">
<span class="emphasis"><em>Introduction</em></span>
diff --git a/libstdc++-v3/doc/html/manual/strings.html b/libstdc++-v3/doc/html/manual/strings.html
index 3c3e7f6044d..79ee89bf305 100644
--- a/libstdc++-v3/doc/html/manual/strings.html
+++ b/libstdc++-v3/doc/html/manual/strings.html
@@ -7,7 +7,7 @@
Standard Contents
</th><td width="20%" align="right"> <a accesskey="n" href="localization.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 7.  Strings"><div class="titlepage"><div><div><h2 class="title"><a id="std.strings"></a>Chapter 7. 
Strings
- <a id="id624894" class="indexterm"></a>
+ <a id="id471606" class="indexterm"></a>
</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="strings.html#std.strings.string">String Classes</a></span></dt><dd><dl><dt><span class="sect2"><a href="strings.html#strings.string.simple">Simple Transformations</a></span></dt><dt><span class="sect2"><a href="strings.html#strings.string.case">Case Sensitivity</a></span></dt><dt><span class="sect2"><a href="strings.html#strings.string.character_types">Arbitrary Character Types</a></span></dt><dt><span class="sect2"><a href="strings.html#strings.string.token">Tokenizing</a></span></dt><dt><span class="sect2"><a href="strings.html#strings.string.shrink">Shrink to Fit</a></span></dt><dt><span class="sect2"><a href="strings.html#strings.string.Cstring">CString (MFC)</a></span></dt></dl></dd></dl></div><div class="sect1" title="String Classes"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.strings.string"></a>String Classes</h2></div></div></div><div class="sect2" title="Simple Transformations"><div class="titlepage"><div><div><h3 class="title"><a id="strings.string.simple"></a>Simple Transformations</h3></div></div></div><p>
Here are Standard, simple, and portable ways to perform common
transformations on a <code class="code">string</code> instance, such as
diff --git a/libstdc++-v3/doc/html/manual/support.html b/libstdc++-v3/doc/html/manual/support.html
index 5a7897bd8c0..f514c97aade 100644
--- a/libstdc++-v3/doc/html/manual/support.html
+++ b/libstdc++-v3/doc/html/manual/support.html
@@ -7,7 +7,7 @@
Standard Contents
</th><td width="20%" align="right"> <a accesskey="n" href="dynamic_memory.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 4.  Support"><div class="titlepage"><div><div><h2 class="title"><a id="std.support"></a>Chapter 4. 
Support
- <a id="id593549" class="indexterm"></a>
+ <a id="id402698" class="indexterm"></a>
</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="support.html#std.support.types">Types</a></span></dt><dd><dl><dt><span class="sect2"><a href="support.html#std.support.types.fundamental">Fundamental Types</a></span></dt><dt><span class="sect2"><a href="support.html#std.support.types.numeric_limits">Numeric Properties</a></span></dt><dt><span class="sect2"><a href="support.html#std.support.types.null">NULL</a></span></dt></dl></dd><dt><span class="sect1"><a href="dynamic_memory.html">Dynamic Memory</a></span></dt><dt><span class="sect1"><a href="termination.html">Termination</a></span></dt><dd><dl><dt><span class="sect2"><a href="termination.html#support.termination.handlers">Termination Handlers</a></span></dt><dt><span class="sect2"><a href="termination.html#support.termination.verbose">Verbose Terminate Handler</a></span></dt></dl></dd></dl></div><p>
This part deals with the functions called and objects created
automatically during the course of a program's existence.
diff --git a/libstdc++-v3/doc/html/manual/test.html b/libstdc++-v3/doc/html/manual/test.html
index 920a2f16126..d4379d3449f 100644
--- a/libstdc++-v3/doc/html/manual/test.html
+++ b/libstdc++-v3/doc/html/manual/test.html
@@ -493,7 +493,7 @@ only default variables.
reporting functions including:
</p><div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem"><p>time_counter</p></li><li class="listitem"><p>resource_counter</p></li><li class="listitem"><p>report_performance</p></li></ul></div></li></ul></div></div></div><div class="sect2" title="Special Topics"><div class="titlepage"><div><div><h3 class="title"><a id="test.special"></a>Special Topics</h3></div></div></div><div class="sect3" title="Qualifying Exception Safety Guarantees"><div class="titlepage"><div><div><h4 class="title"><a id="test.exception.safety"></a>
Qualifying Exception Safety Guarantees
- <a id="id638697" class="indexterm"></a>
+ <a id="id503957" class="indexterm"></a>
</h4></div></div></div><div class="sect4" title="Overview"><div class="titlepage"><div><div><h5 class="title"><a id="test.exception.safety.overview"></a>Overview</h5></div></div></div><p>
Testing is composed of running a particular test sequence,
and looking at what happens to the surrounding code when
diff --git a/libstdc++-v3/doc/html/manual/using.html b/libstdc++-v3/doc/html/manual/using.html
index 2d438bcc9ad..ae98c9b881d 100644
--- a/libstdc++-v3/doc/html/manual/using.html
+++ b/libstdc++-v3/doc/html/manual/using.html
@@ -11,5 +11,5 @@
enumerated and detailed in the table below.
</p><p>
By default, <span class="command"><strong>g++</strong></span> is equivalent to <span class="command"><strong>g++ -std=gnu++98</strong></span>. The standard library also defaults to this dialect.
- </p><div class="table"><a id="id536642"></a><p class="title"><b>Table 3.1. C++ Command Options</b></p><div class="table-contents"><table summary="C++ Command Options" border="1"><colgroup><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left">Option Flags</th><th align="left">Description</th></tr></thead><tbody><tr><td align="left"><code class="literal">-std=c++98</code></td><td align="left">Use the 1998 ISO C++ standard plus amendments.</td></tr><tr><td align="left"><code class="literal">-std=gnu++98</code></td><td align="left">As directly above, with GNU extensions.</td></tr><tr><td align="left"><code class="literal">-std=c++0x</code></td><td align="left">Use the working draft of the upcoming ISO C++0x standard.</td></tr><tr><td align="left"><code class="literal">-std=gnu++0x</code></td><td align="left">As directly above, with GNU extensions.</td></tr><tr><td align="left"><code class="literal">-fexceptions</code></td><td align="left">See <a class="link" href="using_exceptions.html#intro.using.exception.no" title="Doing without">exception-free dialect</a></td></tr><tr><td align="left"><code class="literal">-frtti</code></td><td align="left">As above, but RTTI-free dialect.</td></tr><tr><td align="left"><code class="literal">-pthread</code> or <code class="literal">-pthreads</code></td><td align="left">For ISO C++0x &lt;thread&gt;, &lt;future&gt;,
+ </p><div class="table"><a id="id444212"></a><p class="title"><b>Table 3.1. C++ Command Options</b></p><div class="table-contents"><table summary="C++ Command Options" border="1"><colgroup><col align="left" /><col align="left" /></colgroup><thead><tr><th align="left">Option Flags</th><th align="left">Description</th></tr></thead><tbody><tr><td align="left"><code class="literal">-std=c++98</code></td><td align="left">Use the 1998 ISO C++ standard plus amendments.</td></tr><tr><td align="left"><code class="literal">-std=gnu++98</code></td><td align="left">As directly above, with GNU extensions.</td></tr><tr><td align="left"><code class="literal">-std=c++0x</code></td><td align="left">Use the working draft of the upcoming ISO C++0x standard.</td></tr><tr><td align="left"><code class="literal">-std=gnu++0x</code></td><td align="left">As directly above, with GNU extensions.</td></tr><tr><td align="left"><code class="literal">-fexceptions</code></td><td align="left">See <a class="link" href="using_exceptions.html#intro.using.exception.no" title="Doing without">exception-free dialect</a></td></tr><tr><td align="left"><code class="literal">-frtti</code></td><td align="left">As above, but RTTI-free dialect.</td></tr><tr><td align="left"><code class="literal">-pthread</code> or <code class="literal">-pthreads</code></td><td align="left">For ISO C++0x &lt;thread&gt;, &lt;future&gt;,
&lt;mutex&gt;, or &lt;condition_variable&gt;.</td></tr><tr><td align="left"><code class="literal">-fopenmp</code></td><td align="left">For <a class="link" href="parallel_mode.html" title="Chapter 18. Parallel Mode">parallel</a> mode.</td></tr></tbody></table></div></div><br class="table-break" /></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="make.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="intro.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="using_headers.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Make </td><td width="20%" align="center"><a accesskey="h" href="../spine.html">Home</a></td><td width="40%" align="right" valign="top"> Headers</td></tr></table></div></body></html>
diff --git a/libstdc++-v3/doc/html/manual/using_exceptions.html b/libstdc++-v3/doc/html/manual/using_exceptions.html
index 1a6be8fcdc4..925d732cffd 100644
--- a/libstdc++-v3/doc/html/manual/using_exceptions.html
+++ b/libstdc++-v3/doc/html/manual/using_exceptions.html
@@ -266,7 +266,7 @@ is called.
}
catch(...)
{ this-&gt;_M_setstate(ios_base::badbit); }
-</pre></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h3 class="title"><a id="using.exceptions.biblio"></a>Bibliography</h3></div></div></div><div class="biblioentry"><a id="id557334"></a><p><span class="biblioid">
+</pre></div></div><div class="bibliography" title="Bibliography"><div class="titlepage"><div><div><h3 class="title"><a id="using.exceptions.biblio"></a>Bibliography</h3></div></div></div><div class="biblioentry"><a id="id417334"></a><p><span class="biblioid">
<a class="ulink" href="http://www.opengroup.org/austin" target="_top">
<em class="citetitle">
System Interface Definitions, Issue 7 (IEEE Std. 1003.1-2008)
@@ -277,7 +277,7 @@ is called.
. </span><span class="copyright">Copyright © 2008
The Open Group/The Institute of Electrical and Electronics
Engineers, Inc.
- . </span></p></div><div class="biblioentry"><a id="id564741"></a><p><span class="biblioid">
+ . </span></p></div><div class="biblioentry"><a id="id444298"></a><p><span class="biblioid">
<a class="ulink" href="http://www.boost.org/community/error_handling.html" target="_top">
<em class="citetitle">
Error and Exception Handling
@@ -285,7 +285,7 @@ is called.
</a>
. </span><span class="author"><span class="firstname">David</span> <span class="surname">Abrahams </span>. </span><span class="publisher"><span class="publishername">
Boost
- . </span></span></p></div><div class="biblioentry"><a id="id549572"></a><p><span class="biblioid">
+ . </span></span></p></div><div class="biblioentry"><a id="id390281"></a><p><span class="biblioid">
<a class="ulink" href="http://www.boost.org/community/exception_safety.html" target="_top">
<em class="citetitle">
Exception-Safety in Generic Components
@@ -293,7 +293,7 @@ is called.
</a>
. </span><span class="author"><span class="firstname">David</span> <span class="surname">Abrahams</span>. </span><span class="publisher"><span class="publishername">
Boost
- . </span></span></p></div><div class="biblioentry"><a id="id534395"></a><p><span class="biblioid">
+ . </span></span></p></div><div class="biblioentry"><a id="id404291"></a><p><span class="biblioid">
<a class="ulink" href="www.open-std.org/jtc1/sc22/wg21/docs/papers/1997/N1077.pdf" target="_top">
<em class="citetitle">
Standard Library Exception Policy
@@ -301,7 +301,7 @@ is called.
</a>
. </span><span class="author"><span class="firstname">Matt</span> <span class="surname">Austern</span>. </span><span class="publisher"><span class="publishername">
WG21 N1077
- . </span></span></p></div><div class="biblioentry"><a id="id621209"></a><p><span class="biblioid">
+ . </span></span></p></div><div class="biblioentry"><a id="id443907"></a><p><span class="biblioid">
<a class="ulink" href="http://gcc.gnu.org/ml/gcc-patches/2001-03/msg00661.html" target="_top">
<em class="citetitle">
ia64 c++ abi exception handling
@@ -309,17 +309,17 @@ is called.
</a>
. </span><span class="author"><span class="firstname">Richard</span> <span class="surname">Henderson</span>. </span><span class="publisher"><span class="publishername">
GNU
- . </span></span></p></div><div class="biblioentry"><a id="id555169"></a><p><span class="biblioid">
+ . </span></span></p></div><div class="biblioentry"><a id="id444623"></a><p><span class="biblioid">
<a class="ulink" href="http://www.research.att.com/~bs/3rd_safe.pdf" target="_top">
<em class="citetitle">
Appendix E: Standard-Library Exception Safety
</em>
</a>
- . </span><span class="author"><span class="firstname">Bjarne</span> <span class="surname">Stroustrup</span>. </span></p></div><div class="biblioentry" title="Exceptional C++"><a id="id540372"></a><p><span class="title"><i>
+ . </span><span class="author"><span class="firstname">Bjarne</span> <span class="surname">Stroustrup</span>. </span></p></div><div class="biblioentry" title="Exceptional C++"><a id="id444488"></a><p><span class="title"><i>
Exceptional C++
</i>. </span><span class="pagenums">
Exception-Safety Issues and Techniques
- . </span><span class="author"><span class="firstname">Herb</span> <span class="surname">Sutter</span>. </span></p></div><div class="biblioentry"><a id="id546269"></a><p><span class="biblioid">
+ . </span><span class="author"><span class="firstname">Herb</span> <span class="surname">Sutter</span>. </span></p></div><div class="biblioentry"><a id="id403652"></a><p><span class="biblioid">
<a class="ulink" href="http://gcc.gnu.org/PR25191" target="_top">
<em class="citetitle">
GCC Bug 25191: exception_defines.h #defines try/catch
diff --git a/libstdc++-v3/doc/html/manual/using_headers.html b/libstdc++-v3/doc/html/manual/using_headers.html
index 8aba28b50c2..99fe52334fc 100644
--- a/libstdc++-v3/doc/html/manual/using_headers.html
+++ b/libstdc++-v3/doc/html/manual/using_headers.html
@@ -20,19 +20,19 @@
upcoming 200x standard.
</p><p>
C++98/03 include files. These are available in the default compilation mode, i.e. <code class="code">-std=c++98</code> or <code class="code">-std=gnu++98</code>.
- </p><div class="table"><a id="id616437"></a><p class="title"><b>Table 3.2. C++ 1998 Library Headers</b></p><div class="table-contents"><table summary="C++ 1998 Library Headers" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><tbody><tr><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="filename">bitset</code></td><td align="left"><code class="filename">complex</code></td><td align="left"><code class="filename">deque</code></td><td align="left"><code class="filename">exception</code></td></tr><tr><td align="left"><code class="filename">fstream</code></td><td align="left"><code class="filename">functional</code></td><td align="left"><code class="filename">iomanip</code></td><td align="left"><code class="filename">ios</code></td><td align="left"><code class="filename">iosfwd</code></td></tr><tr><td align="left"><code class="filename">iostream</code></td><td align="left"><code class="filename">istream</code></td><td align="left"><code class="filename">iterator</code></td><td align="left"><code class="filename">limits</code></td><td align="left"><code class="filename">list</code></td></tr><tr><td align="left"><code class="filename">locale</code></td><td align="left"><code class="filename">map</code></td><td align="left"><code class="filename">memory</code></td><td align="left"><code class="filename">new</code></td><td align="left"><code class="filename">numeric</code></td></tr><tr><td align="left"><code class="filename">ostream</code></td><td align="left"><code class="filename">queue</code></td><td align="left"><code class="filename">set</code></td><td align="left"><code class="filename">sstream</code></td><td align="left"><code class="filename">stack</code></td></tr><tr><td align="left"><code class="filename">stdexcept</code></td><td align="left"><code class="filename">streambuf</code></td><td align="left"><code class="filename">string</code></td><td align="left"><code class="filename">utility</code></td><td align="left"><code class="filename">typeinfo</code></td></tr><tr><td align="left"><code class="filename">valarray</code></td><td align="left"><code class="filename">vector</code></td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr></tbody></table></div></div><br class="table-break" /><p></p><div class="table"><a id="id530054"></a><p class="title"><b>Table 3.3. C++ 1998 Library Headers for C Library Facilities</b></p><div class="table-contents"><table summary="C++ 1998 Library Headers for C Library Facilities" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><tbody><tr><td align="left"><code class="filename">cassert</code></td><td align="left"><code class="filename">cerrno</code></td><td align="left"><code class="filename">cctype</code></td><td align="left"><code class="filename">cfloat</code></td><td align="left"><code class="filename">ciso646</code></td></tr><tr><td align="left"><code class="filename">climits</code></td><td align="left"><code class="filename">clocale</code></td><td align="left"><code class="filename">cmath</code></td><td align="left"><code class="filename">csetjmp</code></td><td align="left"><code class="filename">csignal</code></td></tr><tr><td align="left"><code class="filename">cstdarg</code></td><td align="left"><code class="filename">cstddef</code></td><td align="left"><code class="filename">cstdio</code></td><td align="left"><code class="filename">cstdlib</code></td><td align="left"><code class="filename">cstring</code></td></tr><tr><td align="left"><code class="filename">ctime</code></td><td align="left"><code class="filename">cwchar</code></td><td align="left"><code class="filename">cwctype</code></td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr></tbody></table></div></div><br class="table-break" /><p>
+ </p><div class="table"><a id="id470920"></a><p class="title"><b>Table 3.2. C++ 1998 Library Headers</b></p><div class="table-contents"><table summary="C++ 1998 Library Headers" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><tbody><tr><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="filename">bitset</code></td><td align="left"><code class="filename">complex</code></td><td align="left"><code class="filename">deque</code></td><td align="left"><code class="filename">exception</code></td></tr><tr><td align="left"><code class="filename">fstream</code></td><td align="left"><code class="filename">functional</code></td><td align="left"><code class="filename">iomanip</code></td><td align="left"><code class="filename">ios</code></td><td align="left"><code class="filename">iosfwd</code></td></tr><tr><td align="left"><code class="filename">iostream</code></td><td align="left"><code class="filename">istream</code></td><td align="left"><code class="filename">iterator</code></td><td align="left"><code class="filename">limits</code></td><td align="left"><code class="filename">list</code></td></tr><tr><td align="left"><code class="filename">locale</code></td><td align="left"><code class="filename">map</code></td><td align="left"><code class="filename">memory</code></td><td align="left"><code class="filename">new</code></td><td align="left"><code class="filename">numeric</code></td></tr><tr><td align="left"><code class="filename">ostream</code></td><td align="left"><code class="filename">queue</code></td><td align="left"><code class="filename">set</code></td><td align="left"><code class="filename">sstream</code></td><td align="left"><code class="filename">stack</code></td></tr><tr><td align="left"><code class="filename">stdexcept</code></td><td align="left"><code class="filename">streambuf</code></td><td align="left"><code class="filename">string</code></td><td align="left"><code class="filename">utility</code></td><td align="left"><code class="filename">typeinfo</code></td></tr><tr><td align="left"><code class="filename">valarray</code></td><td align="left"><code class="filename">vector</code></td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr></tbody></table></div></div><br class="table-break" /><p></p><div class="table"><a id="id349475"></a><p class="title"><b>Table 3.3. C++ 1998 Library Headers for C Library Facilities</b></p><div class="table-contents"><table summary="C++ 1998 Library Headers for C Library Facilities" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><tbody><tr><td align="left"><code class="filename">cassert</code></td><td align="left"><code class="filename">cerrno</code></td><td align="left"><code class="filename">cctype</code></td><td align="left"><code class="filename">cfloat</code></td><td align="left"><code class="filename">ciso646</code></td></tr><tr><td align="left"><code class="filename">climits</code></td><td align="left"><code class="filename">clocale</code></td><td align="left"><code class="filename">cmath</code></td><td align="left"><code class="filename">csetjmp</code></td><td align="left"><code class="filename">csignal</code></td></tr><tr><td align="left"><code class="filename">cstdarg</code></td><td align="left"><code class="filename">cstddef</code></td><td align="left"><code class="filename">cstdio</code></td><td align="left"><code class="filename">cstdlib</code></td><td align="left"><code class="filename">cstring</code></td></tr><tr><td align="left"><code class="filename">ctime</code></td><td align="left"><code class="filename">cwchar</code></td><td align="left"><code class="filename">cwctype</code></td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr></tbody></table></div></div><br class="table-break" /><p>
C++0x include files. These are only available in C++0x compilation
mode, i.e. <code class="literal">-std=c++0x</code> or <code class="literal">-std=gnu++0x</code>.
-</p><p></p><div class="table"><a id="id575199"></a><p class="title"><b>Table 3.4. C++ 200x Library Headers</b></p><div class="table-contents"><table summary="C++ 200x Library Headers" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><tbody><tr><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="filename">array</code></td><td align="left"><code class="filename">bitset</code></td><td align="left"><code class="filename">chrono</code></td><td align="left"><code class="filename">complex</code></td></tr><tr><td align="left"><code class="filename">condition_variable</code></td><td align="left"><code class="filename">deque</code></td><td align="left"><code class="filename">exception</code></td><td align="left"><code class="filename">forward_list</code></td><td align="left"><code class="filename">fstream</code></td></tr><tr><td align="left"><code class="filename">functional</code></td><td align="left"><code class="filename">future</code></td><td align="left"><code class="filename">initalizer_list</code></td><td align="left"><code class="filename">iomanip</code></td><td align="left"><code class="filename">ios</code></td></tr><tr><td align="left"><code class="filename">iosfwd</code></td><td align="left"><code class="filename">iostream</code></td><td align="left"><code class="filename">istream</code></td><td align="left"><code class="filename">iterator</code></td><td align="left"><code class="filename">limits</code></td></tr><tr><td align="left"><code class="filename">list</code></td><td align="left"><code class="filename">locale</code></td><td align="left"><code class="filename">map</code></td><td align="left"><code class="filename">memory</code></td><td align="left"><code class="filename">mutex</code></td></tr><tr><td align="left"><code class="filename">new</code></td><td align="left"><code class="filename">numeric</code></td><td align="left"><code class="filename">ostream</code></td><td align="left"><code class="filename">queue</code></td><td align="left"><code class="filename">random</code></td></tr><tr><td align="left"><code class="filename">ratio</code></td><td align="left"><code class="filename">regex</code></td><td align="left"><code class="filename">set</code></td><td align="left"><code class="filename">sstream</code></td><td align="left"><code class="filename">stack</code></td></tr><tr><td align="left"><code class="filename">stdexcept</code></td><td align="left"><code class="filename">streambuf</code></td><td align="left"><code class="filename">string</code></td><td align="left"><code class="filename">system_error</code></td><td align="left"><code class="filename">thread</code></td></tr><tr><td align="left"><code class="filename">tuple</code></td><td align="left"><code class="filename">type_traits</code></td><td align="left"><code class="filename">typeinfo</code></td><td align="left"><code class="filename">unordered_map</code></td><td align="left"><code class="filename">unordered_set</code></td></tr><tr><td align="left"><code class="filename">utility</code></td><td align="left"><code class="filename">valarray</code></td><td align="left"><code class="filename">vector</code></td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr></tbody></table></div></div><br class="table-break" /><p></p><div class="table"><a id="id549895"></a><p class="title"><b>Table 3.5. C++ 200x Library Headers for C Library Facilities</b></p><div class="table-contents"><table summary="C++ 200x Library Headers for C Library Facilities" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><tbody><tr><td align="left"><code class="filename">cassert</code></td><td align="left"><code class="filename">ccomplex</code></td><td align="left"><code class="filename">cctype</code></td><td align="left"><code class="filename">cerrno</code></td><td align="left"><code class="filename">cfenv</code></td></tr><tr><td align="left"><code class="filename">cfloat</code></td><td align="left"><code class="filename">cinttypes</code></td><td align="left"><code class="filename">ciso646</code></td><td align="left"><code class="filename">climits</code></td><td align="left"><code class="filename">clocale</code></td></tr><tr><td align="left"><code class="filename">cmath</code></td><td align="left"><code class="filename">csetjmp</code></td><td align="left"><code class="filename">csignal</code></td><td align="left"><code class="filename">cstdarg</code></td><td align="left"><code class="filename">cstdbool</code></td></tr><tr><td align="left"><code class="filename">cstddef</code></td><td align="left"><code class="filename">cstdint</code></td><td align="left"><code class="filename">cstdlib</code></td><td align="left"><code class="filename">cstdio</code></td><td align="left"><code class="filename">cstring</code></td></tr><tr><td align="left"><code class="filename">ctgmath</code></td><td align="left"><code class="filename">ctime</code></td><td align="left"><code class="filename">cuchar</code></td><td align="left"><code class="filename">cwchar</code></td><td align="left"><code class="filename">cwctype</code></td></tr><tr><td align="left"><code class="filename">stdatomic.h</code></td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr></tbody></table></div></div><br class="table-break" /><p>
+</p><p></p><div class="table"><a id="id477183"></a><p class="title"><b>Table 3.4. C++ 200x Library Headers</b></p><div class="table-contents"><table summary="C++ 200x Library Headers" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><tbody><tr><td align="left"><code class="filename">algorithm</code></td><td align="left"><code class="filename">array</code></td><td align="left"><code class="filename">bitset</code></td><td align="left"><code class="filename">chrono</code></td><td align="left"><code class="filename">complex</code></td></tr><tr><td align="left"><code class="filename">condition_variable</code></td><td align="left"><code class="filename">deque</code></td><td align="left"><code class="filename">exception</code></td><td align="left"><code class="filename">forward_list</code></td><td align="left"><code class="filename">fstream</code></td></tr><tr><td align="left"><code class="filename">functional</code></td><td align="left"><code class="filename">future</code></td><td align="left"><code class="filename">initalizer_list</code></td><td align="left"><code class="filename">iomanip</code></td><td align="left"><code class="filename">ios</code></td></tr><tr><td align="left"><code class="filename">iosfwd</code></td><td align="left"><code class="filename">iostream</code></td><td align="left"><code class="filename">istream</code></td><td align="left"><code class="filename">iterator</code></td><td align="left"><code class="filename">limits</code></td></tr><tr><td align="left"><code class="filename">list</code></td><td align="left"><code class="filename">locale</code></td><td align="left"><code class="filename">map</code></td><td align="left"><code class="filename">memory</code></td><td align="left"><code class="filename">mutex</code></td></tr><tr><td align="left"><code class="filename">new</code></td><td align="left"><code class="filename">numeric</code></td><td align="left"><code class="filename">ostream</code></td><td align="left"><code class="filename">queue</code></td><td align="left"><code class="filename">random</code></td></tr><tr><td align="left"><code class="filename">ratio</code></td><td align="left"><code class="filename">regex</code></td><td align="left"><code class="filename">set</code></td><td align="left"><code class="filename">sstream</code></td><td align="left"><code class="filename">stack</code></td></tr><tr><td align="left"><code class="filename">stdexcept</code></td><td align="left"><code class="filename">streambuf</code></td><td align="left"><code class="filename">string</code></td><td align="left"><code class="filename">system_error</code></td><td align="left"><code class="filename">thread</code></td></tr><tr><td align="left"><code class="filename">tuple</code></td><td align="left"><code class="filename">type_traits</code></td><td align="left"><code class="filename">typeinfo</code></td><td align="left"><code class="filename">unordered_map</code></td><td align="left"><code class="filename">unordered_set</code></td></tr><tr><td align="left"><code class="filename">utility</code></td><td align="left"><code class="filename">valarray</code></td><td align="left"><code class="filename">vector</code></td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr></tbody></table></div></div><br class="table-break" /><p></p><div class="table"><a id="id463447"></a><p class="title"><b>Table 3.5. C++ 200x Library Headers for C Library Facilities</b></p><div class="table-contents"><table summary="C++ 200x Library Headers for C Library Facilities" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><tbody><tr><td align="left"><code class="filename">cassert</code></td><td align="left"><code class="filename">ccomplex</code></td><td align="left"><code class="filename">cctype</code></td><td align="left"><code class="filename">cerrno</code></td><td align="left"><code class="filename">cfenv</code></td></tr><tr><td align="left"><code class="filename">cfloat</code></td><td align="left"><code class="filename">cinttypes</code></td><td align="left"><code class="filename">ciso646</code></td><td align="left"><code class="filename">climits</code></td><td align="left"><code class="filename">clocale</code></td></tr><tr><td align="left"><code class="filename">cmath</code></td><td align="left"><code class="filename">csetjmp</code></td><td align="left"><code class="filename">csignal</code></td><td align="left"><code class="filename">cstdarg</code></td><td align="left"><code class="filename">cstdbool</code></td></tr><tr><td align="left"><code class="filename">cstddef</code></td><td align="left"><code class="filename">cstdint</code></td><td align="left"><code class="filename">cstdlib</code></td><td align="left"><code class="filename">cstdio</code></td><td align="left"><code class="filename">cstring</code></td></tr><tr><td align="left"><code class="filename">ctgmath</code></td><td align="left"><code class="filename">ctime</code></td><td align="left"><code class="filename">cuchar</code></td><td align="left"><code class="filename">cwchar</code></td><td align="left"><code class="filename">cwctype</code></td></tr><tr><td align="left"><code class="filename">stdatomic.h</code></td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr></tbody></table></div></div><br class="table-break" /><p>
In addition, TR1 includes as:
-</p><div class="table"><a id="id561380"></a><p class="title"><b>Table 3.6. C++ TR 1 Library Headers</b></p><div class="table-contents"><table summary="C++ TR 1 Library Headers" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><tbody><tr><td align="left"><code class="filename">tr1/array</code></td><td align="left"><code class="filename">tr1/complex</code></td><td align="left"><code class="filename">tr1/memory</code></td><td align="left"><code class="filename">tr1/functional</code></td><td align="left"><code class="filename">tr1/random</code></td></tr><tr><td align="left"><code class="filename">tr1/regex</code></td><td align="left"><code class="filename">tr1/tuple</code></td><td align="left"><code class="filename">tr1/type_traits</code></td><td align="left"><code class="filename">tr1/unordered_map</code></td><td align="left"><code class="filename">tr1/unordered_set</code></td></tr><tr><td align="left"><code class="filename">tr1/utility</code></td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr></tbody></table></div></div><br class="table-break" /><p></p><div class="table"><a id="id605097"></a><p class="title"><b>Table 3.7. C++ TR 1 Library Headers for C Library Facilities</b></p><div class="table-contents"><table summary="C++ TR 1 Library Headers for C Library Facilities" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><tbody><tr><td align="left"><code class="filename">tr1/ccomplex</code></td><td align="left"><code class="filename">tr1/cfenv</code></td><td align="left"><code class="filename">tr1/cfloat</code></td><td align="left"><code class="filename">tr1/cmath</code></td><td align="left"><code class="filename">tr1/cinttypes</code></td></tr><tr><td align="left"><code class="filename">tr1/climits</code></td><td align="left"><code class="filename">tr1/cstdarg</code></td><td align="left"><code class="filename">tr1/cstdbool</code></td><td align="left"><code class="filename">tr1/cstdint</code></td><td align="left"><code class="filename">tr1/cstdio</code></td></tr><tr><td align="left"><code class="filename">tr1/cstdlib</code></td><td align="left"><code class="filename">tr1/ctgmath</code></td><td align="left"><code class="filename">tr1/ctime</code></td><td align="left"><code class="filename">tr1/cwchar</code></td><td align="left"><code class="filename">tr1/cwctype</code></td></tr></tbody></table></div></div><br class="table-break" /><p>Decimal floating-point arithmetic is available if the C++
+</p><div class="table"><a id="id387306"></a><p class="title"><b>Table 3.6. C++ TR 1 Library Headers</b></p><div class="table-contents"><table summary="C++ TR 1 Library Headers" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><tbody><tr><td align="left"><code class="filename">tr1/array</code></td><td align="left"><code class="filename">tr1/complex</code></td><td align="left"><code class="filename">tr1/memory</code></td><td align="left"><code class="filename">tr1/functional</code></td><td align="left"><code class="filename">tr1/random</code></td></tr><tr><td align="left"><code class="filename">tr1/regex</code></td><td align="left"><code class="filename">tr1/tuple</code></td><td align="left"><code class="filename">tr1/type_traits</code></td><td align="left"><code class="filename">tr1/unordered_map</code></td><td align="left"><code class="filename">tr1/unordered_set</code></td></tr><tr><td align="left"><code class="filename">tr1/utility</code></td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr></tbody></table></div></div><br class="table-break" /><p></p><div class="table"><a id="id479735"></a><p class="title"><b>Table 3.7. C++ TR 1 Library Headers for C Library Facilities</b></p><div class="table-contents"><table summary="C++ TR 1 Library Headers for C Library Facilities" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><tbody><tr><td align="left"><code class="filename">tr1/ccomplex</code></td><td align="left"><code class="filename">tr1/cfenv</code></td><td align="left"><code class="filename">tr1/cfloat</code></td><td align="left"><code class="filename">tr1/cmath</code></td><td align="left"><code class="filename">tr1/cinttypes</code></td></tr><tr><td align="left"><code class="filename">tr1/climits</code></td><td align="left"><code class="filename">tr1/cstdarg</code></td><td align="left"><code class="filename">tr1/cstdbool</code></td><td align="left"><code class="filename">tr1/cstdint</code></td><td align="left"><code class="filename">tr1/cstdio</code></td></tr><tr><td align="left"><code class="filename">tr1/cstdlib</code></td><td align="left"><code class="filename">tr1/ctgmath</code></td><td align="left"><code class="filename">tr1/ctime</code></td><td align="left"><code class="filename">tr1/cwchar</code></td><td align="left"><code class="filename">tr1/cwctype</code></td></tr></tbody></table></div></div><br class="table-break" /><p>Decimal floating-point arithmetic is available if the C++
compiler supports scalar decimal floating-point types defined via
<code class="code">__attribute__((mode(SD|DD|LD)))</code>.
-</p><div class="table"><a id="id543860"></a><p class="title"><b>Table 3.8. C++ TR 24733 Decimal Floating-Point Header</b></p><div class="table-contents"><table summary="C++ TR 24733 Decimal Floating-Point Header" border="1"><colgroup><col align="left" /></colgroup><tbody><tr><td align="left"><code class="filename">decimal/decimal</code></td></tr></tbody></table></div></div><br class="table-break" /><p>
+</p><div class="table"><a id="id400127"></a><p class="title"><b>Table 3.8. C++ TR 24733 Decimal Floating-Point Header</b></p><div class="table-contents"><table summary="C++ TR 24733 Decimal Floating-Point Header" border="1"><colgroup><col align="left" /></colgroup><tbody><tr><td align="left"><code class="filename">decimal/decimal</code></td></tr></tbody></table></div></div><br class="table-break" /><p>
Also included are files for the C++ ABI interface:
-</p><div class="table"><a id="id599870"></a><p class="title"><b>Table 3.9. C++ ABI Headers</b></p><div class="table-contents"><table summary="C++ ABI Headers" border="1"><colgroup><col align="left" /><col align="left" /></colgroup><tbody><tr><td align="left"><code class="filename">cxxabi.h</code></td><td align="left"><code class="filename">cxxabi_forced.h</code></td></tr></tbody></table></div></div><br class="table-break" /><p>
+</p><div class="table"><a id="id401869"></a><p class="title"><b>Table 3.9. C++ ABI Headers</b></p><div class="table-contents"><table summary="C++ ABI Headers" border="1"><colgroup><col align="left" /><col align="left" /></colgroup><tbody><tr><td align="left"><code class="filename">cxxabi.h</code></td><td align="left"><code class="filename">cxxabi_forced.h</code></td></tr></tbody></table></div></div><br class="table-break" /><p>
And a large variety of extensions.
-</p><div class="table"><a id="id576171"></a><p class="title"><b>Table 3.10. Extension Headers</b></p><div class="table-contents"><table summary="Extension Headers" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><tbody><tr><td align="left"><code class="filename">ext/algorithm</code></td><td align="left"><code class="filename">ext/atomicity.h</code></td><td align="left"><code class="filename">ext/array_allocator.h</code></td><td align="left"><code class="filename">ext/bitmap_allocator.h</code></td><td align="left"><code class="filename">ext/cast.h</code></td></tr><tr><td align="left"><code class="filename">ext/codecvt_specializations.h</code></td><td align="left"><code class="filename">ext/concurrence.h</code></td><td align="left"><code class="filename">ext/debug_allocator.h</code></td><td align="left"><code class="filename">ext/enc_filebuf.h</code></td><td align="left"><code class="filename">ext/extptr_allocator.h</code></td></tr><tr><td align="left"><code class="filename">ext/functional</code></td><td align="left"><code class="filename">ext/iterator</code></td><td align="left"><code class="filename">ext/malloc_allocator.h</code></td><td align="left"><code class="filename">ext/memory</code></td><td align="left"><code class="filename">ext/mt_allocator.h</code></td></tr><tr><td align="left"><code class="filename">ext/new_allocator.h</code></td><td align="left"><code class="filename">ext/numeric</code></td><td align="left"><code class="filename">ext/numeric_traits.h</code></td><td align="left"><code class="filename">ext/pb_ds/assoc_container.h</code></td><td align="left"><code class="filename">ext/pb_ds/priority_queue.h</code></td></tr><tr><td align="left"><code class="filename">ext/pod_char_traits.h</code></td><td align="left"><code class="filename">ext/pool_allocator.h</code></td><td align="left"><code class="filename">ext/rb_tree</code></td><td align="left"><code class="filename">ext/rope</code></td><td align="left"><code class="filename">ext/slist</code></td></tr><tr><td align="left"><code class="filename">ext/stdio_filebuf.h</code></td><td align="left"><code class="filename">ext/stdio_sync_filebuf.h</code></td><td align="left"><code class="filename">ext/throw_allocator.h</code></td><td align="left"><code class="filename">ext/typelist.h</code></td><td align="left"><code class="filename">ext/type_traits.h</code></td></tr><tr><td align="left"><code class="filename">ext/vstring.h</code></td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr></tbody></table></div></div><br class="table-break" /><p></p><div class="table"><a id="id563137"></a><p class="title"><b>Table 3.11. Extension Debug Headers</b></p><div class="table-contents"><table summary="Extension Debug Headers" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><tbody><tr><td align="left"><code class="filename">debug/bitset</code></td><td align="left"><code class="filename">debug/deque</code></td><td align="left"><code class="filename">debug/list</code></td><td align="left"><code class="filename">debug/map</code></td><td align="left"><code class="filename">debug/set</code></td></tr><tr><td align="left"><code class="filename">debug/string</code></td><td align="left"><code class="filename">debug/unordered_map</code></td><td align="left"><code class="filename">debug/unordered_set</code></td><td align="left"><code class="filename">debug/vector</code></td><td class="auto-generated"> </td></tr></tbody></table></div></div><br class="table-break" /><p></p><div class="table"><a id="id553282"></a><p class="title"><b>Table 3.12. Extension Profile Headers</b></p><div class="table-contents"><table summary="Extension Profile Headers" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><tbody><tr><td align="left"><code class="filename">profile/bitset</code></td><td align="left"><code class="filename">profile/deque</code></td><td align="left"><code class="filename">profile/list</code></td><td align="left"><code class="filename">profile/map</code></td></tr><tr><td align="left"><code class="filename">profile/set</code></td><td align="left"><code class="filename">profile/unordered_map</code></td><td align="left"><code class="filename">profile/unordered_set</code></td><td align="left"><code class="filename">profile/vector</code></td></tr></tbody></table></div></div><br class="table-break" /><p></p><div class="table"><a id="id550322"></a><p class="title"><b>Table 3.13. Extension Parallel Headers</b></p><div class="table-contents"><table summary="Extension Parallel Headers" border="1"><colgroup><col align="left" /><col align="left" /></colgroup><tbody><tr><td align="left"><code class="filename">parallel/algorithm</code></td><td align="left"><code class="filename">parallel/numeric</code></td></tr></tbody></table></div></div><br class="table-break" /></div><div class="sect2" title="Mixing Headers"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.headers.mixing"></a>Mixing Headers</h3></div></div></div><p> A few simple rules.
+</p><div class="table"><a id="id467180"></a><p class="title"><b>Table 3.10. Extension Headers</b></p><div class="table-contents"><table summary="Extension Headers" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><tbody><tr><td align="left"><code class="filename">ext/algorithm</code></td><td align="left"><code class="filename">ext/atomicity.h</code></td><td align="left"><code class="filename">ext/array_allocator.h</code></td><td align="left"><code class="filename">ext/bitmap_allocator.h</code></td><td align="left"><code class="filename">ext/cast.h</code></td></tr><tr><td align="left"><code class="filename">ext/codecvt_specializations.h</code></td><td align="left"><code class="filename">ext/concurrence.h</code></td><td align="left"><code class="filename">ext/debug_allocator.h</code></td><td align="left"><code class="filename">ext/enc_filebuf.h</code></td><td align="left"><code class="filename">ext/extptr_allocator.h</code></td></tr><tr><td align="left"><code class="filename">ext/functional</code></td><td align="left"><code class="filename">ext/iterator</code></td><td align="left"><code class="filename">ext/malloc_allocator.h</code></td><td align="left"><code class="filename">ext/memory</code></td><td align="left"><code class="filename">ext/mt_allocator.h</code></td></tr><tr><td align="left"><code class="filename">ext/new_allocator.h</code></td><td align="left"><code class="filename">ext/numeric</code></td><td align="left"><code class="filename">ext/numeric_traits.h</code></td><td align="left"><code class="filename">ext/pb_ds/assoc_container.h</code></td><td align="left"><code class="filename">ext/pb_ds/priority_queue.h</code></td></tr><tr><td align="left"><code class="filename">ext/pod_char_traits.h</code></td><td align="left"><code class="filename">ext/pool_allocator.h</code></td><td align="left"><code class="filename">ext/rb_tree</code></td><td align="left"><code class="filename">ext/rope</code></td><td align="left"><code class="filename">ext/slist</code></td></tr><tr><td align="left"><code class="filename">ext/stdio_filebuf.h</code></td><td align="left"><code class="filename">ext/stdio_sync_filebuf.h</code></td><td align="left"><code class="filename">ext/throw_allocator.h</code></td><td align="left"><code class="filename">ext/typelist.h</code></td><td align="left"><code class="filename">ext/type_traits.h</code></td></tr><tr><td align="left"><code class="filename">ext/vstring.h</code></td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr></tbody></table></div></div><br class="table-break" /><p></p><div class="table"><a id="id403996"></a><p class="title"><b>Table 3.11. Extension Debug Headers</b></p><div class="table-contents"><table summary="Extension Debug Headers" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><tbody><tr><td align="left"><code class="filename">debug/bitset</code></td><td align="left"><code class="filename">debug/deque</code></td><td align="left"><code class="filename">debug/list</code></td><td align="left"><code class="filename">debug/map</code></td><td align="left"><code class="filename">debug/set</code></td></tr><tr><td align="left"><code class="filename">debug/string</code></td><td align="left"><code class="filename">debug/unordered_map</code></td><td align="left"><code class="filename">debug/unordered_set</code></td><td align="left"><code class="filename">debug/vector</code></td><td class="auto-generated"> </td></tr></tbody></table></div></div><br class="table-break" /><p></p><div class="table"><a id="id403404"></a><p class="title"><b>Table 3.12. Extension Profile Headers</b></p><div class="table-contents"><table summary="Extension Profile Headers" border="1"><colgroup><col align="left" /><col align="left" /><col align="left" /><col align="left" /></colgroup><tbody><tr><td align="left"><code class="filename">profile/bitset</code></td><td align="left"><code class="filename">profile/deque</code></td><td align="left"><code class="filename">profile/list</code></td><td align="left"><code class="filename">profile/map</code></td></tr><tr><td align="left"><code class="filename">profile/set</code></td><td align="left"><code class="filename">profile/unordered_map</code></td><td align="left"><code class="filename">profile/unordered_set</code></td><td align="left"><code class="filename">profile/vector</code></td></tr></tbody></table></div></div><br class="table-break" /><p></p><div class="table"><a id="id477245"></a><p class="title"><b>Table 3.13. Extension Parallel Headers</b></p><div class="table-contents"><table summary="Extension Parallel Headers" border="1"><colgroup><col align="left" /><col align="left" /></colgroup><tbody><tr><td align="left"><code class="filename">parallel/algorithm</code></td><td align="left"><code class="filename">parallel/numeric</code></td></tr></tbody></table></div></div><br class="table-break" /></div><div class="sect2" title="Mixing Headers"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.headers.mixing"></a>Mixing Headers</h3></div></div></div><p> A few simple rules.
</p><p>First, mixing different dialects of the standard headers is not
possible. It's an all-or-nothing affair. Thus, code like
</p><pre class="programlisting">
diff --git a/libstdc++-v3/doc/html/manual/utilities.html b/libstdc++-v3/doc/html/manual/utilities.html
index 86537fbfd19..ecc1498d80c 100644
--- a/libstdc++-v3/doc/html/manual/utilities.html
+++ b/libstdc++-v3/doc/html/manual/utilities.html
@@ -7,7 +7,7 @@
Standard Contents
</th><td width="20%" align="right"> <a accesskey="n" href="pairs.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 6.  Utilities"><div class="titlepage"><div><div><h2 class="title"><a id="std.util"></a>Chapter 6. 
Utilities
- <a id="id533234" class="indexterm"></a>
+ <a id="id410153" class="indexterm"></a>
</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="utilities.html#std.util.functors">Functors</a></span></dt><dt><span class="section"><a href="pairs.html">Pairs</a></span></dt><dt><span class="section"><a href="memory.html">Memory</a></span></dt><dd><dl><dt><span class="section"><a href="memory.html#std.util.memory.allocator">Allocators</a></span></dt><dt><span class="section"><a href="memory.html#std.util.memory.auto_ptr">auto_ptr</a></span></dt><dt><span class="section"><a href="memory.html#std.util.memory.shared_ptr">shared_ptr</a></span></dt></dl></dd><dt><span class="section"><a href="traits.html">Traits</a></span></dt></dl></div><div class="section" title="Functors"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="std.util.functors"></a>Functors</h2></div></div></div><p>If you don't know what functors are, you're not alone. Many people
get slightly the wrong idea. In the interest of not reinventing
the wheel, we will refer you to the introduction to the functor
diff --git a/libstdc++-v3/doc/xml/api.xml b/libstdc++-v3/doc/xml/api.xml
index 3073ed8ba6f..4518f23d3db 100644
--- a/libstdc++-v3/doc/xml/api.xml
+++ b/libstdc++-v3/doc/xml/api.xml
@@ -1,15 +1,10 @@
-<?xml version='1.0'?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
- "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
-[ ]>
+<book xmlns="http://docbook.org/ns/docbook" version="5.0">
-<book>
-
-<article id="api" xreflabel="API">
+<article xml:id="api" xreflabel="API">
<?dbhtml filename="api.html"?>
-<articleinfo>
- <title>API Documentation</title>
+<info><title>API Documentation</title>
+
<copyright>
<year>
2008
@@ -18,8 +13,8 @@
2010
</year>
<holder>
- <ulink url="http://www.fsf.org/">FSF
- </ulink>
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.fsf.org/">FSF
+ </link>
</holder>
</copyright>
<legalnotice>
@@ -28,7 +23,7 @@
</link>
</para>
</legalnotice>
-</articleinfo>
+</info>
<para>
The GNU C++ library sources have been specially formatted so that
@@ -47,38 +42,38 @@
<itemizedlist>
<listitem>
<para>
- <ulink url="http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-3.4/index.html">for the 3.4 release
- </ulink>
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-3.4/index.html">for the 3.4 release
+ </link>
</para>
</listitem>
<listitem>
<para>
- <ulink url="http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-4.1/index.html">for the 4.1 release
- </ulink>
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-4.1/index.html">for the 4.1 release
+ </link>
</para>
</listitem>
<listitem>
<para>
- <ulink url="http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-4.2/index.html">for the 4.2 release
- </ulink>
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-4.2/index.html">for the 4.2 release
+ </link>
</para>
</listitem>
<listitem>
<para>
- <ulink url="http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-4.3/index.html">for the 4.3 release
- </ulink>
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-4.3/index.html">for the 4.3 release
+ </link>
</para>
</listitem>
<listitem>
<para>
- <ulink url="http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-4.4/index.html">for the 4.4 release
- </ulink>
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-4.4/index.html">for the 4.4 release
+ </link>
</para>
</listitem>
<listitem>
<para>
- <ulink url="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/index.html">&quot;the latest collection&quot;
- </ulink>
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/index.html">"the latest collection"
+ </link>
(For the main development tree; see the date on the first page.)
</para>
</listitem>
@@ -89,7 +84,7 @@
gcc.org site in a directory located at
<literal>&lt;URL:ftp://gcc.gnu.org/pub/gcc/libstdc++/doxygen/&gt;</literal>.
You will almost certainly need to use one of the
- <ulink url="http://gcc.gnu.org/mirrors.html">mirror sites</ulink> to download
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/mirrors.html">mirror sites</link> to download
the tarball. After unpacking, simply load libstdc++-html-*/index.html
into a browser.
</para>
diff --git a/libstdc++-v3/doc/xml/authors.xml b/libstdc++-v3/doc/xml/authors.xml
index 5d7909f8b14..1f26f63fbc6 100644
--- a/libstdc++-v3/doc/xml/authors.xml
+++ b/libstdc++-v3/doc/xml/authors.xml
@@ -1,4 +1,4 @@
-<authorgroup>
+<authorgroup xmlns="http://docbook.org/ns/docbook" version="5.0">
<!--
<author>
@@ -20,176 +20,101 @@
</author>
-->
- <author>
- <firstname></firstname>
- <surname></surname>
-
- <authorblurb>
+ <author><personname><firstname/><surname/></personname><personblurb>
<para>
</para>
- </authorblurb>
- </author>
+ </personblurb></author>
- <author>
- <firstname>Paolo</firstname>
- <surname>Carlini</surname>
-
- <authorblurb>
+ <author><personname><firstname>Paolo</firstname><surname>Carlini</surname></personname><personblurb>
<para>
TR1, LWG Active, Closed, Defects lists.
</para>
- </authorblurb>
- </author>
+ </personblurb></author>
- <author>
- <firstname>Phil</firstname>
- <surname>Edwards</surname>
-
- <authorblurb>
+ <author><personname><firstname>Phil</firstname><surname>Edwards</surname></personname><personblurb>
<para>
Originating author, started HOWTO and FAQ, worked on sections
Demangling, Macros, Strings, Iterators, Backwards
Compatibility, SGI Extensions, Configure, Build, Install.
</para>
- </authorblurb>
- </author>
+ </personblurb></author>
- <author>
- <firstname>Doug</firstname>
- <surname>Gregor</surname>
-
- <authorblurb>
+ <author><personname><firstname>Doug</firstname><surname>Gregor</surname></personname><personblurb>
<para>
Debug Mode, TR1 function objects
</para>
- </authorblurb>
- </author>
+ </personblurb></author>
- <author>
- <firstname>Benjamin</firstname>
- <surname>Kosnik</surname>
-
- <authorblurb>
+ <author><personname><firstname>Benjamin</firstname><surname>Kosnik</surname></personname><personblurb>
<para>
Allocators, ABI, API evolution and deprecation history,
Backwards Compatibility, Thread, Debug Support, Locales,
Facets, Parallel Mode, Headers, Namespaces, Construction and
Structure, Using Exceptions, DocBook conversion and layout.
</para>
- </authorblurb>
- </author>
+ </personblurb></author>
- <author>
- <firstname>Dhruv</firstname>
- <surname>Matani</surname>
-
- <authorblurb>
+ <author><personname><firstname>Dhruv</firstname><surname>Matani</surname></personname><personblurb>
<para>
bitmap_allocator
</para>
- </authorblurb>
- </author>
+ </personblurb></author>
- <author>
- <firstname>Jason</firstname>
- <surname>Merrill</surname>
-
- <authorblurb>
+ <author><personname><firstname>Jason</firstname><surname>Merrill</surname></personname><personblurb>
<para>
License, __verbose_terminate_handler
</para>
- </authorblurb>
- </author>
-
- <author>
- <firstname>Mark</firstname>
- <surname>Mitchell</surname>
+ </personblurb></author>
- <authorblurb>
+ <author><personname><firstname>Mark</firstname><surname>Mitchell</surname></personname><personblurb>
<para>
Porting
</para>
- </authorblurb>
- </author>
-
- <author>
- <firstname>Nathan</firstname>
- <surname>Myers</surname>
+ </personblurb></author>
- <authorblurb>
+ <author><personname><firstname>Nathan</firstname><surname>Myers</surname></personname><personblurb>
<para>
Referenced counted string, C++1998 implementation status.
</para>
- </authorblurb>
- </author>
-
- <author>
- <firstname>Felix</firstname>
- <surname>Natter</surname>
+ </personblurb></author>
- <authorblurb>
+ <author><personname><firstname>Felix</firstname><surname>Natter</surname></personname><personblurb>
<para>
Namespace composition, Backwards Compatibility.
</para>
- </authorblurb>
- </author>
+ </personblurb></author>
- <author>
- <firstname>Stefan</firstname>
- <surname>Olsson</surname>
-
- <authorblurb>
+ <author><personname><firstname>Stefan</firstname><surname>Olsson</surname></personname><personblurb>
<para>
mt_allocator
</para>
- </authorblurb>
- </author>
-
- <author>
- <firstname>Silvius</firstname>
- <surname>Rus</surname>
+ </personblurb></author>
- <authorblurb>
+ <author><personname><firstname>Silvius</firstname><surname>Rus</surname></personname><personblurb>
<para>
Profile mode
</para>
- </authorblurb>
- </author>
-
- <author>
- <firstname>Johannes</firstname>
- <surname>Singler</surname>
+ </personblurb></author>
- <authorblurb>
+ <author><personname><firstname>Johannes</firstname><surname>Singler</surname></personname><personblurb>
<para>
Parallel mode
</para>
- </authorblurb>
- </author>
+ </personblurb></author>
- <author>
- <firstname>Ami</firstname>
- <surname>Tavory</surname>
-
- <authorblurb>
+ <author><personname><firstname>Ami</firstname><surname>Tavory</surname></personname><personblurb>
<para>
Policy Based Data Structures, Associative Containers, Unordered
Containers.
</para>
- </authorblurb>
- </author>
+ </personblurb></author>
- <author>
- <firstname>Jonathan</firstname>
- <surname>Wakely</surname>
-
- <authorblurb>
+ <author><personname><firstname>Jonathan</firstname><surname>Wakely</surname></personname><personblurb>
<para>
shared_ptr, markup editing and styling
</para>
- </authorblurb>
- </author>
+ </personblurb></author>
</authorgroup>
diff --git a/libstdc++-v3/doc/xml/book.txml b/libstdc++-v3/doc/xml/book.txml
index a77690d0d32..55b050271a5 100644
--- a/libstdc++-v3/doc/xml/book.txml
+++ b/libstdc++-v3/doc/xml/book.txml
@@ -1,32 +1,29 @@
-<?xml version='1.0'?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
- "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
-[ ]>
+<!-- Converted by db4-upgrade version 1.0 -->
+
+<book xmlns="http://docbook.org/ns/docbook" version="5.0" xml:id="api" xreflabel="Source Level Documentation">
-<book id="api" xreflabel="Source Level Documentation">
-<title>Source Level Documentation</title>
-<bookinfo>
+<info>
<copyright>
<year>2007</year>
<holder>
- <ulink url="www.fsf.org">FSF
- </ulink>
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="www.fsf.org">FSF
+ </link>
</holder>
</copyright>
<legalnotice>
<para>
- <ulink url="17_intro/license.html">License
- </ulink>
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="17_intro/license.html">License
+ </link>
</para>
</legalnotice>
-</bookinfo>
+</info>
+
+<part><info><title/></info>
-<part>
-<title></title>
- <chapter>
- <title></title>
- <para></para>
+ <chapter><info><title/></info>
+
+ <para/>
</chapter>
</part>
diff --git a/libstdc++-v3/doc/xml/chapter.txml b/libstdc++-v3/doc/xml/chapter.txml
index 9cf5b74e855..85323e73baa 100644
--- a/libstdc++-v3/doc/xml/chapter.txml
+++ b/libstdc++-v3/doc/xml/chapter.txml
@@ -1,11 +1,8 @@
-<?xml version='1.0'?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
- "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
-[ ]>
+<!-- Converted by db4-upgrade version 1.0 -->
-<chapter id="manual.intro" xreflabel="Introduction">
+<chapter xmlns="http://docbook.org/ns/docbook" version="5.0" xml:id="manual.intro" xreflabel="Introduction">
-<chapterinfo>
+<info><title>Introduction</title>
<keywordset>
<keyword>
ISO C++
@@ -14,41 +11,41 @@
library
</keyword>
</keywordset>
-</chapterinfo>
+</info>
-<title>Introduction</title>
-<sect1 id="manual.intro.status" xreflabel="Status">
- <title>Status</title>
+
+<section xml:id="manual.intro.status" xreflabel="Status"><info><title>Status</title></info>
+
<para>
The GNU C++ ...
</para>
-</sect1>
+</section>
-<sect1 id="manual.intro.setup" xreflabel="Setup">
- <title>Setup</title>
+<section xml:id="manual.intro.setup" xreflabel="Setup"><info><title>Setup</title></info>
+
<para>
The GNU C++ ...
</para>
- <sect2 id="manual.intro.setup.next1" xreflabel="Next1">
- <title>Next1</title>
+ <section xml:id="manual.intro.setup.next1" xreflabel="Next1"><info><title>Next1</title></info>
+
<para>
The GNU C++ ...
</para>
- </sect2>
- <sect2 id="manual.intro.setup.next2" xreflabel="Next2">
- <title>Next2</title>
+ </section>
+ <section xml:id="manual.intro.setup.next2" xreflabel="Next2"><info><title>Next2</title></info>
+
<para>
The GNU C++ ...
</para>
- </sect2>
-</sect1>
+ </section>
+</section>
-<sect1 id="manual.intro.using" xreflabel="Using">
- <title>Using</title>
+<section xml:id="manual.intro.using" xreflabel="Using"><info><title>Using</title></info>
+
<para>
The GNU C++ ...
</para>
-</sect1>
+</section>
</chapter>
diff --git a/libstdc++-v3/doc/xml/class.txml b/libstdc++-v3/doc/xml/class.txml
index 83497db3720..26c9acf97f1 100644
--- a/libstdc++-v3/doc/xml/class.txml
+++ b/libstdc++-v3/doc/xml/class.txml
@@ -1,7 +1,9 @@
-<sect1 id="manual.util.memory.allocator" xreflabel="allocator">
+<!-- Converted by db4-upgrade version 1.0 -->
+
+<section xmlns="http://docbook.org/ns/docbook" version="5.0" xml:id="manual.util.memory.allocator" xreflabel="allocator">
<?dbhtml filename="allocator.html"?>
-<sect1info>
+<info><title>allocator</title>
<keywordset>
<keyword>
ISO C++
@@ -10,15 +12,15 @@
allocator
</keyword>
</keywordset>
-</sect1info>
+</info>
+
-<title>allocator</title>
<para>
</para>
-<sect2 id="allocator.req" xreflabel="allocator.req">
-<title>Requirements</title>
+<section xml:id="allocator.req" xreflabel="allocator.req"><info><title>Requirements</title></info>
+
<para>
</para>
@@ -35,33 +37,33 @@
<para>
</para>
-</sect2>
+</section>
+
+<section xml:id="allocator.design_issues" xreflabel="allocator.design_issues"><info><title>Design Issues</title></info>
-<sect2 id="allocator.design_issues" xreflabel="allocator.design_issues">
-<title>Design Issues</title>
<para>
</para>
<para>
</para>
-</sect2>
+</section>
+
+<section xml:id="allocator.impl" xreflabel="allocator.impl"><info><title>Implementation</title></info>
-<sect2 id="allocator.impl" xreflabel="allocator.impl">
-<title>Implementation</title>
- <sect3>
- <title>Interface Design</title>
+ <section><info><title>Interface Design</title></info>
+
<para>
</para>
<para>
</para>
- </sect3>
+ </section>
- <sect3>
- <title>Selecting Default Allocation Strategy</title>
+ <section><info><title>Selecting Default Allocation Strategy</title></info>
+
<para>
</para>
@@ -76,38 +78,38 @@
<listitem>
</listitem>
</orderedlist>
- </sect3>
+ </section>
- <sect3>
- <title>Disabling Memory Caching</title>
+ <section><info><title>Disabling Memory Caching</title></info>
+
<para>
</para>
<para>
</para>
- </sect3>
-</sect2>
+ </section>
+</section>
+
+<section xml:id="allocator.using" xreflabel="allocator.using"><info><title>Using</title></info>
-<sect2 id="allocator.using" xreflabel="allocator.using">
-<title>Using</title>
<para>
</para>
-</sect2>
+</section>
+
+<section xml:id="allocator.custom" xreflabel="allocator.custom"><info><title>Custom Allocators</title></info>
-<sect2 id="allocator.custom" xreflabel="allocator.custom">
-<title>Custom Allocators</title>
<para>
</para>
<para>
</para>
-</sect2>
+</section>
+
+<bibliography xml:id="allocator.biblio" xreflabel="allocator.biblio"><info><title>Bibliography</title></info>
-<bibliography id="allocator.biblio" xreflabel="allocator.biblio">
-<title>Bibliography</title>
<!--
<biblioentry>
@@ -116,11 +118,11 @@
<biblioid class="uri">
<ulink url="http://about:blank">
- <citetitle>
- The Title
- </citetitle>
</ulink>
</biblioid>
+ <citetitle>
+ The Title
+ </citetitle>
<editor>
<firstname></firstname>
@@ -151,4 +153,4 @@
</bibliography>
-</sect1> \ No newline at end of file
+</section>
diff --git a/libstdc++-v3/doc/xml/faq.xml b/libstdc++-v3/doc/xml/faq.xml
index 5ed2777337c..f8e6312386a 100644
--- a/libstdc++-v3/doc/xml/faq.xml
+++ b/libstdc++-v3/doc/xml/faq.xml
@@ -1,39 +1,34 @@
-<?xml version='1.0'?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
- "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
-[ ]>
+<book xmlns="http://docbook.org/ns/docbook" version="5.0">
-<book>
-
-<article id="faq" xreflabel="Frequently Asked Questions">
+<article xml:id="faq" xreflabel="Frequently Asked Questions">
<?dbhtml filename="faq.html"?>
-<articleinfo>
- <title>Frequently Asked Questions</title>
+<info><title>Frequently Asked Questions</title>
+
<copyright>
<year>
- 2008
+ 2008, 2010
</year>
<holder>
- <ulink url="http://www.fsf.org">FSF</ulink>
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.fsf.org">FSF</link>
</holder>
</copyright>
-</articleinfo>
+</info>
<!-- FAQ starts here -->
<qandaset>
<!-- General Information -->
-<qandadiv id="faq.info" xreflabel="General Information">
-<title>General Information</title>
+<qandadiv xml:id="faq.info" xreflabel="General Information">
+
-<qandaentry id="faq.what">
- <question id="faq.what.q">
+<qandaentry xml:id="faq.what">
+ <question xml:id="faq.what.q">
<para>
What is libstdc++?
</para>
</question>
- <answer id="faq.what.a">
+ <answer xml:id="faq.what.a">
<para>
The GNU Standard C++ Library v3 is an ongoing project to
implement the ISO 14882 Standard C++ library as described in
@@ -41,18 +36,18 @@
exactly how far the project has come, or just want the latest
bleeding-edge code, the up-to-date source is available over
anonymous SVN, and can even be browsed over
- the <ulink url="http://gcc.gnu.org/svn.html">web</ulink>.
+ the <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/svn.html">web</link>.
</para>
</answer>
</qandaentry>
-<qandaentry id="faq.why">
- <question id="q-why">
+<qandaentry xml:id="faq.why">
+ <question xml:id="q-why">
<para>
Why should I use libstdc++?
</para>
</question>
- <answer id="a-why">
+ <answer xml:id="a-why">
<para>
The completion of the ISO C++ standardization gave the C++
community a powerful set of reuseable tools in the form of the C++
@@ -66,9 +61,9 @@
(<command>gcc</command>, <command>g++</command>, etc) is widely
considered to be one of the leading compilers in the world. Its
development is overseen by the
- <ulink url="http://gcc.gnu.org/">GCC team</ulink>. All of
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/">GCC team</link>. All of
the rapid development and near-legendary
- <ulink url="http://gcc.gnu.org/buildstat.html">portability</ulink>
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/buildstat.html">portability</link>
that are the hallmarks of an open-source project are being
applied to libstdc++.
</para>
@@ -83,13 +78,13 @@
</answer>
</qandaentry>
-<qandaentry id="faq.who">
- <question id="q-who">
+<qandaentry xml:id="faq.who">
+ <question xml:id="q-who">
<para>
Who's in charge of it?
</para>
</question>
- <answer id="a-who">
+ <answer xml:id="a-who">
<para>
The libstdc++ project is contributed to by several developers
all over the world, in the same way as GCC or Linux.
@@ -101,19 +96,19 @@
Development and discussion is held on the libstdc++ mailing
list. Subscribing to the list, or searching the list
archives, is open to everyone. You can read instructions for
- doing so on the <ulink url="http://gcc.gnu.org/libstdc++/">homepage</ulink>.
+ doing so on the <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/libstdc++/">homepage</link>.
If you have questions, ideas, code, or are just curious, sign up!
</para>
</answer>
</qandaentry>
-<qandaentry id="faq.when">
- <question id="q-when">
+<qandaentry xml:id="faq.when">
+ <question xml:id="q-when">
<para>
When is libstdc++ going to be finished?
</para>
</question>
- <answer id="a-when">
+ <answer xml:id="a-when">
<para>
Nathan Myers gave the best of all possible answers, responding to
a Usenet article asking this question: <emphasis>Sooner, if you
@@ -122,13 +117,13 @@
</answer>
</qandaentry>
-<qandaentry id="faq.how">
- <question id="q-how">
+<qandaentry xml:id="faq.how">
+ <question xml:id="q-how">
<para>
How do I contribute to the effort?
</para>
</question>
- <answer id="a-how">
+ <answer xml:id="a-how">
<para>
Here is <link linkend="appendix.contrib">a page devoted to
this topic</link>. Subscribing to the mailing list (see above, or
@@ -142,13 +137,13 @@
</answer>
</qandaentry>
-<qandaentry id="faq.whereis_old">
- <question id="q-whereis_old">
+<qandaentry xml:id="faq.whereis_old">
+ <question xml:id="q-whereis_old">
<para>
What happened to the older libg++? I need that!
</para>
</question>
- <answer id="a-whereis_old">
+ <answer xml:id="a-whereis_old">
<para>
The most recent libg++ README states that libg++ is no longer
being actively maintained. It should not be used for new
@@ -160,13 +155,13 @@
</answer>
</qandaentry>
-<qandaentry id="faq.more_questions">
- <question id="q-more_questions">
+<qandaentry xml:id="faq.more_questions">
+ <question xml:id="q-more_questions">
<para>
What if I have more questions?
</para>
</question>
- <answer id="a-more_questions">
+ <answer xml:id="a-more_questions">
<para>
If you have read the README file, and your question remains
unanswered, then just ask the mailing list. At present, you do not
@@ -187,16 +182,16 @@
</qandadiv>
<!-- License -->
-<qandadiv id="faq.license" xreflabel="License QA">
-<title>License</title>
+<qandadiv xml:id="faq.license" xreflabel="License QA">
-<qandaentry id="faq.license.what">
- <question id="q-license.what">
+
+<qandaentry xml:id="faq.license.what">
+ <question xml:id="q-license.what">
<para>
What are the license terms for libstdc++?
</para>
</question>
- <answer id="a-license.what">
+ <answer xml:id="a-license.what">
<para>
See <link linkend="manual.intro.status.license">our license description</link>
for these and related questions.
@@ -204,13 +199,13 @@
</answer>
</qandaentry>
-<qandaentry id="faq.license.any_program">
- <question id="q-license.any_program">
+<qandaentry xml:id="faq.license.any_program">
+ <question xml:id="q-license.any_program">
<para>
So any program which uses libstdc++ falls under the GPL?
</para>
</question>
- <answer id="a-license.any_program">
+ <answer xml:id="a-license.any_program">
<para>
No. The special exception permits use of the library in
proprietary applications.
@@ -219,13 +214,13 @@
</qandaentry>
-<qandaentry id="faq.license.lgpl">
- <question id="q-license.lgpl">
+<qandaentry xml:id="faq.license.lgpl">
+ <question xml:id="q-license.lgpl">
<para>
How is that different from the GNU {Lesser,Library} GPL?
</para>
</question>
- <answer id="a-license.lgpl">
+ <answer xml:id="a-license.lgpl">
<para>
The LGPL requires that users be able to replace the LGPL code with a
modified version; this is trivial if the library in question is a C
@@ -238,13 +233,13 @@
</answer>
</qandaentry>
-<qandaentry id="faq.license.what_restrictions">
- <question id="q-license.what_restrictions">
+<qandaentry xml:id="faq.license.what_restrictions">
+ <question xml:id="q-license.what_restrictions">
<para>
I see. So, what restrictions are there on programs that use the library?
</para>
</question>
- <answer id="a-license.what_restrictions">
+ <answer xml:id="a-license.what_restrictions">
<para>
None. We encourage such programs to be released as open source,
but we won't punish you or sue you if you choose otherwise.
@@ -255,15 +250,15 @@
</qandadiv>
<!-- Installation -->
-<qandadiv id="faq.installation" xreflabel="Installation">
-<title>Installation</title>
+<qandadiv xml:id="faq.installation" xreflabel="Installation">
+
-<qandaentry id="faq.how_to_install">
- <question id="q-how_to_install">
+<qandaentry xml:id="faq.how_to_install">
+ <question xml:id="q-how_to_install">
<para>How do I install libstdc++?
</para>
</question>
- <answer id="a-how_to_install">
+ <answer xml:id="a-how_to_install">
<para>
Often libstdc++ comes pre-installed as an integral part of many
existing Linux and Unix systems, as well as many embedded
@@ -281,17 +276,17 @@
</answer>
</qandaentry>
-<qandaentry id="faq.how_to_get_sources">
- <question id="q-how_to_get_sources">
+<qandaentry xml:id="faq.how_to_get_sources">
+ <question xml:id="q-how_to_get_sources">
<para>How does one get current libstdc++ sources?
</para>
</question>
- <answer id="a-how_to_get_sources">
+ <answer xml:id="a-how_to_get_sources">
<para>
Libstdc++ sources for all official releases can be obtained as
part of the GCC sources, available from various sites and
- mirrors. A full <ulink url="http://gcc.gnu.org/mirrors.html">list of
- download sites</ulink> is provided on the main GCC site.
+ mirrors. A full <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/mirrors.html">list of
+ download sites</link> is provided on the main GCC site.
</para>
<para>
Current libstdc++ sources can always be checked out of the main
@@ -303,8 +298,8 @@
<application>Subversion</application>, or <acronym>SVN</acronym>, is
one of several revision control packages. It was selected for GNU
projects because it's free (speech), free (beer), and very high
- quality. The <ulink url="http://subversion.tigris.org"> Subversion
- home page</ulink> has a better description.
+ quality. The <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://subversion.tigris.org"> Subversion
+ home page</link> has a better description.
</para>
<para>
The <quote>anonymous client checkout</quote> feature of SVN is
@@ -313,24 +308,24 @@
</para>
<para>
For more information
- see <ulink url="http://gcc.gnu.org/svn.html"><acronym>SVN</acronym>
- details</ulink>.
+ see <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/svn.html"><acronym>SVN</acronym>
+ details</link>.
</para>
</answer>
</qandaentry>
-<qandaentry id="faq.how_to_test">
- <question id="q-how_to_test">
+<qandaentry xml:id="faq.how_to_test">
+ <question xml:id="q-how_to_test">
<para>How do I know if it works?
</para>
</question>
- <answer id="a-how_to_test">
+ <answer xml:id="a-how_to_test">
<para>
Libstdc++ comes with its own validation testsuite, which includes
conformance testing, regression testing, ABI testing, and
performance testing. Please consult the
- <ulink url="http://gcc.gnu.org/install/test.html">testing
- documentation</ulink> for more details.
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/install/test.html">testing
+ documentation</link> for more details.
</para>
<para>
If you find bugs in the testsuite programs themselves, or if you
@@ -340,12 +335,12 @@
</answer>
</qandaentry>
-<qandaentry id="faq.how_to_set_paths">
- <question id="q-how_to_set_paths">
+<qandaentry xml:id="faq.how_to_set_paths">
+ <question xml:id="q-how_to_set_paths">
<para>How do I insure that the dynamically linked library will be found?
</para>
</question>
- <answer id="a-how_to_set_paths">
+ <answer xml:id="a-how_to_set_paths">
<para>
Depending on your platform and library version, the error message might
be similar to one of the following:
@@ -388,20 +383,19 @@
is usually called something such as <filename>ld.so/rtld/dld.so</filename>.
</para>
<para>
- Using LD_LIBRARY_PATH is not always the best solution, <link
- linkend="manual.intro.using.linkage.dynamic">Finding Dynamic or Shared
+ Using LD_LIBRARY_PATH is not always the best solution, <link linkend="manual.intro.using.linkage.dynamic">Finding Dynamic or Shared
Libraries</link> in the manual gives some alternatives.
</para>
</answer>
</qandaentry>
-<qandaentry id="faq.what_is_libsupcxx">
- <question id="q-what_is_libsupcxx">
+<qandaentry xml:id="faq.what_is_libsupcxx">
+ <question xml:id="q-what_is_libsupcxx">
<para>
What's libsupc++?
</para>
</question>
- <answer id="a-what_is_libsupcxx">
+ <answer xml:id="a-what_is_libsupcxx">
<para>
If the only functions from <filename>libstdc++.a</filename>
which you need are language support functions (those listed in
@@ -421,13 +415,13 @@
</answer>
</qandaentry>
-<qandaentry id="faq.size">
- <question id="q-size">
+<qandaentry xml:id="faq.size">
+ <question xml:id="q-size">
<para>
This library is HUGE!
</para>
</question>
- <answer id="a-size">
+ <answer xml:id="a-size">
<para>
Usually the size of libraries on disk isn't noticeable. When a
link editor (or simply <quote>linker</quote>) pulls things from a
@@ -467,16 +461,16 @@
<!-- Platform-Specific Issues -->
-<qandadiv id="faq.platform-specific" xreflabel="Platform-Specific Issues">
-<title>Platform-Specific Issues</title>
+<qandadiv xml:id="faq.platform-specific" xreflabel="Platform-Specific Issues">
-<qandaentry id="faq.other_compilers">
- <question id="q-other_compilers">
+
+<qandaentry xml:id="faq.other_compilers">
+ <question xml:id="q-other_compilers">
<para>
Can libstdc++ be used with non-GNU compilers?
</para>
</question>
- <answer id="a-other_compilers">
+ <answer xml:id="a-other_compilers">
<para>
Perhaps.
</para>
@@ -503,13 +497,13 @@
</answer>
</qandaentry>
-<qandaentry id="faq.solaris_long_long">
- <question id="q-solaris_long_long">
+<qandaentry xml:id="faq.solaris_long_long">
+ <question xml:id="q-solaris_long_long">
<para>
No 'long long' type on Solaris?
</para>
</question>
- <answer id="a-solaris_long_long">
+ <answer xml:id="a-solaris_long_long">
<para>
By default we try to support the C99 <type>long long</type> type.
This requires that certain functions from your C library be present.
@@ -526,13 +520,13 @@
</answer>
</qandaentry>
-<qandaentry id="faq.predefined">
- <question id="q-predefined">
+<qandaentry xml:id="faq.predefined">
+ <question xml:id="q-predefined">
<para>
<constant>_XOPEN_SOURCE</constant> and <constant>_GNU_SOURCE</constant> are always defined?
</para>
</question>
- <answer id="a-predefined">
+ <answer xml:id="a-predefined">
<para>On Solaris, g++ (but not gcc) always defines the preprocessor
macro <constant>_XOPEN_SOURCE</constant>. On GNU/Linux, the same happens
with <constant>_GNU_SOURCE</constant>. (This is not an exhaustive list;
@@ -558,11 +552,11 @@
<para>To see which symbols are defined, look for CPLUSPLUS_CPP_SPEC in
the gcc config headers for your target (and try changing them to
see what happens when building complicated code). You can also run
- <command>g++ -E -dM - &lt; /dev/null&quot;</command> to display
+ <command>g++ -E -dM - &lt; /dev/null"</command> to display
a list of predefined macros for any particular installation.
</para>
<para>This has been discussed on the mailing lists
- <ulink url="http://gcc.gnu.org/cgi-bin/htsearch?method=and&amp;format=builtin-long&amp;sort=score&amp;words=_XOPEN_SOURCE+Solaris">quite a bit</ulink>.
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/cgi-bin/htsearch?method=and&amp;format=builtin-long&amp;sort=score&amp;words=_XOPEN_SOURCE+Solaris">quite a bit</link>.
</para>
<para>This method is something of a wart. We'd like to find a cleaner
solution, but nobody yet has contributed the time.
@@ -571,29 +565,29 @@
</answer>
</qandaentry>
-<qandaentry id="faq.darwin_ctype">
- <question id="q-darwin_ctype">
+<qandaentry xml:id="faq.darwin_ctype">
+ <question xml:id="q-darwin_ctype">
<para>
Mac OS X <filename class="headerfile">ctype.h</filename> is broken! How can I fix it?
</para>
</question>
- <answer id="a-darwin_ctype">
+ <answer xml:id="a-darwin_ctype">
<para>This is a long-standing bug in the OS X support. Fortunately,
the patch is quite simple, and well-known.
- <ulink url="http://gcc.gnu.org/ml/gcc/2002-03/msg00817.html"> Here's a
- link to the solution</ulink>.
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/ml/gcc/2002-03/msg00817.html"> Here's a
+ link to the solution</link>.
</para>
</answer>
</qandaentry>
-<qandaentry id="faq.threads_i386">
- <question id="q-threads_i386">
+<qandaentry xml:id="faq.threads_i386">
+ <question xml:id="q-threads_i386">
<para>
Threading is broken on i386?
</para>
</question>
- <answer id="a-threads_i386">
+ <answer xml:id="a-threads_i386">
<para>
</para>
<para>Support for atomic integer operations is/was broken on i386
@@ -609,13 +603,13 @@
</answer>
</qandaentry>
-<qandaentry id="faq.atomic_mips">
- <question id="q-atomic_mips">
+<qandaentry xml:id="faq.atomic_mips">
+ <question xml:id="q-atomic_mips">
<para>
MIPS atomic operations
</para>
</question>
- <answer id="a-atomic_mips">
+ <answer xml:id="a-atomic_mips">
<para>
The atomic locking routines for MIPS targets requires MIPS II
and later. A patch went in just after the 3.3 release to
@@ -629,13 +623,13 @@
</answer>
</qandaentry>
-<qandaentry id="faq.linux_glibc">
- <question id="q-linux_glibc">
+<qandaentry xml:id="faq.linux_glibc">
+ <question xml:id="q-linux_glibc">
<para>
Recent GNU/Linux glibc required?
</para>
</question>
- <answer id="a-linux_glibc">
+ <answer xml:id="a-linux_glibc">
<para>When running on GNU/Linux, libstdc++ 3.2.1 (shared library version
5.0.1) and later uses localization and formatting code from the system
C library (glibc) version 2.2.5 which contains necessary bugfixes.
@@ -651,13 +645,13 @@
</answer>
</qandaentry>
-<qandaentry id="faq.freebsd_wchar">
- <question id="q-freebsd_wchar">
+<qandaentry xml:id="faq.freebsd_wchar">
+ <question xml:id="q-freebsd_wchar">
<para>
Can't use wchar_t/wstring on FreeBSD
</para>
</question>
- <answer id="a-freebsd_wchar">
+ <answer xml:id="a-freebsd_wchar">
<para>
Older versions of FreeBSD's C library do not have sufficient
support for wide character functions, and as a result the
@@ -678,16 +672,16 @@
<!-- Known Bugs -->
-<qandadiv id="faq.known_bugs" xreflabel="Known Bugs">
-<title>Known Bugs</title>
+<qandadiv xml:id="faq.known_bugs" xreflabel="Known Bugs">
+
-<qandaentry id="faq.what_works">
- <question id="q-what_works">
+<qandaentry xml:id="faq.what_works">
+ <question xml:id="q-what_works">
<para>
What works already?
</para>
</question>
- <answer id="a-what_works">
+ <answer xml:id="a-what_works">
<para>
Short answer: Pretty much everything <emphasis>works</emphasis>
except for some corner cases. Support for localization
@@ -705,13 +699,13 @@
</answer>
</qandaentry>
-<qandaentry id="faq.standard_bugs">
- <question id="q-standard_bugs">
+<qandaentry xml:id="faq.standard_bugs">
+ <question xml:id="q-standard_bugs">
<para>
Bugs in the ISO C++ language or library specification
</para>
</question>
- <answer id="a-standard_bugs">
+ <answer xml:id="a-standard_bugs">
<para>
Unfortunately, there are some.
</para>
@@ -719,7 +713,7 @@
For those people who are not part of the ISO Library Group
(i.e., nearly all of us needing to read this page in the first
place), a public list of the library defects is occasionally
- published <ulink url="http://www.open-std.org/jtc1/sc22/wg21/">here</ulink>.
+ published <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/">here</link>.
Some of these issues have resulted in code changes in libstdc++.
</para>
<para>
@@ -731,13 +725,13 @@
</answer>
</qandaentry>
-<qandaentry id="faq.compiler_bugs">
- <question id="q-compiler_bugs">
+<qandaentry xml:id="faq.compiler_bugs">
+ <question xml:id="q-compiler_bugs">
<para>
Bugs in the compiler (gcc/g++) and not libstdc++
</para>
</question>
- <answer id="a-compiler_bugs">
+ <answer xml:id="a-compiler_bugs">
<para>
On occasion, the compiler is wrong. Please be advised that this
happens much less often than one would think, and avoid jumping to
@@ -751,7 +745,7 @@
</para>
<para>
Before reporting a bug, please examine the
- <ulink url="http://gcc.gnu.org/bugs.html">bugs database</ulink> with the
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/bugs.html">bugs database</link> with the
category set to <quote>g++</quote>.
</para>
</answer>
@@ -760,21 +754,21 @@
</qandadiv>
<!-- Known Non-Bugs -->
-<qandadiv id="faq.known_non-bugs" xreflabel="Known Non-Bugs">
-<title>Known Non-Bugs</title>
+<qandadiv xml:id="faq.known_non-bugs" xreflabel="Known Non-Bugs">
-<qandaentry id="faq.stream_reopening_fails">
- <question id="q-stream_reopening_fails">
+
+<qandaentry xml:id="faq.stream_reopening_fails">
+ <question xml:id="q-stream_reopening_fails">
<para>
Reopening a stream fails
</para>
</question>
- <answer id="a-stream_reopening_fails">
+ <answer xml:id="a-stream_reopening_fails">
<para>
One of the most-reported non-bug reports. Executing a sequence like:
</para>
- <literallayout>
+ <literallayout class="normal">
#include &lt;fstream&gt;
...
std::fstream fs(<quote>a_file</quote>);
@@ -803,13 +797,13 @@
</answer>
</qandaentry>
-<qandaentry id="faq.wefcxx_verbose">
- <question id="q-wefcxx_verbose">
+<qandaentry xml:id="faq.wefcxx_verbose">
+ <question xml:id="q-wefcxx_verbose">
<para>
-Weffc++ complains too much
</para>
</question>
- <answer id="a-wefcxx_verbose">
+ <answer xml:id="a-wefcxx_verbose">
<para>
Many warnings are emitted when <literal>-Weffc++</literal> is used. Making
libstdc++ <literal>-Weffc++</literal>-clean is not a goal of the project,
@@ -825,13 +819,13 @@
</answer>
</qandaentry>
-<qandaentry id="faq.ambiguous_overloads">
- <question id="q-ambiguous_overloads">
+<qandaentry xml:id="faq.ambiguous_overloads">
+ <question xml:id="q-ambiguous_overloads">
<para>
Ambiguous overloads after including an old-style header
</para>
</question>
- <answer id="a-ambiguous_overloads">
+ <answer xml:id="a-ambiguous_overloads">
<para>
Another problem is the <literal>rel_ops</literal> namespace and the template
comparison operator functions contained therein. If they become
@@ -839,27 +833,27 @@
(e.g., <quote>using</quote> them and the &lt;iterator&gt; header),
then you will suddenly be faced with huge numbers of ambiguity
errors. This was discussed on the -v3 list; Nathan Myers
- <ulink url="http://gcc.gnu.org/ml/libstdc++/2001-01/msg00247.html">sums
- things up here</ulink>. The collisions with vector/string iterator
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/ml/libstdc++/2001-01/msg00247.html">sums
+ things up here</link>. The collisions with vector/string iterator
types have been fixed for 3.1.
</para>
</answer>
</qandaentry>
-<qandaentry id="faq.v2_headers">
- <question id="q-v2_headers">
+<qandaentry xml:id="faq.v2_headers">
+ <question xml:id="q-v2_headers">
<para>
The g++-3 headers are <emphasis>not ours</emphasis>
</para>
</question>
- <answer id="a-v2_headers">
+ <answer xml:id="a-v2_headers">
<para>
If you have found an extremely broken header file which is
causing problems for you, look carefully before submitting a
- &quot;high&quot; priority bug report (which you probably
+ "high" priority bug report (which you probably
shouldn't do anyhow; see the last paragraph of the page
- describing <ulink url="http://gcc.gnu.org/bugs.html">the GCC
- bug database</ulink>).
+ describing <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/bugs.html">the GCC
+ bug database</link>).
</para>
<para>
If the headers are in <filename>${prefix}/include/g++-3</filename>, or
@@ -881,14 +875,14 @@
</answer>
</qandaentry>
-<qandaentry id="faq.boost_concept_checks">
- <question id="q-boost_concept_checks">
+<qandaentry xml:id="faq.boost_concept_checks">
+ <question xml:id="q-boost_concept_checks">
<para>
Errors about <emphasis>*Concept</emphasis> and
<emphasis>constraints</emphasis> in the STL
</para>
</question>
- <answer id="a-boost_concept_checks">
+ <answer xml:id="a-boost_concept_checks">
<para>
If you see compilation errors containing messages about
<errortext>foo Concept </errortext>and something to do with a
@@ -908,21 +902,21 @@
</answer>
</qandaentry>
-<qandaentry id="faq.dlopen_crash">
- <question id="q-dlopen_crash">
+<qandaentry xml:id="faq.dlopen_crash">
+ <question xml:id="q-dlopen_crash">
<para>
Program crashes when using library code in a
dynamically-loaded library
</para>
</question>
- <answer id="a-dlopen_crash">
+ <answer xml:id="a-dlopen_crash">
<para>
If you are using the C++ library across dynamically-loaded
objects, make certain that you are passing the correct options
when compiling and linking:
</para>
- <literallayout>
+ <literallayout class="normal">
// compile your library components
g++ -fPIC -c a.cc
g++ -fPIC -c b.cc
@@ -938,17 +932,17 @@
</answer>
</qandaentry>
-<qandaentry id="faq.memory_leaks">
- <question id="q-memory_leaks">
+<qandaentry xml:id="faq.memory_leaks">
+ <question xml:id="q-memory_leaks">
<para>
<quote>Memory leaks</quote> in containers
</para>
</question>
- <answer id="a-memory_leaks">
+ <answer xml:id="a-memory_leaks">
<para>
A few people have reported that the standard containers appear
to leak memory when tested with memory checkers such as
- <ulink url="http://valgrind.org/">valgrind</ulink>.
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://valgrind.org/">valgrind</link>.
The library's default allocators keep free memory in a pool
for later reuse, rather than returning it to the OS. Although
this memory is always reachable by the library and is never
@@ -960,13 +954,13 @@
</answer>
</qandaentry>
-<qandaentry id="faq.list_size_on">
- <question id="q-list_size_on">
+<qandaentry xml:id="faq.list_size_on">
+ <question xml:id="q-list_size_on">
<para>
list::size() is O(n)!
</para>
</question>
- <answer id="a-list_size_on">
+ <answer xml:id="a-list_size_on">
<para>
See
the <link linkend="std.containers">Containers</link>
@@ -975,18 +969,18 @@
</answer>
</qandaentry>
-<qandaentry id="faq.easy_to_fix">
- <question id="q-easy_to_fix">
+<qandaentry xml:id="faq.easy_to_fix">
+ <question xml:id="q-easy_to_fix">
<para>
Aw, that's easy to fix!
</para>
</question>
- <answer id="a-easy_to_fix">
+ <answer xml:id="a-easy_to_fix">
<para>
If you have found a bug in the library and you think you have
a working fix, then send it in! The main GCC site has a page
- on <ulink url="http://gcc.gnu.org/contribute.html">submitting
- patches</ulink> that covers the procedure, but for libstdc++ you
+ on <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/contribute.html">submitting
+ patches</link> that covers the procedure, but for libstdc++ you
should also send the patch to our mailing list in addition to
the GCC patches mailing list. The libstdc++
<link linkend="appendix.contrib">contributors' page</link>
@@ -995,10 +989,10 @@
<para>
In addition to the description, the patch, and the ChangeLog
entry, it is a Good Thing if you can additionally create a small
- test program to test for the presence of the bug that your
- patch fixes. Bugs have a way of being reintroduced; if an old
- bug creeps back in, it will be caught immediately by the
- <ulink url="#2_4">testsuite</ulink> -- but only if such a test exists.
+ test program to test for the presence of the bug that your patch
+ fixes. Bugs have a way of being reintroduced; if an old bug
+ creeps back in, it will be caught immediately by the testsuite -
+ but only if such a test exists.
</para>
</answer>
</qandaentry>
@@ -1007,16 +1001,16 @@
<!-- Miscellaneous -->
-<qandadiv id="faq.misc" xreflabel="Miscellaneous">
-<title>Miscellaneous</title>
+<qandadiv xml:id="faq.misc" xreflabel="Miscellaneous">
+
-<qandaentry id="faq.iterator_as_pod">
- <question id="faq.iterator_as_pod_q">
+<qandaentry xml:id="faq.iterator_as_pod">
+ <question xml:id="faq.iterator_as_pod_q">
<para>
string::iterator is not char*; vector&lt;T&gt;::iterator is not T*
</para>
</question>
- <answer id="faq.iterator_as_pod_a">
+ <answer xml:id="faq.iterator_as_pod_a">
<para>
If you have code that depends on container&lt;T&gt; iterators
being implemented as pointer-to-T, your code is broken. It's
@@ -1040,13 +1034,13 @@
</answer>
</qandaentry>
-<qandaentry id="faq.what_is_next">
- <question id="q-what_is_next">
+<qandaentry xml:id="faq.what_is_next">
+ <question xml:id="q-what_is_next">
<para>
What's next after libstdc++?
</para>
</question>
- <answer id="a-what_is_next">
+ <answer xml:id="a-what_is_next">
<para>
Hopefully, not much. The goal of libstdc++ is to produce a
fully-compliant, fully-portable Standard Library. After that,
@@ -1057,21 +1051,21 @@
There is an effort underway to add significant extensions to
the standard library specification. The latest version of
this effort is described in
- <ulink url="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf">
- The C++ Library Technical Report 1</ulink>.
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf">
+ The C++ Library Technical Report 1</link>.
</para>
</answer>
</qandaentry>
-<qandaentry id="faq.sgi_stl">
- <question id="q-sgi_stl">
+<qandaentry xml:id="faq.sgi_stl">
+ <question xml:id="q-sgi_stl">
<para>
What about the STL from SGI?
</para>
</question>
- <answer id="a-sgi_stl">
+ <answer xml:id="a-sgi_stl">
<para>
- The <ulink url="http://www.sgi.com/tech/stl/">STL from SGI</ulink>,
+ The <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.sgi.com/tech/stl/">STL from SGI</link>,
version 3.3, was the final merge of the STL codebase. The
code in libstdc++ contains many fixes and changes, and
the SGI code is no longer under active
@@ -1079,7 +1073,7 @@
</para>
<para>
In particular, <classname>string</classname> is not from SGI and makes no
- use of their &quot;rope&quot; class (which is included as an
+ use of their "rope" class (which is included as an
optional extension), nor is <classname>valarray</classname> and some others.
Classes like <classname>vector&lt;&gt;</classname> are, but have been
extensively modified.
@@ -1098,50 +1092,48 @@
</answer>
</qandaentry>
-<qandaentry id="faq.extensions_and_backwards_compat">
- <question id="q-extensions_and_backwards_compat">
+<qandaentry xml:id="faq.extensions_and_backwards_compat">
+ <question xml:id="q-extensions_and_backwards_compat">
<para>
Extensions and Backward Compatibility
</para>
</question>
- <answer id="a-extensions_and_backwards_compat">
+ <answer xml:id="a-extensions_and_backwards_compat">
<para>
See the <link linkend="manual.appendix.porting.backwards">link</link> on backwards compatibility and <link linkend="appendix.porting.api">link</link> on evolution.
</para>
</answer>
</qandaentry>
-<qandaentry id="faq.tr1_support">
- <question id="q-tr1_support">
+<qandaentry xml:id="faq.tr1_support">
+ <question xml:id="q-tr1_support">
<para>
Does libstdc++ support TR1?
</para>
</question>
- <answer id="a-tr1_support">
+ <answer xml:id="a-tr1_support">
<para>
Yes.
</para>
<para>
The C++ Standard Library Technical Report adds many new features to
the library. The latest version of this effort is described in
- <ulink url=
- "http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf">
- Technical Report 1</ulink>.
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf">
+ Technical Report 1</link>.
</para>
<para>
- The implementation status of TR1 in libstdc++ can be tracked <link
- linkend="status.iso.tr1">on the TR1 status
+ The implementation status of TR1 in libstdc++ can be tracked <link linkend="status.iso.tr1">on the TR1 status
page</link>.
</para>
</answer>
</qandaentry>
-<qandaentry id="faq.get_iso_cxx">
- <question id="q-get_iso_cxx">
+<qandaentry xml:id="faq.get_iso_cxx">
+ <question xml:id="q-get_iso_cxx">
<para>How do I get a copy of the ISO C++ Standard?
</para>
</question>
- <answer id="a-get_iso_cxx">
+ <answer xml:id="a-get_iso_cxx">
<para>
Copies of the full ISO 14882 standard are available on line via
the ISO mirror site for committee members. Non-members, or those
@@ -1150,14 +1142,14 @@
get a copy of the standard from their respective national
standards organization. In the USA, this national standards
organization is ANSI and their website is
- right <ulink url="http://www.ansi.org">here</ulink>. (And if
+ right <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.ansi.org">here</link>. (And if
you've already registered with them, clicking this link will take
you to directly to the place where you can
- <ulink url="http://webstore.ansi.org/RecordDetail.aspx?sku=ISO%2FIEC+14882:2003">buy the standard on-line</ulink>.
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://webstore.ansi.org/RecordDetail.aspx?sku=ISO%2FIEC+14882:2003">buy the standard on-line</link>.
</para>
<para>
Who is your country's member body? Visit the
- <ulink url="http://www.iso.ch/">ISO homepage</ulink> and find out!
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.iso.ch/">ISO homepage</link> and find out!
</para>
<para>
The 2003 version of the standard (the 1998 version plus TC1) is
@@ -1166,13 +1158,13 @@
</answer>
</qandaentry>
-<qandaentry id="faq.what_is_abi">
- <question id="q-what_is_abi">
+<qandaentry xml:id="faq.what_is_abi">
+ <question xml:id="q-what_is_abi">
<para>
What's an ABI and why is it so messy?
</para>
</question>
- <answer id="a-what_is_abi">
+ <answer xml:id="a-what_is_abi">
<para>
<acronym>ABI</acronym> stands for <quote>Application Binary
Interface</quote>. Conventionally, it refers to a great
@@ -1226,19 +1218,19 @@
</answer>
</qandaentry>
-<qandaentry id="faq.size_equals_capacity">
- <question id="q-size_equals_capacity">
+<qandaentry xml:id="faq.size_equals_capacity">
+ <question xml:id="q-size_equals_capacity">
<para>
How do I make std::vector&lt;T&gt;::capacity() == std::vector&lt;T&gt;::size?
</para>
</question>
- <answer id="a-size_equals_capacity">
+ <answer xml:id="a-size_equals_capacity">
<para>
The standard idiom for deallocating a <classname>vector&lt;T&gt;</classname>'s
unused memory is to create a temporary copy of the vector and swap their
contents, e.g. for <classname>vector&lt;T&gt; v</classname>
</para>
- <literallayout>
+ <literallayout class="normal">
std::vector&lt;T&gt;(v).swap(v);
</literallayout>
<para>
diff --git a/libstdc++-v3/doc/xml/gnu/fdl-1.2.xml b/libstdc++-v3/doc/xml/gnu/fdl-1.2.xml
index 8ad3a41c964..ebf54f4a21b 100644
--- a/libstdc++-v3/doc/xml/gnu/fdl-1.2.xml
+++ b/libstdc++-v3/doc/xml/gnu/fdl-1.2.xml
@@ -1,15 +1,16 @@
-<appendix id="appendix.gfdl-1.2">
+<appendix xmlns="http://docbook.org/ns/docbook" version="5.0"
+ xml:id="appendix.gfdl-1.2">
+<info><title>GNU Free Documentation License</title></info>
<?dbhtml filename="appendix_gfdl.html"?>
- <title>GNU Free Documentation License</title>
+
<para>
Copyright (C) 2000, 2001, 2002 Free Software Foundation,
<abbrev>Inc.</abbrev> 51 Franklin <abbrev>St</abbrev>, Fifth Floor,
- Boston, <abbrev>MA</abbrev> 02110-1301 <abbrev
- role="initialism">USA</abbrev>. Everyone is permitted to copy and
+ Boston, <abbrev>MA</abbrev> 02110-1301 <abbrev role="initialism">USA</abbrev>. Everyone is permitted to copy and
distribute verbatim copies of this license document, but changing it is
not allowed.
</para>
- <bridgehead id="fdl-1-preamble" renderas="sect1">
+ <bridgehead xml:id="fdl-1-preamble" renderas="sect1">
0. PREAMBLE
</bridgehead>
<para>
@@ -35,7 +36,7 @@
for any textual work, regardless of subject matter or whether it is
published as a printed book. We recommend this License principally for
works whose purpose is instruction or reference.</para>
- <bridgehead id="fdl-1-definitions" renderas="sect1">
+ <bridgehead xml:id="fdl-1-definitions" renderas="sect1">
1. APPLICABILITY AND DEFINITIONS
</bridgehead>
<para>
@@ -131,7 +132,7 @@
these Warranty Disclaimers may have is void and has no effect on the
meaning of this License.
</para>
- <bridgehead id="VerbatimCopying" renderas="sect1">
+ <bridgehead xml:id="VerbatimCopying" renderas="sect1">
2. VERBATIM COPYING
</bridgehead>
<para>
@@ -149,7 +150,7 @@
You may also lend copies, under the same conditions stated above, and you
may publicly display copies.
</para>
- <bridgehead id="QuantityCopying" renderas="sect1">
+ <bridgehead xml:id="QuantityCopying" renderas="sect1">
3. COPYING IN QUANTITY
</bridgehead>
<para>
@@ -190,7 +191,7 @@
them a chance to provide you with an updated version of the
Document.
</para>
- <bridgehead id="Modifications" renderas="sect1">
+ <bridgehead xml:id="Modifications" renderas="sect1">
4. MODIFICATIONS
</bridgehead>
<para>
@@ -340,7 +341,7 @@
permission to use their names for publicity for or to assert or imply
endorsement of any Modified Version.
</para>
- <bridgehead id="Combining" renderas="sect1">
+ <bridgehead xml:id="Combining" renderas="sect1">
5. COMBINING DOCUMENTS
</bridgehead>
<para>
@@ -368,7 +369,7 @@
sections Entitled "Dedications". You must delete all sections Entitled
"Endorsements".
</para>
- <bridgehead id="Collections" renderas="sect1">
+ <bridgehead xml:id="Collections" renderas="sect1">
6. COLLECTIONS OF DOCUMENTS
</bridgehead>
<para>
@@ -384,7 +385,7 @@
License into the extracted document, and follow this License in all other
respects regarding verbatim copying of that document.
</para>
- <bridgehead id="Aggregation" renderas="sect1">
+ <bridgehead xml:id="Aggregation" renderas="sect1">
7. AGGREGATION WITH INDEPENDENT WORKS
</bridgehead>
<para>
@@ -405,7 +406,7 @@
if the Document is in electronic form. Otherwise they must appear on
printed covers that bracket the whole aggregate.
</para>
- <bridgehead id="Translation" renderas="sect1">
+ <bridgehead xml:id="Translation" renderas="sect1">
8. TRANSLATION
</bridgehead>
<para>
@@ -426,7 +427,7 @@
"Dedications", or "History", the requirement (section 4) to Preserve its
Title (section 1) will typically require changing the actual title.
</para>
- <bridgehead id="fdl-1-termination" renderas="sect1">
+ <bridgehead xml:id="fdl-1-termination" renderas="sect1">
9. TERMINATION
</bridgehead>
<para>
@@ -438,15 +439,14 @@
have their licenses terminated so long as such parties remain in full
compliance.
</para>
- <bridgehead id="FutureRevisions" renderas="sect1">
+ <bridgehead xml:id="FutureRevisions" renderas="sect1">
10. FUTURE REVISIONS OF THIS LICENSE
</bridgehead>
<para>
The Free Software Foundation may publish new, revised versions of the GNU
Free Documentation License from time to time. Such new versions will be
similar in spirit to the present version, but may differ in detail to
- address new problems or concerns. See <ulink
- url="http://www.gnu.org/copyleft/">http://www.gnu.org/copyleft/</ulink>.
+ address new problems or concerns. See <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.gnu.org/copyleft/">http://www.gnu.org/copyleft/</link>.
</para>
<para>
Each version of the License is given a distinguishing version number. If
@@ -458,7 +458,7 @@
License, you may choose any version ever published (not as a draft) by the
Free Software Foundation.
</para>
- <bridgehead id="HowToUse" renderas="sect1">
+ <bridgehead xml:id="HowToUse" renderas="sect1">
ADDENDUM: How to use this License for your documents
</bridgehead>
<para>
diff --git a/libstdc++-v3/doc/xml/gnu/fdl-1.3.xml b/libstdc++-v3/doc/xml/gnu/fdl-1.3.xml
index 4abbd1d779f..9500e11fe2e 100644
--- a/libstdc++-v3/doc/xml/gnu/fdl-1.3.xml
+++ b/libstdc++-v3/doc/xml/gnu/fdl-1.3.xml
@@ -1,21 +1,23 @@
-<appendix id="appendix.gfdl-1.3">
+<appendix xmlns="http://docbook.org/ns/docbook" version="5.0"
+ xml:id="appendix.gfdl-1.3">
+<info><title>GNU Free Documentation License</title></info>
<?dbhtml filename="appendix_gfdl.html"?>
- <title>GNU Free Documentation License</title>
+
<simpara>Version 1.3, 3 November 2008</simpara>
<simpara>
- Copyright &#169; 2000, 2001, 2002, 2007, 2008
- <ulink url="http://www.fsf.org/">Free Software Foundation, Inc.</ulink>
+ Copyright © 2000, 2001, 2002, 2007, 2008
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.fsf.org/">Free Software Foundation, Inc.</link>
</simpara>
<simpara>
Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.
</simpara>
- <bridgehead id="fdl-1-section0" renderas="sect2">
+ <bridgehead xml:id="fdl-1-section0" renderas="sect2">
0. PREAMBLE
</bridgehead>
<simpara>
The purpose of this License is to make a manual, textbook, or other
- functional and useful document &#8220;free&#8221; in the sense of freedom:
+ functional and useful document “free” in the sense of freedom:
to assure everyone the effective freedom to copy and redistribute it, with
or without modifying it, either commercially or
noncommercially. Secondarily, this License preserves for the author and
@@ -23,7 +25,7 @@
responsible for modifications made by others.
</simpara>
<simpara>
- This License is a kind of &#8220;copyleft&#8221;, which means that
+ This License is a kind of “copyleft”, which means that
derivative works of the document must themselves be free in the same
sense. It complements the GNU General Public License, which is a copyleft
license designed for free software.
@@ -37,7 +39,7 @@
published as a printed book. We recommend this License principally for
works whose purpose is instruction or reference.
</simpara>
- <bridgehead id="fdl-1-section1" renderas="sect2">
+ <bridgehead xml:id="fdl-1-section1" renderas="sect2">
1. APPLICABILITY AND DEFINITIONS
</bridgehead>
<simpara>
@@ -45,21 +47,21 @@
contains a notice placed by the copyright holder saying it can be
distributed under the terms of this License. Such a notice grants a
world-wide, royalty-free license, unlimited in duration, to use that work
- under the conditions stated herein. The &#8220;Document&#8221;, below,
+ under the conditions stated herein. The “Document”, below,
refers to any such manual or work. Any member of the public is a licensee,
- and is addressed as &#8220;you&#8221;. You accept the license if you copy,
+ and is addressed as “you”. You accept the license if you copy,
modify or distribute the work in a way requiring permission under
copyright law.
</simpara>
<simpara>
- A &#8220;Modified Version&#8221; of the Document means any work containing
+ A “Modified Version” of the Document means any work containing
the Document or a portion of it, either copied verbatim, or with
modifications and/or translated into another language.
</simpara>
<simpara>
- A &#8220;Secondary Section&#8221; is a named appendix or a front-matter
+ A “Secondary Section” is a named appendix or a front-matter
section of the Document that deals exclusively with the relationship of
- the publishers or authors of the Document to the Document&#x2019;s overall
+ the publishers or authors of the Document to the Document’s overall
subject (or to related matters) and contains nothing that could fall
directly within that overall subject. (Thus, if the Document is in part a
textbook of mathematics, a Secondary Section may not explain any
@@ -68,7 +70,7 @@
philosophical, ethical or political position regarding them.
</simpara>
<simpara>
- The &#8220;Invariant Sections&#8221; are certain Secondary Sections whose
+ The “Invariant Sections” are certain Secondary Sections whose
titles are designated, as being those of Invariant Sections, in the notice
that says that the Document is released under this License. If a section
does not fit the above definition of Secondary then it is not allowed to
@@ -77,13 +79,13 @@
there are none.
</simpara>
<simpara>
- The &#8220;Cover Texts&#8221; are certain short passages of text that are
+ The “Cover Texts” are certain short passages of text that are
listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says
that the Document is released under this License. A Front-Cover Text may
be at most 5 words, and a Back-Cover Text may be at most 25 words.
</simpara>
<simpara>
- A &#8220;Transparent&#8221; copy of the Document means a machine-readable
+ A “Transparent” copy of the Document means a machine-readable
copy, represented in a format whose specification is available to the
general public, that is suitable for revising the document
straightforwardly with generic text editors or (for images composed of
@@ -94,7 +96,7 @@
markup, or absence of markup, has been arranged to thwart or discourage
subsequent modification by readers is not Transparent. An image format is
not Transparent if used for any substantial amount of text. A copy that is
- not &#8220;Transparent&#8221; is called &#8220;Opaque&#8221;.
+ not “Transparent” is called “Opaque”.
</simpara>
<simpara>
Examples of suitable formats for Transparent copies include plain ASCII
@@ -108,26 +110,26 @@
some word processors for output purposes only.
</simpara>
<simpara>
- The &#8220;Title Page&#8221; means, for a printed book, the title page
+ The “Title Page” means, for a printed book, the title page
itself, plus such following pages as are needed to hold, legibly, the
material this License requires to appear in the title page. For works in
- formats which do not have any title page as such, &#8220;Title Page&#8221;
- means the text near the most prominent appearance of the work&#x2019;s
+ formats which do not have any title page as such, “Title Page”
+ means the text near the most prominent appearance of the work’s
title, preceding the beginning of the body of the text.
</simpara>
<simpara>
- The &#8220;publisher&#8221; means any person or entity that distributes
+ The “publisher” means any person or entity that distributes
copies of the Document to the public.
</simpara>
<simpara>
- A section &#8220;Entitled XYZ&#8221; means a named subunit of the Document
+ A section “Entitled XYZ” means a named subunit of the Document
whose title either is precisely XYZ or contains XYZ in parentheses
following text that translates XYZ in another language. (Here XYZ stands
for a specific section name mentioned below, such as
- &#8220;Acknowledgements&#8221;, &#8220;Dedications&#8221;,
- &#8220;Endorsements&#8221;, or &#8220;History&#8221;.) To &#8220;Preserve
- the Title&#8221; of such a section when you modify the Document means that
- it remains a section &#8220;Entitled XYZ&#8221; according to this
+ “Acknowledgements”, “Dedications”,
+ “Endorsements”, or “History”.) To “Preserve
+ the Title” of such a section when you modify the Document means that
+ it remains a section “Entitled XYZ” according to this
definition.
</simpara>
<simpara>
@@ -138,7 +140,7 @@
these Warranty Disclaimers may have is void and has no effect on the
meaning of this License.
</simpara>
- <bridgehead id="fdl-1-section2" renderas="sect2">
+ <bridgehead xml:id="fdl-1-section2" renderas="sect2">
2. VERBATIM COPYING
</bridgehead>
<simpara>
@@ -156,13 +158,13 @@
You may also lend copies, under the same conditions stated above, and you
may publicly display copies.
</simpara>
- <bridgehead id="fdl-1-section3" renderas="sect2">
+ <bridgehead xml:id="fdl-1-section3" renderas="sect2">
3. COPYING IN QUANTITY
</bridgehead>
<simpara>
If you publish printed copies (or copies in media that commonly have
printed covers) of the Document, numbering more than 100, and the
- Document&#x2019;s license notice requires Cover Texts, you must enclose
+ Document’s license notice requires Cover Texts, you must enclose
the copies in covers that carry, clearly and legibly, all these Cover
Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the
back cover. Both covers must also clearly and legibly identify you as the
@@ -195,7 +197,7 @@
Document well before redistributing any large number of copies, to give
them a chance to provide you with an updated version of the Document.
</simpara>
- <bridgehead id="fdl-1-section4" renderas="sect2">
+ <bridgehead xml:id="fdl-1-section4" renderas="sect2">
4. MODIFICATIONS
</bridgehead>
<simpara>
@@ -252,7 +254,7 @@
<listitem>
<simpara>
Preserve in that license notice the full lists of Invariant Sections
- and required Cover Texts given in the Document&#x2019;s license
+ and required Cover Texts given in the Document’s license
notice.
</simpara>
</listitem>
@@ -263,10 +265,10 @@
</listitem>
<listitem>
<simpara>
- Preserve the section Entitled &#8220;History&#8221;, Preserve its
+ Preserve the section Entitled “History”, Preserve its
Title, and add to it an item stating at least the title, year, new
authors, and publisher of the Modified Version as given on the Title
- Page. If there is no section Entitled &#8220;History&#8221; in the
+ Page. If there is no section Entitled “History” in the
Document, create one stating the title, year, authors, and publisher
of the Document as given on its Title Page, then add an item
describing the Modified Version as stated in the previous sentence.
@@ -277,7 +279,7 @@
Preserve the network location, if any, given in the Document for
public access to a Transparent copy of the Document, and likewise the
network locations given in the Document for previous versions it was
- based on. These may be placed in the &#8220;History&#8221;
+ based on. These may be placed in the “History”
section. You may omit a network location for a work that was published
at least four years before the Document itself, or if the original
publisher of the version it refers to gives permission.
@@ -285,8 +287,8 @@
</listitem>
<listitem>
<simpara>
- For any section Entitled &#8220;Acknowledgements&#8221; or
- &#8220;Dedications&#8221;, Preserve the Title of the section, and
+ For any section Entitled “Acknowledgements” or
+ “Dedications”, Preserve the Title of the section, and
preserve in the section all the substance and tone of each of the
contributor acknowledgements and/or dedications given therein.
</simpara>
@@ -300,14 +302,14 @@
</listitem>
<listitem>
<simpara>
- Delete any section Entitled &#8220;Endorsements&#8221;. Such a section
+ Delete any section Entitled “Endorsements”. Such a section
may not be included in the Modified Version.
</simpara>
</listitem>
<listitem>
<simpara>
Do not retitle any existing section to be Entitled
- &#8220;Endorsements&#8221; or to conflict in title with any Invariant
+ “Endorsements” or to conflict in title with any Invariant
Section.
</simpara>
</listitem>
@@ -322,13 +324,13 @@
that qualify as Secondary Sections and contain no material copied from the
Document, you may at your option designate some or all of these sections
as invariant. To do this, add their titles to the list of Invariant
- Sections in the Modified Version&#x2019;s license notice. These titles
+ Sections in the Modified Version’s license notice. These titles
must be distinct from any other section titles.
</simpara>
<simpara>
- You may add a section Entitled &#8220;Endorsements&#8221;, provided it
+ You may add a section Entitled “Endorsements”, provided it
contains nothing but endorsements of your Modified Version by various
- parties &#8212; for example, statements of peer review or that the text
+ parties — for example, statements of peer review or that the text
has been approved by an organization as the authoritative definition of a
standard.
</simpara>
@@ -348,7 +350,7 @@
permission to use their names for publicity for or to assert or imply
endorsement of any Modified Version.
</simpara>
- <bridgehead id="fdl-1-section5" renderas="sect2">
+ <bridgehead xml:id="fdl-1-section5" renderas="sect2">
5. COMBINING DOCUMENTS
</bridgehead>
<simpara>
@@ -371,13 +373,13 @@
</simpara>
<simpara>
In the combination, you must combine any sections Entitled
- &#8220;History&#8221; in the various original documents, forming one
- section Entitled &#8220;History&#8221;; likewise combine any sections
- Entitled &#8220;Acknowledgements&#8221;, and any sections Entitled
- &#8220;Dedications&#8221;. You must delete all sections Entitled
- &#8220;Endorsements&#8221;.
+ “History” in the various original documents, forming one
+ section Entitled “History”; likewise combine any sections
+ Entitled “Acknowledgements”, and any sections Entitled
+ “Dedications”. You must delete all sections Entitled
+ “Endorsements”.
</simpara>
- <bridgehead id="fdl-1-section6" renderas="sect2">
+ <bridgehead xml:id="fdl-1-section6" renderas="sect2">
6. COLLECTIONS OF DOCUMENTS
</bridgehead>
<simpara>
@@ -393,15 +395,15 @@
License into the extracted document, and follow this License in all other
respects regarding verbatim copying of that document.
</simpara>
- <bridgehead id="fdl-1-section7" renderas="sect2">
+ <bridgehead xml:id="fdl-1-section7" renderas="sect2">
7. AGGREGATION WITH INDEPENDENT WORKS
</bridgehead>
<simpara>
A compilation of the Document or its derivatives with other separate and
independent documents or works, in or on a volume of a storage or
- distribution medium, is called an &#8220;aggregate&#8221; if the copyright
+ distribution medium, is called an “aggregate” if the copyright
resulting from the compilation is not used to limit the legal rights of
- the compilation&#x2019;s users beyond what the individual works
+ the compilation’s users beyond what the individual works
permit. When the Document is included in an aggregate, this License does
not apply to the other works in the aggregate which are not themselves
derivative works of the Document.
@@ -409,12 +411,12 @@
<simpara>
If the Cover Text requirement of section 3 is applicable to these copies
of the Document, then if the Document is less than one half of the entire
- aggregate, the Document&#x2019;s Cover Texts may be placed on covers that
+ aggregate, the Document’s Cover Texts may be placed on covers that
bracket the Document within the aggregate, or the electronic equivalent of
covers if the Document is in electronic form. Otherwise they must appear
on printed covers that bracket the whole aggregate.
</simpara>
- <bridgehead id="fdl-1-section8" renderas="sect2">
+ <bridgehead xml:id="fdl-1-section8" renderas="sect2">
8. TRANSLATION
</bridgehead>
<simpara>
@@ -431,12 +433,12 @@
License or a notice or disclaimer, the original version will prevail.
</simpara>
<simpara>
- If a section in the Document is Entitled &#8220;Acknowledgements&#8221;,
- &#8220;Dedications&#8221;, or &#8220;History&#8221;, the requirement
+ If a section in the Document is Entitled “Acknowledgements”,
+ “Dedications”, or “History”, the requirement
(section 4) to Preserve its Title (section 1) will typically require
changing the actual title.
</simpara>
- <bridgehead id="fdl-1-section9" renderas="sect2">
+ <bridgehead xml:id="fdl-1-section9" renderas="sect2">
9. TERMINATION
</bridgehead>
<simpara>
@@ -467,7 +469,7 @@
reinstated, receipt of a copy of some or all of the same material does not
give you any rights to use it.
</simpara>
- <bridgehead id="fdl-1-section10" renderas="sect2">
+ <bridgehead xml:id="fdl-1-section10" renderas="sect2">
10. FUTURE REVISIONS OF THIS LICENSE
</bridgehead>
<simpara>
@@ -475,46 +477,46 @@
Free Documentation License from time to time. Such new versions will be
similar in spirit to the present version, but may differ in detail to
address new problems or concerns. See
- <ulink url="http://www.gnu.org/copyleft/">Copyleft</ulink>.
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.gnu.org/copyleft/">Copyleft</link>.
</simpara>
<simpara>
Each version of the License is given a distinguishing version number. If
the Document specifies that a particular numbered version of this License
- &#8220;or any later version&#8221; applies to it, you have the option of
+ “or any later version” applies to it, you have the option of
following the terms and conditions either of that specified version or of
any later version that has been published (not as a draft) by the Free
Software Foundation. If the Document does not specify a version number of
this License, you may choose any version ever published (not as a draft)
by the Free Software Foundation. If the Document specifies that a proxy
can decide which future versions of this License can be used, that
- proxy&#x2019;s public statement of acceptance of a version permanently
+ proxy’s public statement of acceptance of a version permanently
authorizes you to choose that version for the Document.
</simpara>
- <bridgehead id="fdl-1-section11" renderas="sect2">
+ <bridgehead xml:id="fdl-1-section11" renderas="sect2">
11. RELICENSING
</bridgehead>
<simpara>
- &#8220;Massive Multiauthor Collaboration Site&#8221; (or &#8220;MMC
- Site&#8221;) means any World Wide Web server that publishes copyrightable
+ “Massive Multiauthor Collaboration Site” (or “MMC
+ Site”) means any World Wide Web server that publishes copyrightable
works and also provides prominent facilities for anybody to edit those
works. A public wiki that anybody can edit is an example of such a
- server. A &#8220;Massive Multiauthor Collaboration&#8221; (or
- &#8220;MMC&#8221;) contained in the site means any set of copyrightable
+ server. A “Massive Multiauthor Collaboration” (or
+ “MMC”) contained in the site means any set of copyrightable
works thus published on the MMC site.
</simpara>
<simpara>
- &#8220;CC-BY-SA&#8221; means the Creative Commons Attribution-Share Alike
+ “CC-BY-SA” means the Creative Commons Attribution-Share Alike
3.0 license published by Creative Commons Corporation, a not-for-profit
corporation with a principal place of business in San Francisco,
California, as well as future copyleft versions of that license published
by that same organization.
</simpara>
<simpara>
- &#8220;Incorporate&#8221; means to publish or republish a Document, in
+ “Incorporate” means to publish or republish a Document, in
whole or in part, as part of another Document.
</simpara>
<simpara>
- An MMC is &#8220;eligible for relicensing&#8221; if it is licensed under
+ An MMC is “eligible for relicensing” if it is licensed under
this License, and if all works that were first published under this
License somewhere other than this MMC, and subsequently incorporated in
whole or in part into the MMC, (1) had no cover texts or invariant
@@ -525,7 +527,7 @@
under CC-BY-SA on the same site at any time before August 1, 2009,
provided the MMC is eligible for relicensing.
</simpara>
- <bridgehead id="fdl-1-addendum" renderas="sect2">
+ <bridgehead xml:id="fdl-1-addendum" renderas="sect2">
ADDENDUM: How to use this License for your documents
</bridgehead>
<simpara>
@@ -533,16 +535,16 @@
License in the document and put the following copyright and license
notices just after the title page:
</simpara>
- <screen>Copyright &#169; YEAR YOUR NAME
+ <screen>Copyright © YEAR YOUR NAME
Permission is granted to copy, distribute and/or modify this document under the
terms of the GNU Free Documentation License, Version 1.3 or any later version
published by the Free Software Foundation; with no Invariant Sections, no
Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in
-the section entitled &#8220;GNU Free Documentation License&#8221;.</screen>
+the section entitled “GNU Free Documentation License”.</screen>
<simpara>
If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
- replace the &#8220;with&#8230; Texts.&#8221; line with this:
+ replace the “with… Texts.” line with this:
</simpara>
<screen>with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts
being LIST, and with the Back-Cover Texts being LIST.</screen>
diff --git a/libstdc++-v3/doc/xml/gnu/gpl-2.0.xml b/libstdc++-v3/doc/xml/gnu/gpl-2.0.xml
index 151a9523f07..cf012ec960b 100644
--- a/libstdc++-v3/doc/xml/gnu/gpl-2.0.xml
+++ b/libstdc++-v3/doc/xml/gnu/gpl-2.0.xml
@@ -1,15 +1,13 @@
-<?xml version='1.0' encoding='ISO-8859-1'?>
-<!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
- "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
-<appendix id="appendix.gpl-2.0">
- <appendixinfo>
- <title>GNU General Public License</title>
+<appendix xmlns="http://docbook.org/ns/docbook" version="5.0"
+ xml:id="appendix.gpl-2.0">
+ <info><title>GNU General Public License</title>
+
<pubdate>Version 2, June 1991</pubdate>
<copyright>
<year>1989, 1991</year>
<holder>Free Software Foundation, Inc.</holder>
</copyright>
- <legalnotice id="gpl-legalnotice">
+ <legalnotice xml:id="gpl-legalnotice">
<para>
<address>Free Software Foundation, Inc.
<street>51 Franklin Street, Fifth Floor</street>,
@@ -20,16 +18,16 @@
<para>Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.</para>
</legalnotice>
<releaseinfo>Version 2, June 1991</releaseinfo>
- </appendixinfo>
- <title>GNU General Public License</title>
- <section id="gpl-1">
- <title>Preamble</title>
+ </info>
+
+ <section xml:id="gpl-1"><info><title>Preamble</title></info>
+
<para>The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public License is
intended to guarantee your freedom to share and change
free software - to make sure the software is free for all its users.
This General Public License applies to most of the Free Software
- Foundation&apos;s software and to any other program whose authors commit
+ Foundation's software and to any other program whose authors commit
to using it. (Some other Free Software Foundation software is covered
by the GNU Library General Public License instead.) You can apply it
to your programs, too.</para>
@@ -52,7 +50,7 @@
must show them these terms so they know their rights.</para>
<para>We protect your rights with two steps:
- <orderedlist>
+ <orderedlist inheritnum="ignore" continuation="restarts">
<listitem>
<para>copyright the software, and</para>
</listitem>
@@ -63,26 +61,26 @@
</orderedlist>
</para>
- <para>Also, for each author&apos;s protection and ours, we want to make certain that
+ <para>Also, for each author's protection and ours, we want to make certain that
everyone understands that there is no warranty for this free software. If
the software is modified by someone else and passed on, we want its
recipients to know that what they have is not the original, so that any
- problems introduced by others will not reflect on the original authors&apos;
+ problems introduced by others will not reflect on the original authors'
reputations.</para>
<para>Finally, any free program is threatened constantly by software patents.
We wish to avoid the danger that redistributors of a free program will
individually obtain patent licenses, in effect making the program
proprietary. To prevent this, we have made it clear that any patent must be
- licensed for everyone&apos;s free use or not licensed at all.</para>
+ licensed for everyone's free use or not licensed at all.</para>
<para>The precise terms and conditions for copying, distribution and modification
follow.</para>
</section>
- <section id="gpl-2">
- <title>TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION</title>
- <section id="gpl-2-0">
- <title>Section 0</title>
+ <section xml:id="gpl-2"><info><title>TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION</title></info>
+
+ <section xml:id="gpl-2-0"><info><title>Section 0</title></info>
+
<para>This License applies to any program or other work which contains a notice
placed by the copyright holder saying it may be distributed under the terms
of this General Public License. The <quote>Program</quote>, below, refers to any such
@@ -100,9 +98,9 @@
constitute a work based on the Program (independent of having been made by running
the Program). Whether that is true depends on what the Program does.</para>
</section>
- <section id="gpl-2-1">
- <title>Section 1</title>
- <para>You may copy and distribute verbatim copies of the Program&apos;s source code as you
+ <section xml:id="gpl-2-1"><info><title>Section 1</title></info>
+
+ <para>You may copy and distribute verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and appropriately
publish on each copy an appropriate copyright notice and disclaimer of warranty;
keep intact all the notices that refer to this License and to the absence of any
@@ -112,14 +110,14 @@
<para>You may charge a fee for the physical act of transferring a copy, and you may at
your option offer warranty protection in exchange for a fee.</para>
</section>
- <section id="gpl-2-2">
- <title>Section 2</title>
+ <section xml:id="gpl-2-2"><info><title>Section 2</title></info>
+
<para>You may modify your copy or copies of the Program or any portion of it, thus
forming a work based on the Program, and copy and distribute such modifications
or work under the terms of
<link linkend="gpl-2-1">Section 1</link> above, provided
that you also meet all of these conditions:
- <orderedlist numeration="loweralpha">
+ <orderedlist numeration="loweralpha" inheritnum="ignore" continuation="restarts">
<listitem>
<para>You must cause the modified files to carry prominent notices stating that
you changed the files and the date of any change.</para>
@@ -161,13 +159,13 @@
(or with a work based on the Program) on a volume of a storage or distribution medium
does not bring the other work under the scope of this License.</para>
</section>
- <section id="gpl-2-3">
- <title>Section 3</title>
+ <section xml:id="gpl-2-3"><info><title>Section 3</title></info>
+
<para>You may copy and distribute the Program (or a work based on it, under
<link linkend="gpl-2-2">Section 2</link> in object code or executable form under the terms of
<link linkend="gpl-2-1">Sections 1</link> and
<link linkend="gpl-2-2">2</link> above provided that you also do one of the following:
- <orderedlist numeration="loweralpha">
+ <orderedlist numeration="loweralpha" inheritnum="ignore" continuation="restarts">
<listitem>
<para>Accompany it with the complete corresponding machine-readable source code, which
must be distributed under the terms of Sections 1 and 2 above on a medium
@@ -202,16 +200,16 @@
counts as distribution of the source code, even though third parties are not compelled to
copy the source along with the object code.</para>
</section>
- <section id="gpl-2-4">
- <title>Section 4</title>
+ <section xml:id="gpl-2-4"><info><title>Section 4</title></info>
+
<para>You may not copy, modify, sublicense, or distribute the Program except as expressly provided
under this License. Any attempt otherwise to copy, modify, sublicense or distribute the
Program is void, and will automatically terminate your rights under this License. However,
parties who have received copies, or rights, from you under this License will not have their
licenses terminated so long as such parties remain in full compliance.</para>
</section>
- <section id="gpl-2-5">
- <title>Section 5</title>
+ <section xml:id="gpl-2-5"><info><title>Section 5</title></info>
+
<para>You are not required to accept this License, since you have not signed it. However, nothing
else grants you permission to modify or distribute the Program or its derivative works.
These actions are prohibited by law if you do not accept this License. Therefore, by modifying
@@ -219,16 +217,16 @@
of this License to do so, and all its terms and conditions for copying, distributing or
modifying the Program or works based on it.</para>
</section>
- <section id="gpl-2-6">
- <title>Section 6</title>
+ <section xml:id="gpl-2-6"><info><title>Section 6</title></info>
+
<para>Each time you redistribute the Program (or any work based on the Program), the recipient
automatically receives a license from the original licensor to copy, distribute or modify
the Program subject to these terms and conditions. You may not impose any further restrictions
- on the recipients&apos; exercise of the rights granted herein. You are not responsible for enforcing
+ on the recipients' exercise of the rights granted herein. You are not responsible for enforcing
compliance by third parties to this License.</para>
</section>
- <section id="gpl-2-7">
- <title>Section 7</title>
+ <section xml:id="gpl-2-7"><info><title>Section 7</title></info>
+
<para>If, as a consequence of a court judgment or allegation of patent infringement or for any other
reason (not limited to patent issues), conditions are imposed on you (whether by court order,
agreement or otherwise) that contradict the conditions of this License, they do not excuse you
@@ -254,16 +252,16 @@
<para>This section is intended to make thoroughly clear what is believed to be a consequence of the
rest of this License.</para>
</section>
- <section id="gpl-2-8">
- <title>Section 8</title>
+ <section xml:id="gpl-2-8"><info><title>Section 8</title></info>
+
<para>If the distribution and/or use of the Program is restricted in certain countries either by patents
or by copyrighted interfaces, the original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding those countries, so that
distribution is permitted only in or among countries not thus excluded. In such case, this License
incorporates the limitation as if written in the body of this License.</para>
</section>
- <section id="gpl-2-9">
- <title>Section 9</title>
+ <section xml:id="gpl-2-9"><info><title>Section 9</title></info>
+
<para>The Free Software Foundation may publish revised and/or new versions of the General Public License
from time to time. Such new versions will be similar in spirit to the present version, but may differ
in detail to address new problems or concerns.</para>
@@ -274,16 +272,16 @@
Foundation. If the Program does not specify a version number of this License, you may choose any
version ever published by the Free Software Foundation.</para>
</section>
- <section id="gpl-2-10">
- <title>Section 10</title>
+ <section xml:id="gpl-2-10"><info><title>Section 10</title></info>
+
<para>If you wish to incorporate parts of the Program into other free programs whose distribution
conditions are different, write to the author to ask for permission. For software which is copyrighted
by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions
for this. Our decision will be guided by the two goals of preserving the free status of all
derivatives of our free software and of promoting the sharing and reuse of software generally.</para>
</section>
- <section id="gpl-2-11">
- <title>NO WARRANTY Section 11</title>
+ <section xml:id="gpl-2-11"><info><title>NO WARRANTY Section 11</title></info>
+
<para>BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT
PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
OTHER PARTIES PROVIDE THE PROGRAM <quote>AS IS</quote> WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
@@ -291,8 +289,8 @@
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.</para>
</section>
- <section id="gpl-2-12">
- <title>Section 12</title>
+ <section xml:id="gpl-2-12"><info><title>Section 12</title></info>
+
<para>IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR
ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
@@ -304,8 +302,8 @@
<para>END OF TERMS AND CONDITIONS</para>
</section>
</section>
- <section id="gpl-3">
- <title>How to Apply These Terms to Your New Programs</title>
+ <section xml:id="gpl-3"><info><title>How to Apply These Terms to Your New Programs</title></info>
+
<para>If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.</para>
@@ -315,7 +313,7 @@
convey the exclusion of warranty; and each file should have at least
the <quote>copyright</quote> line and a pointer to where the full notice is found.</para>
- <para>&lt;one line to give the program&apos;s name and a brief idea of what it does.&gt;
+ <para>&lt;one line to give the program's name and a brief idea of what it does.&gt;
Copyright (C) &lt;year&gt; &lt;name of author&gt;</para>
<para>This program is free software; you can redistribute it and/or modify
diff --git a/libstdc++-v3/doc/xml/gnu/gpl-3.0.xml b/libstdc++-v3/doc/xml/gnu/gpl-3.0.xml
index 90fa18be431..d5a5eae203b 100644
--- a/libstdc++-v3/doc/xml/gnu/gpl-3.0.xml
+++ b/libstdc++-v3/doc/xml/gnu/gpl-3.0.xml
@@ -1,23 +1,21 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
- "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
-<appendix id="appendix.gpl-3.0">
- <?dbhtml filename="appendix_gpl.html"?>
- <title>
+<appendix xmlns="http://docbook.org/ns/docbook" version="5.0"
+ xml:id="appendix.gpl-3.0"><info><title>
<acronym>GNU</acronym> General Public License version 3
- </title>
+ </title></info>
+ <?dbhtml filename="appendix_gpl.html"?>
+
<para>
Version 3, 29 June 2007
</para>
<para>
- Copyright &copy; 2007 Free Software Foundation, Inc.
- <ulink url="http://www.fsf.org/">http://www.fsf.org/</ulink>
+ Copyright © 2007 Free Software Foundation, Inc.
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.fsf.org/">http://www.fsf.org/</link>
</para>
<para>
Everyone is permitted to copy and distribute verbatim copies of this license
document, but changing it is not allowed.
</para>
- <bridgehead id="gpl-3-preamble" renderas="sect1">
+ <bridgehead xml:id="gpl-3-preamble" renderas="sect1">
Preamble
</bridgehead>
<para>
@@ -28,7 +26,7 @@
The licenses for most software and other practical works are designed to
take away your freedom to share and change the works. By contrast, the
<acronym>GNU</acronym> General Public License is intended to guarantee your
- freedom to share and change all versions of a program&mdash;to make sure it
+ freedom to share and change all versions of a program—to make sure it
remains free software for all its users. We, the Free Software Foundation,
use the <acronym>GNU</acronym> General Public License for most of our
software; it applies also to any other work released this way by its
@@ -61,9 +59,9 @@
distribute and/or modify it.
</para>
<para>
- For the developers&rsquo; and authors&rsquo; protection, the
+ For the developers’ and authors’ protection, the
<acronym>GPL</acronym> clearly explains that there is no warranty for this
- free software. For both users&rsquo; and authors&rsquo; sake, the
+ free software. For both users’ and authors’ sake, the
<acronym>GPL</acronym> requires that modified versions be marked as changed,
so that their problems will not be attributed erroneously to authors of
previous versions.
@@ -71,7 +69,7 @@
<para>
Some devices are designed to deny users access to install or run modified
versions of the software inside them, although the manufacturer can do so.
- This is fundamentally incompatible with the aim of protecting users&rsquo;
+ This is fundamentally incompatible with the aim of protecting users’
freedom to change the software. The systematic pattern of such abuse occurs
in the area of products for individuals to use, which is precisely where it
is most unacceptable. Therefore, we have designed this version of the
@@ -95,36 +93,36 @@
<bridgehead>
TERMS AND CONDITIONS
</bridgehead>
- <bridgehead id="gpl-3-definitions" renderas="sect1">
+ <bridgehead xml:id="gpl-3-definitions" renderas="sect1">
0. Definitions.
</bridgehead>
<para>
- &ldquo;This License&rdquo; refers to version 3 of the <acronym>GNU</acronym>
+ “This License” refers to version 3 of the <acronym>GNU</acronym>
General Public License.
</para>
<para>
- &ldquo;Copyright&rdquo; also means copyright-like laws that apply to other
+ “Copyright” also means copyright-like laws that apply to other
kinds of works, such as semiconductor masks.
</para>
<para>
- &ldquo;The Program&rdquo; refers to any copyrightable work licensed under
- this License. Each licensee is addressed as &ldquo;you&rdquo;.
- &ldquo;Licensees&rdquo; and &ldquo;recipients&rdquo; may be individuals or
+ “The Program” refers to any copyrightable work licensed under
+ this License. Each licensee is addressed as “you”.
+ “Licensees” and “recipients” may be individuals or
organizations.
</para>
<para>
- To &ldquo;modify&rdquo; a work means to copy from or adapt all or part of
+ To “modify” a work means to copy from or adapt all or part of
the work in a fashion requiring copyright permission, other than the making
- of an exact copy. The resulting work is called a &ldquo;modified
- version&rdquo; of the earlier work or a work &ldquo;based on&rdquo; the
+ of an exact copy. The resulting work is called a “modified
+ version” of the earlier work or a work “based on” the
earlier work.
</para>
<para>
- A &ldquo;covered work&rdquo; means either the unmodified Program or a work
+ A “covered work” means either the unmodified Program or a work
based on the Program.
</para>
<para>
- To &ldquo;propagate&rdquo; a work means to do anything with it that, without
+ To “propagate” a work means to do anything with it that, without
permission, would make you directly or secondarily liable for infringement
under applicable copyright law, except executing it on a computer or
modifying a private copy. Propagation includes copying, distribution (with
@@ -132,13 +130,13 @@
countries other activities as well.
</para>
<para>
- To &ldquo;convey&rdquo; a work means any kind of propagation that enables
+ To “convey” a work means any kind of propagation that enables
other parties to make or receive copies. Mere interaction with a user
through a computer network, with no transfer of a copy, is not conveying.
</para>
<para>
- An interactive user interface displays &ldquo;Appropriate Legal
- Notices&rdquo; to the extent that it includes a convenient and prominently
+ An interactive user interface displays “Appropriate Legal
+ Notices” to the extent that it includes a convenient and prominently
visible feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to the extent
that warranties are provided), that licensees may convey the work under this
@@ -146,37 +144,37 @@
a list of user commands or options, such as a menu, a prominent item in the
list meets this criterion.
</para>
- <bridgehead id="SourceCode" renderas="sect1">
+ <bridgehead xml:id="SourceCode" renderas="sect1">
1. Source Code.
</bridgehead>
<para>
- The &ldquo;source code&rdquo; for a work means the preferred form of the
- work for making modifications to it. &ldquo;Object code&rdquo; means any
+ The “source code” for a work means the preferred form of the
+ work for making modifications to it. “Object code” means any
non-source form of a work.
</para>
<para>
- A &ldquo;Standard Interface&rdquo; means an interface that either is an
+ A “Standard Interface” means an interface that either is an
official standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that is
widely used among developers working in that language.
</para>
<para>
- The &ldquo;System Libraries&rdquo; of an executable work include anything,
+ The “System Libraries” of an executable work include anything,
other than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major Component,
and (b) serves only to enable use of the work with that Major Component, or
to implement a Standard Interface for which an implementation is available
- to the public in source code form. A &ldquo;Major Component&rdquo;, in this
+ to the public in source code form. A “Major Component”, in this
context, means a major essential component (kernel, window system, and so
on) of the specific operating system (if any) on which the executable work
runs, or a compiler used to produce the work, or an object code interpreter
used to run it.
</para>
<para>
- The &ldquo;Corresponding Source&rdquo; for a work in object code form means
+ The “Corresponding Source” for a work in object code form means
all the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
- control those activities. However, it does not include the work&rsquo;s
+ control those activities. However, it does not include the work’s
System Libraries, or general-purpose tools or generally available free
programs which are used unmodified in performing those activities but which
are not part of the work. For example, Corresponding Source includes
@@ -193,7 +191,7 @@
<para>
The Corresponding Source for a work in source code form is that same work.
</para>
- <bridgehead id="BasicPermissions" renderas="sect1">
+ <bridgehead xml:id="BasicPermissions" renderas="sect1">
2. Basic Permissions.
</bridgehead>
<para>
@@ -222,8 +220,8 @@
conditions stated below. Sublicensing is not allowed; section 10 makes it
unnecessary.
</para>
- <bridgehead id="Protecting" renderas="sect1">
- 3. Protecting Users&rsquo; Legal Rights From Anti-Circumvention Law.
+ <bridgehead xml:id="Protecting" renderas="sect1">
+ 3. Protecting Users’ Legal Rights From Anti-Circumvention Law.
</bridgehead>
<para>
No covered work shall be deemed part of an effective technological measure
@@ -236,15 +234,15 @@
circumvention of technological measures to the extent such circumvention is
effected by exercising rights under this License with respect to the covered
work, and you disclaim any intention to limit operation or modification of
- the work as a means of enforcing, against the work&rsquo;s users, your or
- third parties&rsquo; legal rights to forbid circumvention of technological
+ the work as a means of enforcing, against the work’s users, your or
+ third parties’ legal rights to forbid circumvention of technological
measures.
</para>
- <bridgehead id="ConveyingVerbatim" renderas="sect1">
+ <bridgehead xml:id="ConveyingVerbatim" renderas="sect1">
4. Conveying Verbatim Copies.
</bridgehead>
<para>
- You may convey verbatim copies of the Program&rsquo;s source code as you
+ You may convey verbatim copies of the Program’s source code as you
receive it, in any medium, provided that you conspicuously and appropriately
publish on each copy an appropriate copyright notice; keep intact all
notices stating that this License and any non-permissive terms added in
@@ -256,7 +254,7 @@
You may charge any price or no price for each copy that you convey, and you
may offer support or warranty protection for a fee.
</para>
- <bridgehead id="ConveyingModified" renderas="sect1">
+ <bridgehead xml:id="ConveyingModified" renderas="sect1">
5. Conveying Modified Source Versions.
</bridgehead>
<para>
@@ -264,7 +262,7 @@
it from the Program, in the form of source code under the terms of section
4, provided that you also meet all of these conditions:
</para>
- <orderedlist numeration="loweralpha">
+ <orderedlist numeration="loweralpha" inheritnum="ignore" continuation="restarts">
<listitem>
<para>
The work must carry prominent notices stating that you modified it, and
@@ -275,8 +273,8 @@
<para>
The work must carry prominent notices stating that it is released under
this License and any conditions added under section 7. This requirement
- modifies the requirement in section 4 to &ldquo;keep intact all
- notices&rdquo;.
+ modifies the requirement in section 4 to “keep intact all
+ notices”.
</para>
</listitem>
<listitem>
@@ -303,13 +301,13 @@
A compilation of a covered work with other separate and independent works,
which are not by their nature extensions of the covered work, and which are
not combined with it such as to form a larger program, in or on a volume of
- a storage or distribution medium, is called an &ldquo;aggregate&rdquo; if
+ a storage or distribution medium, is called an “aggregate” if
the compilation and its resulting copyright are not used to limit the access
- or legal rights of the compilation&rsquo;s users beyond what the individual works
+ or legal rights of the compilation’s users beyond what the individual works
permit. Inclusion of a covered work in an aggregate does not cause
this License to apply to the other parts of the aggregate.
</para>
- <bridgehead id="ConveyingNonSource" renderas="sect1">
+ <bridgehead xml:id="ConveyingNonSource" renderas="sect1">
6. Conveying Non-Source Forms.
</bridgehead>
<para>
@@ -317,7 +315,7 @@
sections 4 and 5, provided that you also convey the machine-readable
Corresponding Source under the terms of this License, in one of these ways:
</para>
- <orderedlist numeration="loweralpha">
+ <orderedlist numeration="loweralpha" inheritnum="ignore" continuation="restarts">
<listitem>
<para>
Convey the object code in, or embodied in, a physical product (including
@@ -379,13 +377,13 @@
conveying the object code work.
</para>
<para>
- A &ldquo;User Product&rdquo; is either (1) a &ldquo;consumer product&rdquo;,
+ A “User Product” is either (1) a “consumer product”,
which means any tangible personal property which is normally used for
personal, family, or household purposes, or (2) anything designed or sold
for incorporation into a dwelling. In determining whether a product is a
consumer product, doubtful cases shall be resolved in favor of coverage.
- For a particular product received by a particular user, &ldquo;normally
- used&rdquo; refers to a typical or common use of that class of product,
+ For a particular product received by a particular user, “normally
+ used” refers to a typical or common use of that class of product,
regardless of the status of the particular user or of the way in which the
particular user actually uses, or expects or is expected to use, the
product. A product is a consumer product regardless of whether the product
@@ -393,7 +391,7 @@
uses represent the only significant mode of use of the product.
</para>
<para>
- &ldquo;Installation Information&rdquo; for a User Product means any methods,
+ “Installation Information” for a User Product means any methods,
procedures, authorization keys, or other information required to install and
execute modified versions of a covered work in that User Product from a
modified version of its Corresponding Source. The information must suffice
@@ -429,11 +427,11 @@
and must require no special password or key for unpacking, reading or
copying.
</para>
- <bridgehead id="AdditionalTerms" renderas="sect1">
+ <bridgehead xml:id="AdditionalTerms" renderas="sect1">
7. Additional Terms.
</bridgehead>
<para>
- &ldquo;Additional permissions&rdquo; are terms that supplement the terms of
+ “Additional permissions” are terms that supplement the terms of
this License by making exceptions from one or more of its conditions.
Additional permissions that are applicable to the entire Program shall be
treated as though they were included in this License, to the extent that
@@ -455,7 +453,7 @@
to a covered work, you may (if authorized by the copyright holders of that
material) supplement the terms of this License with terms:
</para>
- <orderedlist numeration="loweralpha">
+ <orderedlist numeration="loweralpha" inheritnum="ignore" continuation="restarts">
<listitem>
<para>
Disclaiming warranty or limiting liability differently from the terms
@@ -499,8 +497,8 @@
</listitem>
</orderedlist>
<para>
- All other non-permissive additional terms are considered &ldquo;further
- restrictions&rdquo; within the meaning of section 10. If the Program as
+ All other non-permissive additional terms are considered “further
+ restrictions” within the meaning of section 10. If the Program as
you received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further restriction,
you may remove that term. If a license document contains a further
@@ -520,7 +518,7 @@
of a separately written license, or stated as exceptions; the above
requirements apply either way.
</para>
- <bridgehead id="gpl-3-termination" renderas="sect1">
+ <bridgehead xml:id="gpl-3-termination" renderas="sect1">
8. Termination.
</bridgehead>
<para>
@@ -551,7 +549,7 @@
reinstated, you do not qualify to receive new licenses for the same
material under section 10.
</para>
- <bridgehead id="AcceptanceNotRequired" renderas="sect1">
+ <bridgehead xml:id="AcceptanceNotRequired" renderas="sect1">
9. Acceptance Not Required for Having Copies.
</bridgehead>
<para>
@@ -564,7 +562,7 @@
Therefore, by modifying or propagating a covered work, you indicate your
acceptance of this License to do so.
</para>
- <bridgehead id="AutomaticDownstream" renderas="sect1">
+ <bridgehead xml:id="AutomaticDownstream" renderas="sect1">
10. Automatic Licensing of Downstream Recipients.
</bridgehead>
<para>
@@ -574,12 +572,12 @@
compliance by third parties with this License.
</para>
<para>
- An &ldquo;entity transaction&rdquo; is a transaction transferring control
+ An “entity transaction” is a transaction transferring control
of an organization, or substantially all assets of one, or subdividing an
organization, or merging organizations. If propagation of a covered work
results from an entity transaction, each party to that transaction who
receives a copy of the work also receives whatever licenses to the work the
- party&rsquo;s predecessor in interest had or could give under the previous
+ party’s predecessor in interest had or could give under the previous
paragraph, plus a right to possession of the Corresponding Source of the
work from the predecessor in interest, if the predecessor has it or can get
it with reasonable efforts.
@@ -593,36 +591,36 @@
by making, using, selling, offering for sale, or importing the Program or
any portion of it.
</para>
- <bridgehead id="Patents" renderas="sect1">
+ <bridgehead xml:id="Patents" renderas="sect1">
11. Patents.
</bridgehead>
<para>
- A &ldquo;contributor&rdquo; is a copyright holder who authorizes use under
+ A “contributor” is a copyright holder who authorizes use under
this License of the Program or a work on which the Program is based. The
- work thus licensed is called the contributor&rsquo;s &ldquo;contributor
- version&rdquo;.
+ work thus licensed is called the contributor’s “contributor
+ version”.
</para>
<para>
- A contributor&rsquo;s &ldquo;essential patent claims&rdquo; are all patent
+ A contributor’s “essential patent claims” are all patent
claims owned or controlled by the contributor, whether already acquired or
hereafter acquired, that would be infringed by some manner, permitted by
this License, of making, using, or selling its contributor version, but do
not include claims that would be infringed only as a consequence of further
modification of the contributor version. For purposes of this definition,
- &ldquo;control&rdquo; includes the right to grant patent sublicenses in a
+ “control” includes the right to grant patent sublicenses in a
manner consistent with the requirements of this License.
</para>
<para>
Each contributor grants you a non-exclusive, worldwide, royalty-free patent
- license under the contributor&rsquo;s essential patent claims, to make, use,
+ license under the contributor’s essential patent claims, to make, use,
sell, offer for sale, import and otherwise run, modify and propagate the
contents of its contributor version.
</para>
<para>
- In the following three paragraphs, a &ldquo;patent license&rdquo; is any
+ In the following three paragraphs, a “patent license” is any
express agreement or commitment, however denominated, not to enforce a
patent (such as an express permission to practice a patent or covenant not
- to sue for patent infringement). To &ldquo;grant&rdquo; such a patent
+ to sue for patent infringement). To “grant” such a patent
license to a party means to make such an agreement or commitment not to
enforce a patent against the party.
</para>
@@ -634,10 +632,10 @@
cause the Corresponding Source to be so available, or (2) arrange to deprive
yourself of the benefit of the patent license for this particular work, or
(3) arrange, in a manner consistent with the requirements of this License,
- to extend the patent license to downstream recipients. &ldquo;Knowingly
- relying&rdquo; means you have actual knowledge that, but for the patent
+ to extend the patent license to downstream recipients. “Knowingly
+ relying” means you have actual knowledge that, but for the patent
license, your conveying the covered work in a country, or your
- recipient&rsquo;s use of the covered work in a country, would infringe one
+ recipient’s use of the covered work in a country, would infringe one
or more identifiable patents in that country that you have reason to believe
are valid.
</para>
@@ -650,7 +648,7 @@
all recipients of the covered work and works based on it.
</para>
<para>
- A patent license is &ldquo;discriminatory&rdquo; if it does not include
+ A patent license is “discriminatory” if it does not include
within the scope of its coverage, prohibits the exercise of, or is
conditioned on the non-exercise of one or more of the rights that are
specifically granted under this License. You may not convey a covered work
@@ -669,8 +667,8 @@
implied license or other defenses to infringement that may otherwise be
available to you under applicable patent law.
</para>
- <bridgehead id="NoSurrender" renderas="sect1">
- 12. No Surrender of Others&rsquo; Freedom.
+ <bridgehead xml:id="NoSurrender" renderas="sect1">
+ 12. No Surrender of Others’ Freedom.
</bridgehead>
<para>
If conditions are imposed on you (whether by court order, agreement or
@@ -683,7 +681,7 @@
Program, the only way you could satisfy both those terms and this License
would be to refrain entirely from conveying the Program.
</para>
- <bridgehead id="UsedWithAGPL" renderas="sect1">
+ <bridgehead xml:id="UsedWithAGPL" renderas="sect1">
13. Use with the <acronym>GNU</acronym> Affero General Public License.
</bridgehead>
<para>
@@ -696,7 +694,7 @@
section 13, concerning interaction through a network will apply to the
combination as such.
</para>
- <bridgehead id="RevisedVersions" renderas="sect1">
+ <bridgehead xml:id="RevisedVersions" renderas="sect1">
14. Revised Versions of this License.
</bridgehead>
<para>
@@ -708,7 +706,7 @@
<para>
Each version is given a distinguishing version number. If the Program
specifies that a certain numbered version of the <acronym>GNU</acronym>
- General Public License &ldquo;or any later version&rdquo; applies to it, you
+ General Public License “or any later version” applies to it, you
have the option of following the terms and conditions either of that
numbered version or of any later version published by the Free Software
Foundation. If the Program does not specify a version number of the
@@ -718,7 +716,7 @@
<para>
If the Program specifies that a proxy can decide which future versions of
the <acronym>GNU</acronym> General Public License can be used, that
- proxy&rsquo;s public statement of acceptance of a version permanently
+ proxy’s public statement of acceptance of a version permanently
authorizes you to choose that version for the Program.
</para>
<para>
@@ -726,20 +724,20 @@
However, no additional obligations are imposed on any author or copyright
holder as a result of your choosing to follow a later version.
</para>
- <bridgehead id="WarrantyDisclaimer" renderas="sect1">
+ <bridgehead xml:id="WarrantyDisclaimer" renderas="sect1">
15. Disclaimer of Warranty.
</bridgehead>
<para>
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE
LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
- OTHER PARTIES PROVIDE THE PROGRAM &ldquo;AS IS&rdquo; WITHOUT WARRANTY OF
+ OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTY OF
ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH
YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL
NECESSARY SERVICING, REPAIR OR CORRECTION.
</para>
- <bridgehead id="LiabilityLimitation" renderas="sect1">
+ <bridgehead xml:id="LiabilityLimitation" renderas="sect1">
16. Limitation of Liability.
</bridgehead>
<para>
@@ -753,7 +751,7 @@
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.
</para>
- <bridgehead id="InterpretationSecs1516" renderas="sect1">
+ <bridgehead xml:id="InterpretationSecs1516" renderas="sect1">
17. Interpretation of Sections 15 and 16.
</bridgehead>
<para>
@@ -767,7 +765,7 @@
<bridgehead>
END OF TERMS AND CONDITIONS
</bridgehead>
- <bridgehead id="HowToApply" renderas="sect1">
+ <bridgehead xml:id="HowToApply" renderas="sect1">
How to Apply These Terms to Your New Programs
</bridgehead>
<para>
@@ -779,11 +777,11 @@
To do so, attach the following notices to the program. It is safest to
attach them to the start of each source file to most effectively state the
exclusion of warranty; and each file should have at least the
- &ldquo;copyright&rdquo; line and a pointer to where the full notice is
+ “copyright” line and a pointer to where the full notice is
found.
</para>
<screen>
-<replaceable>one line to give the program&rsquo;s name and a brief idea of what it does.</replaceable>
+<replaceable>one line to give the program’s name and a brief idea of what it does.</replaceable>
Copyright (C) <replaceable>year</replaceable> <replaceable>name of author</replaceable>
This program is free software: you can redistribute it and/or modify
@@ -797,7 +795,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
<acronym>GNU</acronym> General Public License for more details.
You should have received a copy of the <acronym>GNU</acronym> General Public License
-along with this program. If not, see <ulink url="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</ulink>.
+along with this program. If not, see <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</link>.
</screen>
<para>
Also add information on how to contact you by electronic and paper mail.
@@ -808,22 +806,22 @@ along with this program. If not, see <ulink url="http://www.gnu.org/licenses/">
</para>
<screen>
<replaceable>program</replaceable> Copyright (C) <replaceable>year</replaceable> <replaceable>name of author</replaceable>
-This program comes with ABSOLUTELY NO WARRANTY; for details type &lsquo;<literal>show w</literal>&rsquo;.
+This program comes with ABSOLUTELY NO WARRANTY; for details type ‘<literal>show w</literal>’.
This is free software, and you are welcome to redistribute it
-under certain conditions; type &lsquo;<literal>show c</literal>&rsquo; for details.
+under certain conditions; type ‘<literal>show c</literal>’ for details.
</screen>
<para>
- The hypothetical commands &lsquo;<literal>show w</literal>&rsquo; and
- &lsquo;<literal>show c</literal>&rsquo; should show the appropriate parts of
- the General Public License. Of course, your program&rsquo;s commands might be
- different; for a GUI interface, you would use an &ldquo;about box&rdquo;.
+ The hypothetical commands ‘<literal>show w</literal>’ and
+ ‘<literal>show c</literal>’ should show the appropriate parts of
+ the General Public License. Of course, your program’s commands might be
+ different; for a GUI interface, you would use an “about box”.
</para>
<para>
You should also get your employer (if you work as a programmer) or school,
- if any, to sign a &ldquo;copyright disclaimer&rdquo; for the program, if
+ if any, to sign a “copyright disclaimer” for the program, if
necessary. For more information on this, and how to apply and follow the
<acronym>GNU</acronym> <acronym>GPL</acronym>, see
- <ulink url="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</ulink>.
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</link>.
</para>
<para>
The <acronym>GNU</acronym> General Public License does not permit
@@ -831,7 +829,6 @@ under certain conditions; type &lsquo;<literal>show c</literal>&rsquo; for detai
subroutine library, you may consider it more useful to permit linking
proprietary applications with the library. If this is what you want to do,
use the <acronym>GNU</acronym> Lesser General Public License instead of this
- License. But first, please read <ulink
- url="http://www.gnu.org/philosophy/why-not-lgpl.html">http://www.gnu.org/philosophy/why-not-lgpl.html</ulink>.
+ License. But first, please read <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.gnu.org/philosophy/why-not-lgpl.html">http://www.gnu.org/philosophy/why-not-lgpl.html</link>.
</para>
</appendix>
diff --git a/libstdc++-v3/doc/xml/manual/abi.xml b/libstdc++-v3/doc/xml/manual/abi.xml
index 8777bc72e6d..268f0a69199 100644
--- a/libstdc++-v3/doc/xml/manual/abi.xml
+++ b/libstdc++-v3/doc/xml/manual/abi.xml
@@ -1,7 +1,8 @@
-<sect1 id="appendix.porting.abi" xreflabel="abi">
+<section xmlns="http://docbook.org/ns/docbook" version="5.0"
+ xml:id="appendix.porting.abi" xreflabel="abi">
<?dbhtml filename="abi.html"?>
-<sect1info>
+<info><title>ABI Policy and Guidelines</title>
<keywordset>
<keyword>
C++
@@ -22,20 +23,20 @@
compatibility
</keyword>
</keywordset>
-</sect1info>
+</info>
+
-<title>ABI Policy and Guidelines</title>
<para>
</para>
-<sect2 id="abi.cxx_interface">
-<title>The C++ Interface</title>
+<section xml:id="abi.cxx_interface"><info><title>The C++ Interface</title></info>
+
<para>
- C++ applications often dependent on specific language support
+ C++ applications often depend on specific language support
routines, say for throwing exceptions, or catching exceptions, and
- perhaps also dependent on features in the C++ Standard Library.
+ perhaps also depend on features in the C++ Standard Library.
</para>
<para>
@@ -53,9 +54,8 @@
virtual functions, etc. These details are defined as the compiler
Application Binary Interface, or ABI. The GNU C++ compiler uses an
industry-standard C++ ABI starting with version 3. Details can be
- found in the <ulink
- url="http://www.codesourcery.com/cxx-abi/abi.html"> ABI
- specification</ulink>.
+ found in the <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.codesourcery.com/cxx-abi/abi.html"> ABI
+ specification</link>.
</para>
<para>
@@ -65,8 +65,8 @@
g++ command line options may change the ABI as a side-effect of
use. Such flags include <code>-fpack-struct</code> and
<code>-fno-exceptions</code>, but include others: see the complete
- list in the GCC manual under the heading <ulink url="http://gcc.gnu.org/onlinedocs/gcc/Code-Gen-Options.html#Code%20Gen%20Options">Options
- for Code Generation Conventions</ulink>.
+ list in the GCC manual under the heading <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/onlinedocs/gcc/Code-Gen-Options.html#Code%20Gen%20Options">Options
+ for Code Generation Conventions</link>.
</para>
<para>
@@ -105,24 +105,24 @@ given compiler ABI. In a nutshell:
implements the C++ ABI in question.
</para>
-</sect2>
+</section>
+
+<section xml:id="abi.versioning"><info><title>Versioning</title></info>
-<sect2 id="abi.versioning">
-<title>Versioning</title>
<para> The C++ interface has evolved throughout the history of the GNU
C++ toolchain. With each release, various details have been changed so
as to give distinct versions to the C++ interface.
</para>
- <sect3 id="abi.versioning.goals">
- <title>Goals</title>
+ <section xml:id="abi.versioning.goals"><info><title>Goals</title></info>
+
<para>Extending existing, stable ABIs. Versioning gives subsequent
releases of library binaries the ability to add new symbols and add
functionality, all the while retaining compatibility with the previous
releases in the series. Thus, program binaries linked with the initial
-release of a library binary will still link correctly if the library
+release of a library binary will still run correctly if the library
binary is replaced by carefully-managed subsequent library
binaries. This is called forward compatibility.
</para>
@@ -136,10 +136,10 @@ compatible.
<para>Allows multiple, incompatible ABIs to coexist at the same time.
</para>
- </sect3>
+ </section>
- <sect3 id="abi.versioning.history">
- <title>History</title>
+ <section xml:id="abi.versioning.history"><info><title>History</title></info>
+
<para>
How can this complexity be managed? What does C++ versioning mean?
@@ -232,7 +232,7 @@ compatible.
<listitem>
<para>
Release versioning on the libstdc++.so binary, implemented in
- the same was as the libgcc_s.so binary above. Listed is the
+ the same way as the libgcc_s.so binary above. Listed is the
filename: <constant>DT_SONAME</constant> can be deduced from
the filename by removing the last two period-delimited numbers. For
example, filename <filename>libstdc++.so.5.0.4</filename>
@@ -298,18 +298,17 @@ compatible.
</para>
<para>
Note 3: This release (but not previous or subsequent) has one
- known incompatibility, see <ulink
- url="http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33678">33678</ulink>
+ known incompatibility, see <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33678">33678</link>
in the GCC bug database.
</para>
</listitem>
<listitem><para>Symbol versioning on the libstdc++.so binary.</para>
- <para>mapfile: libstdc++/config/linker-map.gnu</para>
+ <para>mapfile: libstdc++-v3/config/abi/pre/gnu.ver</para>
<para>It is versioned with the following labels and version
definitions, where the version definition is the maximum for a
- particular release. Note, only symbol which are newly introduced
+ particular release. Note, only symbols which are newly introduced
will use the maximum version definition. Thus, for release series
with the same label, but incremented version definitions, the later
release has both versions. (An example of this would be the
@@ -379,7 +378,7 @@ compatible.
<listitem><para>gcc-3.4.x, gcc-4.[0-5].x: 1000 + n (when n&gt;1) </para></listitem>
<listitem><para>gcc-3.4.x, gcc-4.[0-5].x: 999999 (when n=0)</para></listitem>
</itemizedlist>
- <para></para>
+ <para/>
</listitem>
<listitem>
@@ -396,7 +395,7 @@ compatible.
<listitem><para>gcc-3.3.x: <code>-fabi-version=1</code></para></listitem>
<listitem><para>gcc-3.4.x, gcc-4.[0-5].x: <code>-fabi-version=2</code> <emphasis>(Incompatible with previous)</emphasis></para></listitem>
</itemizedlist>
- <para></para>
+ <para/>
</listitem>
<listitem>
@@ -410,7 +409,7 @@ compatible.
<para>
This macro is defined in the file "c++config" in the
- "libstdc++/include/bits" directory. (Up to gcc-4.1.0, it was
+ "libstdc++-v3/include/bits" directory. (Up to gcc-4.1.0, it was
changed every night by an automated script. Since gcc-4.1.0, it is
the same value as gcc/DATESTAMP.)
</para>
@@ -460,7 +459,7 @@ compatible.
<listitem><para>gcc-4.4.1: 20090722</para></listitem>
<listitem><para>gcc-4.4.2: 20091015</para></listitem>
</itemizedlist>
- <para></para>
+ <para/>
</listitem>
<listitem>
@@ -474,7 +473,7 @@ compatible.
<para>
This macro is defined in the file "c++config" in the
- "libstdc++/include/bits" directory and is generated
+ "libstdc++-v3/include/bits" directory and is generated
automatically by autoconf as part of the configure-time generation
of config.h.
</para>
@@ -501,7 +500,7 @@ compatible.
<listitem><para>gcc-3.4.x: "version-unused"</para></listitem>
<listitem><para>gcc-4.[0-5].x: "version-unused"</para></listitem>
</itemizedlist>
- <para></para>
+ <para/>
</listitem>
<listitem>
@@ -514,7 +513,7 @@ compatible.
All C++ includes are installed in include/c++, then nest in a
directory hierarchy corresponding to the C++ compiler's released
version. This version corresponds to the variable "gcc_version" in
- "libstdc++/acinclude.m4," and more details can be found in that
+ "libstdc++-v3/acinclude.m4," and more details can be found in that
file's macro GLIBCXX_CONFIGURE (GLIBCPP_CONFIGURE before gcc-3.4.0).
</para>
<para>
@@ -564,7 +563,7 @@ compatible.
<listitem><para>gcc-4.4.2: include/c++/4.4.2</para></listitem>
<listitem><para>gcc-4.5.0: include/c++/4.5.0</para></listitem>
</itemizedlist>
- <para></para>
+ <para/>
</listitem>
</orderedlist>
@@ -577,14 +576,15 @@ compatible.
</para>
- </sect3>
+ </section>
- <sect3 id="abi.versioning.prereq">
- <title>Prerequisites</title>
+ <section xml:id="abi.versioning.prereq"><info><title>Prerequisites</title></info>
+
<para>
Minimum environment that supports a versioned ABI: A supported
dynamic linker, a GNU linker of sufficient vintage to understand
- demangled C++ name globbing (ld), a shared executable compiled
+ demangled C++ name globbing (ld) or the Sun linker, a shared
+ executable compiled
with g++, and shared libraries (libgcc_s, libstdc++) compiled by
a compiler (g++) with a compatible ABI. Phew.
</para>
@@ -598,12 +598,12 @@ compatible.
<para>
Most modern Linux and BSD versions, particularly ones using
gcc-3.1.x tools and more recent vintages, will meet the
- requirements above.
+ requirements above, as does Solaris 2.5 and up.
</para>
- </sect3>
+ </section>
- <sect3 id="abi.versioning.config">
- <title>Configuring</title>
+ <section xml:id="abi.versioning.config"><info><title>Configuring</title></info>
+
<para>
It turns out that most of the configure options that change
@@ -614,7 +614,7 @@ compatible.
<para>
For more information on configure options, including ABI
impacts, see:
- http://gcc.gnu.org/onlinedocs/libstdc++/configopts.html
+ <link linkend="manual.intro.setup.configure">here</link>
</para>
<para>
@@ -623,17 +623,17 @@ compatible.
</para>
<para>
- In particular, libstdc++/acinclude.m4 has a macro called
+ In particular, libstdc++-v3/acinclude.m4 has a macro called
GLIBCXX_ENABLE_SYMVERS that defaults to yes (or the argument
passed in via --enable-symvers=foo). At that point, the macro
attempts to make sure that all the requirement for symbol
versioning are in place. For more information, please consult
acinclude.m4.
</para>
- </sect3>
+ </section>
- <sect3 id="abi.versioning.active">
- <title>Checking Active</title>
+ <section xml:id="abi.versioning.active"><info><title>Checking Active</title></info>
+
<para>
When the GNU C++ library is being built with symbol versioning
@@ -648,6 +648,7 @@ compatible.
</screen>
<para>
+ or another of the supported styles.
If you don't see this line in the configure output, or if this line
appears but the last word is 'no', then you are out of luck.
</para>
@@ -685,11 +686,28 @@ of the name, then the executable is versioned. Here's an example:
<code>U _ZNSt8ios_base4InitC1Ev@@GLIBCXX_3.4</code>
</para>
- </sect3>
-</sect2>
+<para>
+On Solaris 2, you can use <code>pvs -r</code> instead:
+</para>
+
+<programlisting>
+%g++ hello.cc -o hello.out
+
+%pvs -r hello.out
+ libstdc++.so.6 (GLIBCXX_3.4, GLIBCXX_3.4.12);
+ libgcc_s.so.1 (GCC_3.0);
+ libc.so.1 (SUNWprivate_1.1, SYSVABI_1.3);
+</programlisting>
+
+<para>
+<code>ldd -v</code> works too, but is very verbose.
+</para>
+
+ </section>
+</section>
+
+<section xml:id="abi.changes_allowed"><info><title>Allowed Changes</title></info>
-<sect2 id="abi.changes_allowed">
-<title>Allowed Changes</title>
<para>
The following will cause the library minor version number to
@@ -704,10 +722,10 @@ increase, say from "libstdc++.so.3.0.4" to "libstdc++.so.3.0.5".
Other allowed changes are possible.
</para>
-</sect2>
+</section>
+
+<section xml:id="abi.changes_no"><info><title>Prohibited Changes</title></info>
-<sect2 id="abi.changes_no">
-<title>Prohibited Changes</title>
<para>
The following non-exhaustive list will cause the library major version
@@ -735,19 +753,19 @@ number to increase, say from "libstdc++.so.3.0.4" to
<listitem><para> Adding an explicit copy constructor or destructor to a
class that would otherwise have implicit versions. This will change
the way the compiler deals with this class in by-value return
-statements or parameters: instead of being passing instances of this
-class in registers, the compiler will be forced to use memory. See <ulink url="http://www.codesourcery.com/cxx-abi/abi.html#calls"> this part</ulink>
+statements or parameters: instead of passing instances of this
+class in registers, the compiler will be forced to use memory. See <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.codesourcery.com/cxx-abi/abi.html#calls"> this part</link>
of the C++ ABI documentation for further details.
</para></listitem>
</orderedlist>
-</sect2>
+</section>
-<sect2 id="abi.impl">
-<title>Implementation</title>
+<section xml:id="abi.impl"><info><title>Implementation</title></info>
+
<orderedlist>
<listitem>
@@ -861,13 +879,13 @@ standard includes.</para>
</listitem>
</orderedlist>
-</sect2>
+</section>
+
+<section xml:id="abi.testing"><info><title>Testing</title></info>
-<sect2 id="abi.testing">
-<title>Testing</title>
- <sect3 id="abi.testing.single">
- <title>Single ABI Testing</title>
+ <section xml:id="abi.testing.single"><info><title>Single ABI Testing</title></info>
+
<para>
Testing for GNU C++ ABI changes is composed of two distinct
@@ -920,7 +938,7 @@ Use the 'make check-abi' rule in the libstdc++ Makefile.
</para>
<para>
-This is a proactive check the library ABI. Currently, exported symbol
+This is a proactive check of the library ABI. Currently, exported symbol
names that are either weak or defined are checked against a last known
good baseline. Currently, this baseline is keyed off of 3.4.0
binaries, as this was the last time the .so number was incremented. In
@@ -955,7 +973,7 @@ Another approach might be to use the -fdump-class-hierarchy flag to
get information. However, currently this approach gives insufficient
data for use in library testing, as class data members, their offsets,
and other detailed data is not displayed with this flag.
-(See g++/7470 on how this was used to find bugs.)
+(See PR g++/7470 on how this was used to find bugs.)
</para>
<para>
@@ -963,12 +981,12 @@ Perhaps there are other C++ ABI checkers. If so, please notify
us. We'd like to know about them!
</para>
- </sect3>
- <sect3 id="abi.testing.multi">
- <title>Multiple ABI Testing</title>
+ </section>
+ <section xml:id="abi.testing.multi"><info><title>Multiple ABI Testing</title></info>
+
<para>
A "C" application, dynamically linked to two shared libraries, liba,
-libb. The dependent library liba is C++ shared library compiled with
+libb. The dependent library liba is a C++ shared library compiled with
gcc-3.3.x, and uses io, exceptions, locale, etc. The dependent library
libb is a C++ shared library compiled with gcc-3.4.x, and also uses io,
exceptions, locale, etc.
@@ -1050,11 +1068,11 @@ gcc test.c -g -O2 -L. -lone -ltwo /usr/lib/libstdc++.so.5 /usr/lib/libstdc++.so.
code from both liba, and the dependent libstdc++.so.6, and libb,
with the dependent libstdc++.so.5.
</para>
- </sect3>
-</sect2>
+ </section>
+</section>
+
+<section xml:id="abi.issues"><info><title>Outstanding Issues</title></info>
-<sect2 id="abi.issues">
-<title>Outstanding Issues</title>
<para>
Some features in the C++ language make versioning especially
@@ -1070,149 +1088,119 @@ gcc test.c -g -O2 -L. -lone -ltwo /usr/lib/libstdc++.so.5 /usr/lib/libstdc++.so.
</para>
<para>
-<ulink url="http://gcc.gnu.org/PR24660">24660: versioning weak symbols in libstdc++</ulink>
+<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/PR24660">24660: versioning weak symbols in libstdc++</link>
</para>
<para>
-<ulink url="http://gcc.gnu.org/PR19664">19664: libstdc++ headers should have pop/push of the visibility around the declarations</ulink>
+<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/PR19664">19664: libstdc++ headers should have pop/push of the visibility around the declarations</link>
</para>
-</sect2>
+</section>
+
+<bibliography xml:id="abi.biblio"><info><title>Bibliography</title></info>
-<bibliography id="abi.biblio">
-<title>Bibliography</title>
<biblioentry>
- <biblioid class="uri">
- <ulink url="http://abicheck.sourceforge.net/">
- <citetitle>
- ABIcheck, a vague idea of checking ABI compatibility
- </citetitle>
- </ulink>
- </biblioid>
+ <biblioid xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://abicheck.sourceforge.net/" class="uri">
+ </biblioid>
+ <citetitle>
+ ABIcheck, a vague idea of checking ABI compatibility
+ </citetitle>
</biblioentry>
<biblioentry>
- <biblioid class="uri">
- <ulink url="http://www.codesourcery.com/public/cxx-abi/">
- <citetitle>
- C++ ABI Reference
- </citetitle>
- </ulink>
+ <biblioid xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.codesourcery.com/public/cxx-abi/" class="uri">
</biblioid>
+ <citetitle>
+ C++ ABI Reference
+ </citetitle>
</biblioentry>
<biblioentry>
- <biblioid class="uri">
- <ulink url="http://www.intel.com/cd/software/products/asmo-na/eng/284736.htm">
- <citetitle>
- Intel Compilers for Linux Compatibility with the GNU Compilers
- </citetitle>
- </ulink>
- </biblioid>
+ <biblioid xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.intel.com/cd/software/products/asmo-na/eng/284736.htm" class="uri">
+ </biblioid>
+ <citetitle>
+ Intel Compilers for Linux Compatibility with the GNU Compilers
+ </citetitle>
</biblioentry>
<biblioentry>
- <biblioid class="uri">
- <ulink url="http://docs.sun.com/app/docs/doc/817-1984">
- <citetitle>
- Sun Solaris 2.9 : Linker and Libraries Guide (document 816-1386)
- </citetitle>
- </ulink>
- </biblioid>
+ <biblioid xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://docs.sun.com/app/docs/doc/819-0690" class="uri">
+ </biblioid>
+ <citetitle>
+ Linker and Libraries Guide (document 819-0690)
+ </citetitle>
</biblioentry>
<biblioentry>
- <biblioid class="uri">
- <ulink url="http://docs.sun.com/app/docs/doc/819-5266">
- <citetitle>
- Sun Solaris 2.9 : C++ Migration Guide (document 816-2459)
- </citetitle>
- </ulink>
+ <biblioid xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://docs.sun.com/app/docs/doc/819-3689" class="uri">
</biblioid>
+ <citetitle>
+ Sun Studio 11: C++ Migration Guide (document 819-3689)
+ </citetitle>
</biblioentry>
<biblioentry>
- <biblioid class="uri">
- <ulink url="http://people.redhat.com/drepper/dsohowto.pdf">
- <citetitle>
- How to Write Shared Libraries
- </citetitle>
- </ulink>
+ <biblioid xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://people.redhat.com/drepper/dsohowto.pdf" class="uri">
</biblioid>
+ <citetitle>
+ How to Write Shared Libraries
+ </citetitle>
<author>
- <firstname>Ulrich</firstname>
- <surname>Drepper</surname>
+ <personname>
+ <firstname>Ulrich</firstname><surname>Drepper</surname>
+ </personname>
</author>
</biblioentry>
<biblioentry>
- <biblioid class="uri">
- <ulink url="http://www.arm.com/miscPDFs/8033.pdf">
- <citetitle>
- C++ ABI for the ARM Architecture
- </citetitle>
- </ulink>
+ <biblioid xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.arm.com/miscPDFs/8033.pdf" class="uri">
</biblioid>
+ <citetitle>
+ C++ ABI for the ARM Architecture
+ </citetitle>
</biblioentry>
<biblioentry>
- <biblioid class="uri">
- <ulink url="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1976.html">
- <citetitle>
- Dynamic Shared Objects: Survey and Issues
- </citetitle>
- </ulink>
+ <biblioid xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1976.html" class="uri">
</biblioid>
+ <citetitle>
+ Dynamic Shared Objects: Survey and Issues
+ </citetitle>
<subtitle>
ISO C++ J16/06-0046
</subtitle>
- <author>
- <firstname>Benjamin</firstname>
- <surname>Kosnik</surname>
- </author>
+ <author><personname><firstname>Benjamin</firstname><surname>Kosnik</surname></personname></author>
</biblioentry>
<biblioentry>
- <biblioid class="uri">
- <ulink url="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2013.html">
- <citetitle>
- Versioning With Namespaces
- </citetitle>
- </ulink>
- </biblioid>
+ <biblioid xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2013.html" class="uri">
+ </biblioid>
+ <citetitle>
+ Versioning With Namespaces
+ </citetitle>
<subtitle>
ISO C++ J16/06-0083
</subtitle>
- <author>
- <firstname>Benjamin</firstname>
- <surname>Kosnik</surname>
- </author>
+ <author><personname><firstname>Benjamin</firstname><surname>Kosnik</surname></personname></author>
</biblioentry>
<biblioentry>
- <biblioid class="uri">
- <ulink url="http://syrcose.ispras.ru/2009/files/SYRCoSE2009-CfP.pdf">
- <citetitle>
- Binary Compatibility of Shared Libraries Implemented in C++
- on GNU/Linux Systems
- </citetitle>
- </ulink>
+ <biblioid xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://syrcose.ispras.ru/2009/files/SYRCoSE2009-CfP.pdf" class="uri">
</biblioid>
+ <citetitle>
+ Binary Compatibility of Shared Libraries Implemented in C++
+ on GNU/Linux Systems
+ </citetitle>
+
<subtitle>
SYRCoSE 2009
</subtitle>
- <author>
- <firstname>Pavel</firstname>
- <surname>Shved</surname>
- </author>
- <author>
- <firstname>Denis</firstname>
- <surname>Silakov</surname>
- </author>
+ <author><personname><firstname>Pavel</firstname><surname>Shved</surname></personname></author>
+ <author><personname><firstname>Denis</firstname><surname>Silakov</surname></personname></author>
</biblioentry>
</bibliography>
-</sect1>
+</section>
diff --git a/libstdc++-v3/doc/xml/manual/algorithms.xml b/libstdc++-v3/doc/xml/manual/algorithms.xml
index 008fd0286ed..831fe5fe602 100644
--- a/libstdc++-v3/doc/xml/manual/algorithms.xml
+++ b/libstdc++-v3/doc/xml/manual/algorithms.xml
@@ -1,12 +1,11 @@
-<?xml version='1.0'?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
- "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
-[ ]>
-
-<chapter id="std.algorithms" xreflabel="Algorithms">
+<chapter xmlns="http://docbook.org/ns/docbook" version="5.0"
+ xml:id="std.algorithms" xreflabel="Algorithms">
<?dbhtml filename="algorithms.html"?>
-<chapterinfo>
+<info><title>
+ Algorithms
+ <indexterm><primary>Algorithms</primary></indexterm>
+</title>
<keywordset>
<keyword>
ISO C++
@@ -18,19 +17,16 @@
algorithm
</keyword>
</keywordset>
-</chapterinfo>
+</info>
+
-<title>
- Algorithms
- <indexterm><primary>Algorithms</primary></indexterm>
-</title>
<para>
The neatest accomplishment of the algorithms sect1 is that all the
work is done via iterators, not containers directly. This means two
important things:
</para>
-<orderedlist>
+<orderedlist inheritnum="ignore" continuation="restarts">
<listitem>
<para>
Anything that behaves like an iterator can be used in one of
@@ -63,7 +59,7 @@
<para>
The single thing that trips people up the most is the definition
of <emphasis>range</emphasis> used with iterators; the famous
- &quot;past-the-end&quot; rule that everybody loves to hate. The
+ "past-the-end" rule that everybody loves to hate. The
<link linkend="std.iterators">iterators sect1</link> of this
document has a complete explanation of this simple rule that seems
to cause so much confusion. Once you
@@ -74,14 +70,14 @@
<!-- Sect1 01 : Non Modifying -->
<!-- Sect1 02 : Mutating -->
-<sect1 id="std.algorithms.mutating" xreflabel="Mutating">
- <title>Mutating</title>
+<section xml:id="std.algorithms.mutating" xreflabel="Mutating"><info><title>Mutating</title></info>
+
- <sect2 id="algorithms.mutating.swap" xreflabel="swap">
- <title><function>swap</function></title>
+ <section xml:id="algorithms.mutating.swap" xreflabel="swap"><info><title><function>swap</function></title></info>
+
- <sect3 id="algorithms.swap.specializations" xreflabel="Specializations">
- <title>Specializations</title>
+ <section xml:id="algorithms.swap.specializations" xreflabel="Specializations"><info><title>Specializations</title></info>
+
<para>If you call <code> std::swap(x,y); </code> where x and y are standard
containers, then the call will automatically be replaced by a call to
@@ -89,16 +85,16 @@
</para>
<para>This allows member functions of each container class to take over, and
containers' swap functions should have O(1) complexity according to
- the standard. (And while &quot;should&quot; allows implementations to
+ the standard. (And while "should" allows implementations to
behave otherwise and remain compliant, this implementation does in
fact use constant-time swaps.) This should not be surprising, since
for two containers of the same type to swap contents, only some
internal pointers to storage need to be exchanged.
</para>
- </sect3>
- </sect2>
-</sect1>
+ </section>
+ </section>
+</section>
<!-- Sect1 03 : Sorting -->
diff --git a/libstdc++-v3/doc/xml/manual/allocator.xml b/libstdc++-v3/doc/xml/manual/allocator.xml
index ca1c8cb8609..b73554eb90e 100644
--- a/libstdc++-v3/doc/xml/manual/allocator.xml
+++ b/libstdc++-v3/doc/xml/manual/allocator.xml
@@ -1,7 +1,8 @@
-<section id="std.util.memory.allocator" xreflabel="Allocator">
+<section xmlns="http://docbook.org/ns/docbook" version="5.0"
+ xml:id="std.util.memory.allocator" xreflabel="Allocator">
<?dbhtml filename="allocator.html"?>
-<sectioninfo>
+<info><title>Allocators</title>
<keywordset>
<keyword>
ISO C++
@@ -10,9 +11,9 @@
allocator
</keyword>
</keywordset>
-</sectioninfo>
+</info>
+
-<title>Allocators</title>
<para>
Memory management for Standard Library entities is encapsulated in a
@@ -24,8 +25,8 @@
management classes.
</para>
-<section id="allocator.req">
-<title>Requirements</title>
+<section xml:id="allocator.req"><info><title>Requirements</title></info>
+
<para>
The C++ standard only gives a few directives in this area:
@@ -87,15 +88,14 @@
</section>
-<section id="allocator.design_issues">
-<title>Design Issues</title>
+<section xml:id="allocator.design_issues"><info><title>Design Issues</title></info>
+
<para>
The easiest way of fulfilling the requirements is to call
<function>operator new</function> each time a container needs
memory, and to call <function>operator delete</function> each time
- the container releases memory. This method may be <ulink
- url="http://gcc.gnu.org/ml/libstdc++/2001-05/msg00105.html">slower</ulink>
+ the container releases memory. This method may be <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/ml/libstdc++/2001-05/msg00105.html">slower</link>
than caching the allocations and re-using previously-allocated
memory, but has the advantage of working correctly across a wide
variety of hardware and operating systems, including large
@@ -138,11 +138,11 @@
</section>
-<section id="allocator.impl">
-<title>Implementation</title>
+<section xml:id="allocator.impl"><info><title>Implementation</title></info>
- <section>
- <title>Interface Design</title>
+
+ <section><info><title>Interface Design</title></info>
+
<para>
The only allocator interface that
@@ -165,8 +165,8 @@
</section>
- <section>
- <title>Selecting Default Allocation Policy</title>
+ <section><info><title>Selecting Default Allocation Policy</title></info>
+
<para>
It's difficult to pick an allocation strategy that will provide
@@ -189,8 +189,8 @@
Over multiple iterations, various STL container
objects have elements inserted to some maximum amount. A variety
of allocators are tested.
- Test source for <ulink url="http://gcc.gnu.org/viewcvs/trunk/libstdc%2B%2B-v3/testsuite/performance/23_containers/insert/sequence.cc?view=markup">sequence</ulink>
- and <ulink url="http://gcc.gnu.org/viewcvs/trunk/libstdc%2B%2B-v3/testsuite/performance/23_containers/insert/associative.cc?view=markup">associative</ulink>
+ Test source for <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/viewcvs/trunk/libstdc%2B%2B-v3/testsuite/performance/23_containers/insert/sequence.cc?view=markup">sequence</link>
+ and <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/viewcvs/trunk/libstdc%2B%2B-v3/testsuite/performance/23_containers/insert/associative.cc?view=markup">associative</link>
containers.
</para>
@@ -205,7 +205,7 @@
on a per-thread basis, as well as measuring thread contention
for memory resources.
Test source
- <ulink url="http://gcc.gnu.org/viewcvs/trunk/libstdc%2B%2B-v3/testsuite/performance/23_containers/insert_erase/associative.cc?view=markup">here</ulink>.
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/viewcvs/trunk/libstdc%2B%2B-v3/testsuite/performance/23_containers/insert_erase/associative.cc?view=markup">here</link>.
</para>
</listitem>
@@ -215,9 +215,9 @@
</para>
<para>
Test source for
- <ulink url="http://gcc.gnu.org/viewcvs/trunk/libstdc++-v3/testsuite/performance/23_containers/producer_consumer/sequence.cc?view=markup">sequence</ulink>
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/viewcvs/trunk/libstdc++-v3/testsuite/performance/23_containers/producer_consumer/sequence.cc?view=markup">sequence</link>
and
- <ulink url="http://gcc.gnu.org/viewcvs/trunk/libstdc++-v3/testsuite/performance/23_containers/producer_consumer/associative.cc?view=markup">associative</ulink>
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/viewcvs/trunk/libstdc++-v3/testsuite/performance/23_containers/producer_consumer/associative.cc?view=markup">associative</link>
containers.
</para>
</listitem>
@@ -231,8 +231,8 @@
</section>
- <section>
- <title>Disabling Memory Caching</title>
+ <section><info><title>Disabling Memory Caching</title></info>
+
<para>
In use, <classname>allocator</classname> may allocate and
@@ -285,8 +285,8 @@
</section>
-<section id="allocator.using">
-<title>Using a Specific Allocator</title>
+<section xml:id="allocator.using"><info><title>Using a Specific Allocator</title></info>
+
<para>
You can specify different memory management schemes on a
@@ -305,8 +305,8 @@
</programlisting>
</section>
-<section id="allocator.custom">
-<title>Custom Allocators</title>
+<section xml:id="allocator.custom"><info><title>Custom Allocators</title></info>
+
<para>
Writing a portable C++ allocator would dictate that the interface
@@ -323,8 +323,8 @@
</section>
-<section id="allocator.ext">
-<title>Extension Allocators</title>
+<section xml:id="allocator.ext"><info><title>Extension Allocators</title></info>
+
<para>
Several other allocators are provided as part of this
@@ -472,8 +472,7 @@
<para>
A high-performance fixed-size allocator with
exponentially-increasing allocations. It has its own
- documentation, found <link
- linkend="manual.ext.allocator.mt">here</link>.
+ documentation, found <link linkend="manual.ext.allocator.mt">here</link>.
</para>
</listitem>
@@ -484,21 +483,20 @@
<para>
A high-performance allocator that uses a bit-map to keep track
of the used and unused memory locations. It has its own
- documentation, found <link
- linkend="manual.ext.allocator.bitmap">here</link>.
+ documentation, found <link linkend="manual.ext.allocator.bitmap">here</link>.
</para>
</listitem>
</orderedlist>
</section>
-<bibliography id="allocator.biblio">
-<title>Bibliography</title>
+<bibliography xml:id="allocator.biblio"><info><title>Bibliography</title></info>
+
<biblioentry>
- <title>
+ <citetitle>
ISO/IEC 14882:1998 Programming languages - C++
- </title>
+ </citetitle>
<abbrev>
isoc++_1998
</abbrev>
@@ -506,17 +504,13 @@
</biblioentry>
<biblioentry>
- <biblioid class="uri">
- <ulink url="http://www.drdobbs.com/cpp/184403759">
- <citetitle>
- The Standard Librarian: What Are Allocators Good For?
- </citetitle>
- </ulink>
+ <biblioid xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.drdobbs.com/cpp/184403759" class="uri">
</biblioid>
- <author>
- <firstname>Matt</firstname>
- <surname>Austern</surname>
- </author>
+ <citetitle>
+ The Standard Librarian: What Are Allocators Good For?
+ </citetitle>
+
+ <author><personname><firstname>Matt</firstname><surname>Austern</surname></personname></author>
<publisher>
<publishername>
C/C++ Users Journal
@@ -525,39 +519,25 @@
</biblioentry>
<biblioentry>
- <biblioid class="uri">
- <ulink url="http://www.cs.umass.edu/~emery/hoard/">
- <citetitle>
- The Hoard Memory Allocator
- </citetitle>
- </ulink>
+ <biblioid xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.cs.umass.edu/~emery/hoard/" class="uri">
</biblioid>
- <author>
- <firstname>Emery</firstname>
- <surname>Berger</surname>
- </author>
+ <citetitle>
+ The Hoard Memory Allocator
+ </citetitle>
+
+ <author><personname><firstname>Emery</firstname><surname>Berger</surname></personname></author>
</biblioentry>
<biblioentry>
- <biblioid class="uri">
- <ulink url="http://www.cs.umass.edu/~emery/pubs/berger-oopsla2002.pdf">
- <citetitle>
- Reconsidering Custom Memory Allocation
- </citetitle>
- </ulink>
+ <biblioid xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.cs.umass.edu/~emery/pubs/berger-oopsla2002.pdf" class="uri">
</biblioid>
- <author>
- <firstname>Emery</firstname>
- <surname>Berger</surname>
- </author>
- <author>
- <firstname>Ben</firstname>
- <surname>Zorn</surname>
- </author>
- <author>
- <firstname>Kathryn</firstname>
- <surname>McKinley</surname>
- </author>
+ <citetitle>
+ Reconsidering Custom Memory Allocation
+ </citetitle>
+
+ <author><personname><firstname>Emery</firstname><surname>Berger</surname></personname></author>
+ <author><personname><firstname>Ben</firstname><surname>Zorn</surname></personname></author>
+ <author><personname><firstname>Kathryn</firstname><surname>McKinley</surname></personname></author>
<copyright>
<year>2002</year>
<holder>OOPSLA</holder>
@@ -566,21 +546,14 @@
<biblioentry>
- <biblioid class="uri">
- <ulink url="http://www.angelikalanger.com/Articles/C++Report/Allocators/Allocators.html">
- <citetitle>
- Allocator Types
- </citetitle>
- </ulink>
+ <biblioid xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.angelikalanger.com/Articles/C++Report/Allocators/Allocators.html" class="uri">
</biblioid>
- <author>
- <firstname>Klaus</firstname>
- <surname>Kreft</surname>
- </author>
- <author>
- <firstname>Angelika</firstname>
- <surname>Langer</surname>
- </author>
+ <citetitle>
+ Allocator Types
+ </citetitle>
+
+ <author><personname><firstname>Klaus</firstname><surname>Kreft</surname></personname></author>
+ <author><personname><firstname>Angelika</firstname><surname>Langer</surname></personname></author>
<publisher>
<publishername>
C/C++ Users Journal
@@ -589,14 +562,11 @@
</biblioentry>
<biblioentry>
- <title>The C++ Programming Language</title>
- <author>
- <firstname>Bjarne</firstname>
- <surname>Stroustrup</surname>
- </author>
+ <citetitle>The C++ Programming Language</citetitle>
+ <author><personname><firstname>Bjarne</firstname><surname>Stroustrup</surname></personname></author>
<copyright>
<year>2000</year>
- <holder></holder>
+ <holder/>
</copyright>
<pagenums>19.4 Allocators</pagenums>
<publisher>
@@ -607,11 +577,8 @@
</biblioentry>
<biblioentry>
- <title>Yalloc: A Recycling C++ Allocator</title>
- <author>
- <firstname>Felix</firstname>
- <surname>Yen</surname>
- </author>
+ <citetitle>Yalloc: A Recycling C++ Allocator</citetitle>
+ <author><personname><firstname>Felix</firstname><surname>Yen</surname></personname></author>
</biblioentry>
</bibliography>
diff --git a/libstdc++-v3/doc/xml/manual/appendix_contributing.xml b/libstdc++-v3/doc/xml/manual/appendix_contributing.xml
index b73b8f4c3fb..7dfe8e0ddf4 100644
--- a/libstdc++-v3/doc/xml/manual/appendix_contributing.xml
+++ b/libstdc++-v3/doc/xml/manual/appendix_contributing.xml
@@ -1,12 +1,14 @@
-<?xml version='1.0'?>
-<!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
- "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
-[ ]>
-
-<appendix id="appendix.contrib" xreflabel="Contributing">
+<appendix xmlns="http://docbook.org/ns/docbook" version="5.0"
+ xml:id="appendix.contrib" xreflabel="Contributing">
<?dbhtml filename="appendix_contributing.html"?>
-<appendixinfo>
+<info><title>
+ Contributing
+ <indexterm>
+ <primary>Appendix</primary>
+ <secondary>Contributing</secondary>
+ </indexterm>
+</title>
<keywordset>
<keyword>
ISO C++
@@ -15,15 +17,9 @@
library
</keyword>
</keywordset>
-</appendixinfo>
+</info>
+
-<title>
- Contributing
- <indexterm>
- <primary>Appendix</primary>
- <secondary>Contributing</secondary>
- </indexterm>
-</title>
<para>
The GNU C++ Library follows an open development model. Active
@@ -32,11 +28,11 @@
should follow this procedure:
</para>
-<sect1 id="contrib.list" xreflabel="Contributor Checklist">
- <title>Contributor Checklist</title>
+<section xml:id="contrib.list" xreflabel="Contributor Checklist"><info><title>Contributor Checklist</title></info>
+
- <sect2 id="list.reading">
- <title>Reading</title>
+ <section xml:id="list.reading"><info><title>Reading</title></info>
+
<itemizedlist>
<listitem>
@@ -50,9 +46,9 @@
the standard from their respective national standards
organization. In the USA, this national standards
organization is ANSI and their web-site is right
- <ulink url="http://www.ansi.org">here.</ulink>
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.ansi.org">here.</link>
(And if you've already registered with them, clicking this link will take you to directly to the place where you can
- <ulink url="http://webstore.ansi.org/RecordDetail.aspx?sku=ISO%2FIEC+14882:2003">buy the standard on-line</ulink>.)
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://webstore.ansi.org/RecordDetail.aspx?sku=ISO%2FIEC+14882:2003">buy the standard on-line</link>.)
</para>
</listitem>
@@ -60,7 +56,7 @@
<para>
The library working group bugs, and known defects, can
be obtained here:
- <ulink url="http://www.open-std.org/jtc1/sc22/wg21/">http://www.open-std.org/jtc1/sc22/wg21 </ulink>
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/">http://www.open-std.org/jtc1/sc22/wg21 </link>
</para>
</listitem>
@@ -69,16 +65,16 @@
The newsgroup dedicated to standardization issues is
comp.std.c++: this FAQ for this group is quite useful and
can be
- found <ulink url="http://www.comeaucomputing.com/csc/faq.html">
- here </ulink>.
+ found <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.comeaucomputing.com/csc/faq.html">
+ here </link>.
</para>
</listitem>
<listitem>
<para>
Peruse
- the <ulink url="http://www.gnu.org/prep/standards">GNU
- Coding Standards</ulink>, and chuckle when you hit the part
+ the <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.gnu.org/prep/standards">GNU
+ Coding Standards</link>, and chuckle when you hit the part
about <quote>Using Languages Other Than C</quote>.
</para>
</listitem>
@@ -100,9 +96,9 @@
</listitem>
</itemizedlist>
- </sect2>
- <sect2 id="list.copyright">
- <title>Assignment</title>
+ </section>
+ <section xml:id="list.copyright"><info><title>Assignment</title></info>
+
<para>
Small changes can be accepted without a copyright assignment form on
file. New code and additions to the library need completed copyright
@@ -129,8 +125,8 @@
<para>
For more information about getting a copyright assignment, please see
- <ulink url="http://www.gnu.org/prep/maintain/html_node/Legal-Matters.html">Legal
- Matters</ulink>.
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.gnu.org/prep/maintain/html_node/Legal-Matters.html">Legal
+ Matters</link>.
</para>
<para>
@@ -141,18 +137,18 @@
<email>mailto:assign@gnu.org</email>, please cc the libstdc++
maintainer above so that progress can be monitored.
</para>
- </sect2>
+ </section>
- <sect2 id="list.getting">
- <title>Getting Sources</title>
+ <section xml:id="list.getting"><info><title>Getting Sources</title></info>
+
<para>
- <ulink url="http://gcc.gnu.org/svnwrite.html">Getting write access
- (look for &quot;Write after approval&quot;)</ulink>
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/svnwrite.html">Getting write access
+ (look for "Write after approval")</link>
</para>
- </sect2>
+ </section>
- <sect2 id="list.patches">
- <title>Submitting Patches</title>
+ <section xml:id="list.patches"><info><title>Submitting Patches</title></info>
+
<para>
Every patch must have several pieces of information before it can be
@@ -195,8 +191,8 @@
else, use <command>diff -cp OLD NEW</command> ... If your
version of diff does not support these options, then get the
latest version of GNU
- diff. The <ulink url="http://gcc.gnu.org/wiki/SvnTricks">SVN
- Tricks</ulink> wiki page has information on customising the
+ diff. The <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/wiki/SvnTricks">SVN
+ Tricks</link> wiki page has information on customising the
output of <code>svn diff</code>.
</para>
</listitem>
@@ -211,20 +207,20 @@
</listitem>
</itemizedlist>
- </sect2>
+ </section>
-</sect1>
+</section>
-<sect1 id="contrib.organization" xreflabel="Source Organization">
+<section xml:id="contrib.organization" xreflabel="Source Organization"><info><title>Directory Layout and Source Conventions</title></info>
<?dbhtml filename="source_organization.html"?>
- <title>Directory Layout and Source Conventions</title>
+
<para>
The unpacked source directory of libstdc++ contains the files
needed to create the GNU C++ Library.
</para>
- <literallayout>
+ <literallayout class="normal">
It has subdirectories:
doc
@@ -311,20 +307,20 @@ a bug or incompletely-implemented feature. Lines marked "XXX MT"
indicate a place that may require attention for multi-thread safety.
</literallayout>
-</sect1>
+</section>
-<sect1 id="contrib.coding_style" xreflabel="Coding Style">
+<section xml:id="contrib.coding_style" xreflabel="Coding Style"><info><title>Coding Style</title></info>
<?dbhtml filename="source_code_style.html"?>
- <title>Coding Style</title>
+
<para>
</para>
- <sect2 id="coding_style.bad_identifiers">
- <title>Bad Identifiers</title>
+ <section xml:id="coding_style.bad_identifiers"><info><title>Bad Identifiers</title></info>
+
<para>
Identifiers that conflict and should be avoided.
</para>
- <literallayout>
+ <literallayout class="normal">
This is the list of names <quote>reserved to the
implementation</quote> that have been claimed by certain
compilers and system headers of interest, and should not be used
@@ -511,22 +507,22 @@ indicate a place that may require attention for multi-thread safety.
// http://gcc.gnu.org/ml/libstdc++/1999-q4/msg00060.html
__opr
</literallayout>
- </sect2>
+ </section>
- <sect2 id="coding_style.example">
- <title>By Example</title>
- <literallayout>
+ <section xml:id="coding_style.example"><info><title>By Example</title></info>
+
+ <literallayout class="normal">
This library is written to appropriate C++ coding standards. As such,
it is intended to precede the recommendations of the GNU Coding
Standard, which can be referenced in full here:
- <ulink url="http://www.gnu.org/prep/standards/standards.html#Formatting">http://www.gnu.org/prep/standards/standards.html#Formatting</ulink>
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.gnu.org/prep/standards/standards.html#Formatting">http://www.gnu.org/prep/standards/standards.html#Formatting</link>
The rest of this is also interesting reading, but skip the "Design
Advice" part.
The GCC coding conventions are here, and are also useful:
- <ulink url="http://gcc.gnu.org/codingconventions.html">http://gcc.gnu.org/codingconventions.html</ulink>
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/codingconventions.html">http://gcc.gnu.org/codingconventions.html</link>
In addition, because it doesn't seem to be stated explicitly anywhere
else, there is an 80 column source limit.
@@ -941,21 +937,21 @@ indicate a place that may require attention for multi-thread safety.
} // namespace std
</code>
</literallayout>
- </sect2>
-</sect1>
+ </section>
+</section>
-<sect1 id="contrib.doc_style" xreflabel="Documentation Style">
+<section xml:id="contrib.doc_style" xreflabel="Documentation Style"><info><title>Documentation Style</title></info>
<?dbhtml filename="documentation_style.html"?>
- <title>Documentation Style</title>
- <sect2 id="doc_style.doxygen">
- <title>Doxygen</title>
- <sect3 id="doxygen.prereq">
- <title>Prerequisites</title>
+
+ <section xml:id="doc_style.doxygen"><info><title>Doxygen</title></info>
+
+ <section xml:id="doxygen.prereq"><info><title>Prerequisites</title></info>
+
<para>
Prerequisite tools are Bash 2.0 or later,
- <ulink url="http://www.doxygen.org/">Doxygen</ulink>, and
- the <ulink url="http://www.gnu.org/software/coreutils/">GNU
- coreutils</ulink>. (GNU versions of find, xargs, and possibly
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.doxygen.org/">Doxygen</link>, and
+ the <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.gnu.org/software/coreutils/">GNU
+ coreutils</link>. (GNU versions of find, xargs, and possibly
sed and grep are used, just because the GNU versions make
things very easy.)
</para>
@@ -963,18 +959,18 @@ indicate a place that may require attention for multi-thread safety.
<para>
To generate the pretty pictures and hierarchy
graphs, the
- <ulink url="http://www.graphviz.org">Graphviz</ulink> package
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.graphviz.org">Graphviz</link> package
will need to be installed. For PDF
- output, <ulink url="http://www.tug.org/applications/pdftex/">
- pdflatex</ulink> is required.
+ output, <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.tug.org/applications/pdftex/">
+ pdflatex</link> is required.
</para>
- </sect3>
+ </section>
- <sect3 id="doxygen.rules">
- <title>Generating the Doxygen Files</title>
+ <section xml:id="doxygen.rules"><info><title>Generating the Doxygen Files</title></info>
+
<para>
The following Makefile rules run Doxygen to generate HTML
- docs, XML docs, PDF docs, and the man pages.
+ docs, XML docs, XML docs as a single file, PDF docs, and the man pages.
</para>
<para>
@@ -986,6 +982,10 @@ indicate a place that may require attention for multi-thread safety.
</para>
<para>
+ <screen><userinput>make doc-xml-single-doxygen</userinput></screen>
+ </para>
+
+ <para>
<screen><userinput>make doc-pdf-doxygen</userinput></screen>
</para>
@@ -994,6 +994,13 @@ indicate a place that may require attention for multi-thread safety.
</para>
<para>
+ Generated files are output into separate sub directores of
+ <filename class="directory">doc/doxygen/</filename> in the
+ build directory, based on the output format. For instance, the
+ HTML docs will be in <filename class="directory">doc/doxygen/html</filename>.
+ </para>
+
+ <para>
Careful observers will see that the Makefile rules simply call
a script from the source tree, <filename>run_doxygen</filename>, which
does the actual work of running Doxygen and then (most
@@ -1008,10 +1015,10 @@ indicate a place that may require attention for multi-thread safety.
library hackers are written in triple-# comments.
</para>
- </sect3>
+ </section>
- <sect3 id="doxygen.markup">
- <title>Markup</title>
+ <section xml:id="doxygen.markup"><info><title>Markup</title></info>
+
<para>
In general, libstdc++ files should be formatted according to
@@ -1025,7 +1032,7 @@ indicate a place that may require attention for multi-thread safety.
Adding Doxygen markup to a file (informally called
<quote>doxygenating</quote>) is very simple. The Doxygen manual can be
found
- <ulink url="http://www.stack.nl/~dimitri/doxygen/download.html#latestman">here</ulink>.
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.stack.nl/~dimitri/doxygen/download.html#latestman">here</link>.
We try to use a very-recent version of Doxygen.
</para>
@@ -1041,12 +1048,12 @@ indicate a place that may require attention for multi-thread safety.
<para>
Some commentary to accompany
- the first list in the <ulink url="http://www.stack.nl/~dimitri/doxygen/docblocks.html">Special
- Documentation Blocks</ulink> section of
+ the first list in the <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.stack.nl/~dimitri/doxygen/docblocks.html">Special
+ Documentation Blocks</link> section of
the Doxygen manual:
</para>
- <orderedlist>
+ <orderedlist inheritnum="ignore" continuation="restarts">
<listitem>
<para>For longer comments, use the Javadoc style...</para>
</listitem>
@@ -1104,7 +1111,7 @@ indicate a place that may require attention for multi-thread safety.
</para>
<para>
-<literallayout>
+<literallayout class="normal">
/**
* @brief A model of a linear congruential random number generator.
*
@@ -1122,11 +1129,12 @@ indicate a place that may require attention for multi-thread safety.
doubt, consult the following table.
</para>
-<table frame='all'>
+<table frame="all">
<title>HTML to Doxygen Markup Comparison</title>
-<tgroup cols='2' align='left' colsep='1' rowsep='1'>
-<colspec colname='c1'></colspec>
-<colspec colname='c2'></colspec>
+
+<tgroup cols="2" align="left" colsep="1" rowsep="1">
+<colspec colname="c1"/>
+<colspec colname="c2"/>
<thead>
<row>
@@ -1142,12 +1150,12 @@ indicate a place that may require attention for multi-thread safety.
</row>
<row>
- <entry>&quot;</entry>
+ <entry>"</entry>
<entry>\"</entry>
</row>
<row>
- <entry>&apos;</entry>
+ <entry>'</entry>
<entry>\'</entry>
</row>
@@ -1181,15 +1189,15 @@ indicate a place that may require attention for multi-thread safety.
</table>
- </sect3>
+ </section>
- </sect2>
+ </section>
- <sect2 id="doc_style.docbook">
- <title>Docbook</title>
+ <section xml:id="doc_style.docbook"><info><title>Docbook</title></info>
+
- <sect3 id="docbook.prereq">
- <title>Prerequisites</title>
+ <section xml:id="docbook.prereq"><info><title>Prerequisites</title></info>
+
<para>
Editing the DocBook sources requires an XML editor. Many
exist: some notable options
@@ -1210,16 +1218,16 @@ indicate a place that may require attention for multi-thread safety.
</para>
<para>
- Access to the DocBook stylesheets and DTD is required. The
+ Access to the DocBook 5.0 stylesheets and schema is required. The
stylesheets are usually packaged by vendor, in something
- like <filename>docbook-style-xsl</filename>. To exactly match
+ like <filename>docbook5-style-xsl</filename>. To exactly match
generated output, please use a version of the stylesheets
equivalent
- to <filename>docbook-style-xsl-1.74.0-5</filename>. The
+ to <filename>docbook5-style-xsl-1.75.2-3</filename>. The
installation directory for this package corresponds to
the <literal>XSL_STYLE_DIR</literal>
in <filename>doc/Makefile.am</filename> and defaults
- to <filename class="directory">/usr/share/sgml/docbook/xsl-stylesheets</filename>.
+ to <filename class="directory">/usr/share/sgml/docbook/xsl-ns-stylesheets</filename>.
</para>
<para>
@@ -1231,26 +1239,30 @@ indicate a place that may require attention for multi-thread safety.
<para>
For validating the XML document, you'll need
something like <command>xmllint</command> and access to the
- DocBook DTD. These are provided
- by a vendor package like <filename>libxml2</filename>.
+ relevant DocBook schema. These are provided
+ by a vendor package like <filename>libxml2</filename> and <filename>docbook5-schemas-5.0-4</filename>
</para>
<para>
- For PDF output, something that transforms valid XML to PDF is
- required. Possible solutions include
- <ulink url="http://dblatex.sourceforge.net">dblatex</ulink>,
- <command>xmlto</command>, or <command>prince</command>. Other
- options are listed on the DocBook
- web <ulink url="http://wiki.docbook.org/topic/DocBookPublishingTools">pages</ulink>. Please
+ For PDF output, something that transforms valid Docbook XML to PDF is
+ required. Possible solutions include <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://dblatex.sourceforge.net">dblatex</link>,
+ <command>xmlto</command>, or <command>prince</command>. Of
+ these, <command>dblatex</command> is the default. Other
+ options are listed on the DocBook web <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://wiki.docbook.org/topic/DocBookPublishingTools">pages</link>. Please
consult the <email>libstdc++@gcc.gnu.org</email> list when
preparing printed manuals for current best practice and
suggestions.
</para>
<para>
- Make sure that the XML documentation and markup is valid for
- any change. This can be done easily, with the validation rules
- in the <filename>Makefile</filename>, which is equivalent to doing:
+ For Texinfo output, something that transforms valid Docbook
+ XML to Texinfo is required. The default choice is <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://docbook2x.sourceforge.net/">docbook2X</link>.
+ </para>
+
+ <para>
+ Please make sure that the XML documentation and markup is valid for
+ any change. This can be done easily, with the validation rule
+ detailed below, which is equivalent to doing:
</para>
<screen>
@@ -1258,10 +1270,10 @@ indicate a place that may require attention for multi-thread safety.
xmllint --noout --valid <filename>xml/index.xml</filename>
</userinput>
</screen>
- </sect3>
+ </section>
- <sect3 id="docbook.rules">
- <title>Generating the DocBook Files</title>
+ <section xml:id="docbook.rules"><info><title>Generating the DocBook Files</title></info>
+
<para>
The following Makefile rules generate (in order): an HTML
@@ -1286,12 +1298,18 @@ xmllint --noout --valid <filename>xml/index.xml</filename>
<screen><userinput>make doc-xml-validate-docbook</userinput></screen>
</para>
- </sect3>
+ <para>
+ Generated files are output into separate sub directores of
+ <filename class="directory">doc/docbook/</filename> in the
+ build directory, based on the output format. For instance, the
+ HTML docs will be in <filename class="directory">doc/docbook/html</filename>.
+ </para>
+ </section>
- <sect3 id="docbook.examples">
- <title>File Organization and Basics</title>
+ <section xml:id="docbook.examples"><info><title>File Organization and Basics</title></info>
+
- <literallayout>
+ <literallayout class="normal">
<emphasis>Which files are important</emphasis>
All Docbook files are in the directory
@@ -1352,24 +1370,25 @@ xmllint --noout --valid <filename>xml/index.xml</filename>
&lt;/set&gt;
</literallayout>
- </sect3>
+ </section>
- <sect3 id="docbook.markup">
- <title>Markup By Example</title>
+ <section xml:id="docbook.markup"><info><title>Markup By Example</title></info>
+
<para>
Complete details on Docbook markup can be found in the DocBook
Element Reference,
- <ulink url="http://www.docbook.org/tdg/en/html/part2.html">online</ulink>.
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.docbook.org/tdg/en/html/part2.html">online</link>.
An incomplete reference for HTML to Docbook conversion is
detailed in the table below.
</para>
-<table frame='all'>
+<table frame="all">
<title>HTML to Docbook XML Markup Comparison</title>
-<tgroup cols='2' align='left' colsep='1' rowsep='1'>
-<colspec colname='c1'></colspec>
-<colspec colname='c2'></colspec>
+
+<tgroup cols="2" align="left" colsep="1" rowsep="1">
+<colspec colname="c1"/>
+<colspec colname="c2"/>
<thead>
<row>
@@ -1430,7 +1449,7 @@ xmllint --noout --valid <filename>xml/index.xml</filename>
<entry>&lt;emphasis&gt;</entry>
</row>
<row>
- <entry>&quot;</entry>
+ <entry>"</entry>
<entry>&lt;quote&gt;</entry>
</row>
</tbody>
@@ -1442,11 +1461,12 @@ xmllint --noout --valid <filename>xml/index.xml</filename>
equivalents are listed in the table below.
</para>
-<table frame='all'>
+<table frame="all">
<title>Docbook XML Element Use</title>
-<tgroup cols='2' align='left' colsep='1' rowsep='1'>
-<colspec colname='c1'></colspec>
-<colspec colname='c2'></colspec>
+
+<tgroup cols="2" align="left" colsep="1" rowsep="1">
+<colspec colname="c1"/>
+<colspec colname="c2"/>
<thead>
<row>
@@ -1513,42 +1533,112 @@ xmllint --noout --valid <filename>xml/index.xml</filename>
</tgroup>
</table>
- </sect3>
- </sect2>
+ </section>
+ </section>
- <sect2 id="doc_style.combines">
- <title>Combines</title>
+ <section xml:id="doc_style.combines"><info><title>Combines</title></info>
+
- <sect3 id="combines.rules">
- <title>Generating Combines and Assemblages</title>
+ <section xml:id="combines.rules"><info><title>Generating Combines and Assemblages</title></info>
+
<para>
The following Makefile rules are defaults, and are usually
- aliased to variable rules.
+ aliased to more detailed rules. They are shortcuts for
+ generating HTML, PDF, Texinfo, XML, or man files and then collecting
+ the generated files into the build directory's doc directory.
</para>
+<variablelist>
+
+<varlistentry><term>
+ <emphasis>make doc-html</emphasis>
+ </term>
+<listitem>
+ <para>
+ Generates multi-page HTML documentation in the following directories:
+ </para>
<para>
- <screen><userinput>make doc-html</userinput></screen>
+ <filename class="directory">doc/libstdc++-api.html</filename>
</para>
+ <para>
+ <filename class="directory">doc/libstdc++-manual.html</filename>
+ </para>
+</listitem>
+</varlistentry>
+<varlistentry><term>
+ <emphasis>make doc-man</emphasis>
+ </term>
+<listitem>
+ <para>
+ Generates man pages in the following directory:
+ </para>
<para>
- <screen><userinput>make doc-man</userinput></screen>
+ <filename class="directory">doc/libstdc++-api.man</filename>
</para>
+</listitem>
+</varlistentry>
+<varlistentry><term>
+ <emphasis>make doc-pdf</emphasis>
+ </term>
+<listitem>
+ <para>
+ Generates indexed PDF documentation in the following files:
+ </para>
<para>
- <screen><userinput>make doc-pdf</userinput></screen>
+ <filename>doc/libstdc++-api.pdf</filename>
</para>
- </sect3>
- </sect2>
-</sect1>
+ <para>
+ <filename>doc/libstdc++-manual.pdf</filename>
+ </para>
+</listitem>
+</varlistentry>
+
+<varlistentry><term>
+ <emphasis>make doc-texinfo</emphasis>
+ </term>
+<listitem>
+ <para>
+ Generates Texinfo documentation in the following files:
+ </para>
+ <para>
+ <filename>doc/libstdc++-manual.texinfo</filename>
+ </para>
+</listitem>
+</varlistentry>
+
+<varlistentry><term>
+ <emphasis>make doc-xml</emphasis>
+ </term>
+<listitem>
+ <para>
+ Generates single-file XML documentation in the following files:
+ </para>
+ <para>
+ <filename>doc/libstdc++-api.xml</filename>
+ </para>
+ <para>
+ <filename>doc/libstdc++-manual.xml</filename>
+ </para>
+</listitem>
+</varlistentry>
+
+</variablelist>
+
+
+ </section>
+ </section>
+</section>
-<sect1 id="contrib.design_notes" xreflabel="Design Notes">
+<section xml:id="contrib.design_notes" xreflabel="Design Notes"><info><title>Design Notes</title></info>
<?dbhtml filename="source_design_notes.html"?>
- <title>Design Notes</title>
+
<para>
</para>
- <literallayout>
+ <literallayout class="normal">
The Library
-----------
@@ -2402,6 +2492,6 @@ xmllint --noout --valid <filename>xml/index.xml</filename>
include them via "&lt;backward/hash_map.h&gt;" or "&lt;ext/hash_map&gt;" than
to search the subdirectory itself via a "-I" directive.
</literallayout>
-</sect1>
+</section>
</appendix>
diff --git a/libstdc++-v3/doc/xml/manual/appendix_free.xml b/libstdc++-v3/doc/xml/manual/appendix_free.xml
index 61df179eb3a..86d503c9452 100644
--- a/libstdc++-v3/doc/xml/manual/appendix_free.xml
+++ b/libstdc++-v3/doc/xml/manual/appendix_free.xml
@@ -1,12 +1,14 @@
-<?xml version='1.0'?>
-<!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
- "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
-[ ]>
-
-<appendix id="appendix.free" xreflabel="Free">
+<appendix xmlns="http://docbook.org/ns/docbook" version="5.0"
+ xml:id="appendix.free" xreflabel="Free">
<?dbhtml filename="appendix_free.html"?>
-<appendixinfo>
+<info><title>
+ Free Software Needs Free Documentation
+ <indexterm>
+ <primary>Appendix</primary>
+ <secondary>Free Documentation</secondary>
+ </indexterm>
+</title>
<keywordset>
<keyword>
ISO C++
@@ -15,15 +17,9 @@
library
</keyword>
</keywordset>
-</appendixinfo>
+</info>
+
-<title>
- Free Software Needs Free Documentation
- <indexterm>
- <primary>Appendix</primary>
- <secondary>Free Documentation</secondary>
- </indexterm>
-</title>
<para>
The biggest deficiency in free operating systems is not in the
@@ -68,7 +64,7 @@ can ill afford to lose manuals this way.
Free documentation, like free software, is a matter of freedom,
not price. The problem with these manuals was not that O'Reilly
Associates charged a price for printed copies--that in itself is fine.
-(The Free Software Foundation <ulink url="http://www.gnu.org/doc/doc.html">sells printed copies</ulink> of
+(The Free Software Foundation <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.gnu.org/doc/doc.html">sells printed copies</link> of
free GNU manuals, too.) But GNU manuals are available in source code
form, while these manuals are available only on paper. GNU manuals
come with permission to copy and modify; the Perl manuals do not.
@@ -167,8 +163,8 @@ check the distribution terms of a manual before you buy it, and
prefer copylefted manuals to non-copylefted ones.
</para>
<para>
-[Note: We now maintain a <ulink url="http://www.fsf.org/licensing/doc/other-free-books.html">web page
-that lists free books available from other publishers</ulink>].
+[Note: We now maintain a <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.fsf.org/licensing/doc/other-free-books.html">web page
+that lists free books available from other publishers</link>].
</para>
<para>Copyright © 2004, 2005, 2006, 2007 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA</para>
diff --git a/libstdc++-v3/doc/xml/manual/appendix_porting.xml b/libstdc++-v3/doc/xml/manual/appendix_porting.xml
index 80884533fab..dc29a35353f 100644
--- a/libstdc++-v3/doc/xml/manual/appendix_porting.xml
+++ b/libstdc++-v3/doc/xml/manual/appendix_porting.xml
@@ -1,12 +1,14 @@
-<?xml version='1.0'?>
-<!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
- "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
-[ ]>
-
-<appendix id="appendix.porting" xreflabel="Porting">
+<appendix xmlns="http://docbook.org/ns/docbook" version="5.0"
+ xml:id="appendix.porting" xreflabel="Porting">
<?dbhtml filename="appendix_porting.html"?>
-<appendixinfo>
+<info><title>
+ Porting and Maintenance
+ <indexterm>
+ <primary>Appendix</primary>
+ <secondary>Porting and Maintenance</secondary>
+ </indexterm>
+</title>
<keywordset>
<keyword>
ISO C++
@@ -15,44 +17,32 @@
library
</keyword>
</keywordset>
-</appendixinfo>
+</info>
+
-<title>
- Porting and Maintenance
- <indexterm>
- <primary>Appendix</primary>
- <secondary>Porting and Maintenance</secondary>
- </indexterm>
-</title>
<!-- Hacking the Build System -->
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
- parse="xml" href="build_hacking.xml">
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="build_hacking.xml">
</xi:include>
<!-- Internals: Porting to New Hardware or Operating Systems -->
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
- parse="xml" href="internals.xml">
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="internals.xml">
</xi:include>
<!-- Test -->
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
- parse="xml" href="test.xml">
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="test.xml">
</xi:include>
<!-- ABI Policy and Guidelines -->
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
- parse="xml" href="abi.xml">
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="abi.xml">
</xi:include>
<!-- API Evolution and Deprecation History -->
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
- parse="xml" href="evolution.xml">
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="evolution.xml">
</xi:include>
<!-- Backwards Compatibility -->
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
- parse="xml" href="backwards_compatibility.xml">
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="backwards_compatibility.xml">
</xi:include>
</appendix>
diff --git a/libstdc++-v3/doc/xml/manual/atomics.xml b/libstdc++-v3/doc/xml/manual/atomics.xml
index 345b2b7f6c1..ddeea0185d5 100644
--- a/libstdc++-v3/doc/xml/manual/atomics.xml
+++ b/libstdc++-v3/doc/xml/manual/atomics.xml
@@ -1,12 +1,11 @@
-<?xml version='1.0'?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
- "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
-[ ]>
-
-<chapter id="std.atomics" xreflabel="Atomics">
+<chapter xmlns="http://docbook.org/ns/docbook" version="5.0"
+ xml:id="std.atomics" xreflabel="Atomics">
<?dbhtml filename="atomics.html"?>
-<chapterinfo>
+<info><title>
+ Atomics
+ <indexterm><primary>Atomics</primary></indexterm>
+</title>
<keywordset>
<keyword>
ISO C++
@@ -18,20 +17,17 @@
atomic
</keyword>
</keywordset>
-</chapterinfo>
+</info>
+
-<title>
- Atomics
- <indexterm><primary>Atomics</primary></indexterm>
-</title>
<para>
Facilities for atomic operations.
</para>
<!-- Sect1 01 : API -->
-<sect1 id="std.atomics.api">
- <title>API Reference</title>
+<section xml:id="std.atomics.api"><info><title>API Reference</title></info>
+
<para>
All items are declared in the standard header
@@ -56,6 +52,6 @@
<!-- Doxygen XML: api/group__atomics.xml -->
-</sect1>
+</section>
</chapter>
diff --git a/libstdc++-v3/doc/xml/manual/auto_ptr.xml b/libstdc++-v3/doc/xml/manual/auto_ptr.xml
index 6c49a5567f3..f62d8f472b4 100644
--- a/libstdc++-v3/doc/xml/manual/auto_ptr.xml
+++ b/libstdc++-v3/doc/xml/manual/auto_ptr.xml
@@ -1,7 +1,8 @@
-<section id="std.util.memory.auto_ptr" xreflabel="auto_ptr">
+<section xmlns="http://docbook.org/ns/docbook" version="5.0"
+ xml:id="std.util.memory.auto_ptr" xreflabel="auto_ptr">
<?dbhtml filename="auto_ptr.html"?>
-<sectioninfo>
+<info><title>auto_ptr</title>
<keywordset>
<keyword>
ISO C++
@@ -10,12 +11,12 @@
auto_ptr
</keyword>
</keywordset>
-</sectioninfo>
+</info>
-<title>auto_ptr</title>
-<section id="auto_ptr.limitations">
-<title>Limitations</title>
+
+<section xml:id="auto_ptr.limitations"><info><title>Limitations</title></info>
+
<para>Explaining all of the fun and delicious things that can
happen with misuse of the <classname>auto_ptr</classname> class
@@ -81,8 +82,8 @@
</para>
</section>
-<section id="auto_ptr.using">
-<title>Use in Containers</title>
+<section xml:id="auto_ptr.using"><info><title>Use in Containers</title></info>
+
<para>
</para>
diff --git a/libstdc++-v3/doc/xml/manual/backwards_compatibility.xml b/libstdc++-v3/doc/xml/manual/backwards_compatibility.xml
index c6135530c18..1f7348a0e90 100644
--- a/libstdc++-v3/doc/xml/manual/backwards_compatibility.xml
+++ b/libstdc++-v3/doc/xml/manual/backwards_compatibility.xml
@@ -1,7 +1,8 @@
-<sect1 id="manual.appendix.porting.backwards" xreflabel="backwards">
+<section xmlns="http://docbook.org/ns/docbook" version="5.0"
+ xml:id="manual.appendix.porting.backwards" xreflabel="backwards">
<?dbhtml filename="backwards.html"?>
-<sect1info>
+<info><title>Backwards Compatibility</title>
<keywordset>
<keyword>
ISO C++
@@ -10,12 +11,12 @@
backwards
</keyword>
</keywordset>
-</sect1info>
+</info>
-<title>Backwards Compatibility</title>
-<sect2 id="backwards.first">
-<title>First</title>
+
+<section xml:id="backwards.first"><info><title>First</title></info>
+
<para>The first generation GNU C++ library was called libg++. It was a
separate GNU project, although reliably paired with GCC. Rumors imply
@@ -41,15 +42,15 @@ Committee couldn't include everything, and so a lot of those
<para>Portability notes and known implementation limitations are as follows.</para>
-<sect3>
- <title>No <code>ios_base</code></title>
+<section><info><title>No <code>ios_base</code></title></info>
+
<para> At least some older implementations don't have <code>std::ios_base</code>, so you should use <code>std::ios::badbit</code>, <code>std::ios::failbit</code> and <code>std::ios::eofbit</code> and <code>std::ios::goodbit</code>.
</para>
-</sect3>
+</section>
+
+<section><info><title>No <code>cout</code> in <code>ostream.h</code>, no <code>cin</code> in <code>istream.h</code></title></info>
-<sect3>
-<title>No <code>cout</code> in <code>ostream.h</code>, no <code>cin</code> in <code>istream.h</code></title>
<para>
In earlier versions of the standard,
@@ -65,15 +66,15 @@ Committee couldn't include everything, and so a lot of those
<para>This project is no longer maintained or supported, and the sources
archived. For the desperate,
-the <ulink url="http://gcc.gnu.org/extensions.html">GCC extensions
-page</ulink> describes where to find the last libg++ source. The code is
+the <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/extensions.html">GCC extensions
+page</link> describes where to find the last libg++ source. The code is
considered replaced and rewritten.
</para>
-</sect3>
-</sect2>
+</section>
+</section>
+
+<section xml:id="backwards.second"><info><title>Second</title></info>
-<sect2 id="backwards.second">
-<title>Second</title>
<para>
The second generation GNU C++ library was called libstdc++, or
@@ -95,8 +96,8 @@ considered replaced and rewritten.
Portability notes and known implementation limitations are as follows.
</para>
-<sect3>
- <title>Namespace <code>std::</code> not supported</title>
+<section><info><title>Namespace <code>std::</code> not supported</title></info>
+
<para>
Some care is required to support C++ compiler and or library
@@ -179,10 +180,10 @@ AC_DEFUN([AC_CXX_NAMESPACE_STD], [
fi
])
</programlisting>
-</sect3>
+</section>
+
+<section><info><title>Illegal iterator usage</title></info>
-<sect3>
-<title>Illegal iterator usage</title>
<para>
The following illustrate implementation-allowed illegal iterator
use, and then correct use.
@@ -209,15 +210,14 @@ AC_DEFUN([AC_CXX_NAMESPACE_STD], [
</para>
</listitem>
</itemizedlist>
-</sect3>
+</section>
-<sect3>
- <title><code>isspace</code> from <filename class="headerfile">cctype</filename> is a macro
- </title>
+<section><info><title><code>isspace</code> from <filename class="headerfile">cctype</filename> is a macro
+ </title></info>
+
<para>
- Glibc 2.0.x and 2.1.x define <filename
- class="headerfile">ctype.h</filename> functionality as macros
+ Glibc 2.0.x and 2.1.x define <filename class="headerfile">ctype.h</filename> functionality as macros
(isspace, isalpha etc.).
</para>
@@ -259,17 +259,16 @@ std:: (__ctype_b[(int) ( ( 'X' ) )] &amp; (unsigned short int) _ISspace ) ;
<para>
Another problem arises if you put a <code>using namespace
- std;</code> declaration at the top, and include <filename
- class="headerfile">ctype.h</filename>. This will result in
+ std;</code> declaration at the top, and include <filename class="headerfile">ctype.h</filename>. This will result in
ambiguities between the definitions in the global namespace
(<filename class="headerfile">ctype.h</filename>) and the
definitions in namespace <code>std::</code>
(<code>&lt;cctype&gt;</code>).
</para>
-</sect3>
+</section>
+
+<section><info><title>No <code>vector::at</code>, <code>deque::at</code>, <code>string::at</code></title></info>
-<sect3>
-<title>No <code>vector::at</code>, <code>deque::at</code>, <code>string::at</code></title>
<para>
One solution is to add an autoconf-test for this:
@@ -303,10 +302,10 @@ AC_DEFINE(HAVE_CONTAINER_AT)],
to check for <code>string::at</code> separately.
</para>
-</sect3>
+</section>
+
+<section><info><title>No <code>std::char_traits&lt;char&gt;::eof</code></title></info>
-<sect3>
-<title>No <code>std::char_traits&lt;char&gt;::eof</code></title>
<para>
Use some kind of autoconf test, plus this:
@@ -320,10 +319,10 @@ AC_DEFINE(HAVE_CONTAINER_AT)],
#endif
</programlisting>
-</sect3>
+</section>
+
+<section><info><title>No <code>string::clear</code></title></info>
-<sect3>
-<title>No <code>string::clear</code></title>
<para>
There are two functions for deleting the contents of a string:
@@ -350,28 +349,27 @@ erase(size_type __pos = 0, size_type __n = npos)
version, so you should use <code>erase</code> (which is probably
faster than <code>operator=(charT*)</code>).
</para>
-</sect3>
+</section>
-<sect3>
-<title>
+<section><info><title>
Removal of <code>ostream::form</code> and <code>istream::scan</code>
extensions
-</title>
+</title></info>
+
<para>
These are no longer supported. Please use stringstreams instead.
</para>
-</sect3>
+</section>
+
+<section><info><title>No <code>basic_stringbuf</code>, <code>basic_stringstream</code></title></info>
-<sect3>
-<title>No <code>basic_stringbuf</code>, <code>basic_stringstream</code></title>
<para>
Although the ISO standard <code>i/ostringstream</code>-classes are
provided, (<filename class="headerfile">sstream</filename>), for
compatibility with older implementations the pre-ISO
- <code>i/ostrstream</code> (<filename
- class="headerfile">strstream</filename>) interface is also provided,
+ <code>i/ostrstream</code> (<filename class="headerfile">strstream</filename>) interface is also provided,
with these caveats:
</para>
@@ -484,34 +482,33 @@ any = temp;
</programlisting>
<para>
- Another example of using stringstreams is in <link
- linkend="strings.string.shrink">this howto</link>.
+ Another example of using stringstreams is in <link linkend="strings.string.shrink">this howto</link>.
</para>
<para> There is additional information in the libstdc++-v2 info files, in
particular <quote>info iostream</quote>.
</para>
-</sect3>
+</section>
-<sect3>
- <title>Little or no wide character support</title>
+<section><info><title>Little or no wide character support</title></info>
+
<para>
Classes <classname>wstring</classname> and
<classname>char_traits&lt;wchar_t&gt;</classname> are
not supported.
</para>
-</sect3>
+</section>
-<sect3>
- <title>No templatized iostreams</title>
+<section><info><title>No templatized iostreams</title></info>
+
<para>
Classes <classname>wfilebuf</classname> and
<classname>wstringstream</classname> are not supported.
</para>
-</sect3>
+</section>
+
+<section><info><title>Thread safety issues</title></info>
-<sect3>
-<title>Thread safety issues</title>
<para>
Earlier GCC releases had a somewhat different approach to
@@ -541,10 +538,9 @@ particular <quote>info iostream</quote>.
written against per-CPU-architecture spinlocks and other parts
against the gthr.h abstraction layer which is provided by gcc. A
minor problem that pops up every so often is different
- interpretations of what &quot;thread-safe&quot; means for a
- library (not a general program). We currently use the <ulink
- url="http://www.sgi.com/tech/stl/thread_safety.html">same
- definition that SGI</ulink> uses for their STL subset. However,
+ interpretations of what "thread-safe" means for a
+ library (not a general program). We currently use the <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.sgi.com/tech/stl/thread_safety.html">same
+ definition that SGI</link> uses for their STL subset. However,
the exception for read-only containers only applies to the STL
components. This definition is widely-used and something similar
will be used in the next version of the C++ standard library.
@@ -554,23 +550,22 @@ particular <quote>info iostream</quote>.
Here is a small link farm to threads (no pun) in the mail
archives that discuss the threading problem. Each link is to the
first relevant message in the thread; from there you can use
- &quot;Thread Next&quot; to move down the thread. This farm is in
+ "Thread Next" to move down the thread. This farm is in
latest-to-oldest order.
</para>
<itemizedlist>
<listitem>
<para>
- Our threading expert Loren gives a breakdown of <ulink
- url="http://gcc.gnu.org/ml/libstdc++/2001-10/msg00024.html">the
- six situations involving threads</ulink> for the 3.0
+ Our threading expert Loren gives a breakdown of <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/ml/libstdc++/2001-10/msg00024.html">the
+ six situations involving threads</link> for the 3.0
release series.
</para>
</listitem>
<listitem>
<para>
- <ulink url="http://gcc.gnu.org/ml/libstdc++/2001-05/msg00384.html">
- This message</ulink> inspired a recent updating of issues with
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/ml/libstdc++/2001-05/msg00384.html">
+ This message</link> inspired a recent updating of issues with
threading and the SGI STL library. It also contains some
example POSIX-multithreaded STL code.
</para>
@@ -584,12 +579,12 @@ particular <quote>info iostream</quote>.
with work to restore them. Many of the points have been
superseded anyhow.)
</para>
-</sect3>
+</section>
+
+</section>
-</sect2>
+<section xml:id="backwards.third"><info><title>Third</title></info>
-<sect2 id="backwards.third">
-<title>Third</title>
<para> The third generation GNU C++ library is called libstdc++, or
libstdc++-v3.
@@ -606,8 +601,8 @@ libstdc++-v3.
<para>Portability notes and known implementation limitations are as follows.</para>
-<sect3>
-<title>Pre-ISO headers moved to backwards or removed</title>
+<section><info><title>Pre-ISO headers moved to backwards or removed</title></info>
+
<para> The pre-ISO C++ headers
(<code>iostream.h</code>, <code>defalloc.h</code> etc.) are
@@ -621,8 +616,8 @@ libstdc++-v3.
</para>
<para>For those of you new to ISO C++ (welcome, time travelers!), no,
that isn't a typo. Yes, the headers really have new names.
- Marshall Cline's C++ FAQ Lite has a good explanation in <ulink url="http://www.parashift.com/c++-faq-lite/coding-standards.html#faq-27.4">item
- [27.4]</ulink>.
+ Marshall Cline's C++ FAQ Lite has a good explanation in <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.parashift.com/c++-faq-lite/coding-standards.html#faq-27.4">item
+ [27.4]</link>.
</para>
<para> Some include adjustment may be required. What follows is an
@@ -691,10 +686,10 @@ directive <code>using namespace std;</code> can be put at the global
scope. This should be enough to get this code compiling, assuming the
other usage is correct.
</para>
-</sect3>
+</section>
+
+<section><info><title>Extension headers hash_map, hash_set moved to ext or backwards</title></info>
-<sect3>
-<title>Extension headers hash_map, hash_set moved to ext or backwards</title>
<para>At this time most of the features of the SGI STL extension have been
replaced by standardized libraries.
@@ -781,11 +776,11 @@ AC_DEFUN([AC_HEADER_EXT_HASH_SET], [
fi
])
</programlisting>
-</sect3>
+</section>
+
+<section><info><title>No <code>ios::nocreate/ios::noreplace</code>.
+</title></info>
-<sect3>
-<title>No <code>ios::nocreate/ios::noreplace</code>.
-</title>
<para> The existence of <code>ios::nocreate</code> being used for
input-streams has been confirmed, most probably because the author
@@ -800,12 +795,12 @@ decide whether you want to create/replace or not. To my knowledge,
even older implementations support <code>app</code>, <code>ate</code>
and <code>trunc</code> (except for <code>app</code> ?).
</para>
-</sect3>
+</section>
-<sect3>
-<title>
+<section><info><title>
No <code>stream::attach(int fd)</code>
-</title>
+</title></info>
+
<para>
Phil Edwards writes: It was considered and rejected for the ISO
@@ -825,22 +820,22 @@ No <code>stream::attach(int fd)</code>
<para>
An extension is available that implements this.
<filename class="headerfile">ext/stdio_filebuf.h</filename> contains a derived class called
- <ulink url="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00074.html"><code>__gnu_cxx::stdio_filebuf</code></ulink>.
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00074.html"><code>__gnu_cxx::stdio_filebuf</code></link>.
This class can be constructed from a C <code>FILE*</code> or a file
descriptor, and provides the <code>fd()</code> function.
</para>
<para>
For another example of this, refer to
- <ulink url="http://www.josuttis.com/cppcode/fdstream.html">fdstream example</ulink>
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.josuttis.com/cppcode/fdstream.html">fdstream example</link>
by Nicolai Josuttis.
</para>
-</sect3>
+</section>
-<sect3>
-<title>
+<section><info><title>
Support for C++98 dialect.
-</title>
+</title></info>
+
<para>Check for complete library coverage of the C++1998/2003 standard.
</para>
@@ -911,12 +906,12 @@ AC_DEFUN([AC_HEADER_STDCXX_98], [
fi
])
</programlisting>
-</sect3>
+</section>
-<sect3>
-<title>
+<section><info><title>
Support for C++TR1 dialect.
-</title>
+</title></info>
+
<para>Check for library coverage of the TR1 standard.
</para>
@@ -1002,13 +997,13 @@ AC_DEFUN([AC_HEADER_TR1_UNORDERED_SET], [
fi
])
</programlisting>
-</sect3>
+</section>
-<sect3>
-<title>
+<section><info><title>
Support for C++0x dialect.
-</title>
+</title></info>
+
<para>Check for baseline language coverage in the compiler for the C++0xstandard.
</para>
@@ -1234,63 +1229,54 @@ AC_DEFUN([AC_HEADER_UNORDERED_SET], [
fi
])
</programlisting>
-</sect3>
+</section>
-<sect3>
-<title>
+<section><info><title>
Container::iterator_type is not necessarily Container::value_type*
-</title>
+</title></info>
+
<para>
This is a change in behavior from the previous version. Now, most
<type>iterator_type</type> typedefs in container classes are POD
objects, not <type>value_type</type> pointers.
</para>
-</sect3>
+</section>
+
+</section>
-</sect2>
+<bibliography xml:id="backwards.biblio"><info><title>Bibliography</title></info>
-<bibliography id="backwards.biblio">
-<title>Bibliography</title>
<biblioentry>
- <biblioid class="uri">
- <ulink url="http://www.kegel.com/gcc/gcc4.html">
- <citetitle>
- Migrating to GCC 4.1
- </citetitle>
- </ulink>
+ <biblioid xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.kegel.com/gcc/gcc4.html" class="uri">
</biblioid>
- <author>
- <firstname>Dan</firstname>
- <surname>Kegel</surname>
- </author>
+ <citetitle>
+ Migrating to GCC 4.1
+ </citetitle>
+
+ <author><personname><firstname>Dan</firstname><surname>Kegel</surname></personname></author>
</biblioentry>
<biblioentry>
- <biblioid class="uri">
- <ulink url="http://lists.debian.org/debian-gcc/2006/03/msg00405.html">
- <citetitle>
- Building the Whole Debian Archive with GCC 4.1: A Summary
- </citetitle>
- </ulink>
+ <biblioid xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://lists.debian.org/debian-gcc/2006/03/msg00405.html" class="uri">
</biblioid>
- <author>
- <firstname>Martin</firstname>
- <surname>Michlmayr</surname>
- </author>
+ <citetitle>
+ Building the Whole Debian Archive with GCC 4.1: A Summary
+ </citetitle>
+
+ <author><personname><firstname>Martin</firstname><surname>Michlmayr</surname></personname></author>
</biblioentry>
<biblioentry>
- <biblioid class="uri">
- <ulink url="http://annwm.lbl.gov/~leggett/Atlas/gcc-3.2.html">
- <citetitle>
- Migration guide for GCC-3.2
- </citetitle>
- </ulink>
+ <biblioid xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://annwm.lbl.gov/~leggett/Atlas/gcc-3.2.html" class="uri">
</biblioid>
+ <citetitle>
+ Migration guide for GCC-3.2
+ </citetitle>
+
</biblioentry>
</bibliography>
-</sect1>
+</section>
diff --git a/libstdc++-v3/doc/xml/manual/bitmap_allocator.xml b/libstdc++-v3/doc/xml/manual/bitmap_allocator.xml
index 7b90e3a1d55..19b190661f0 100644
--- a/libstdc++-v3/doc/xml/manual/bitmap_allocator.xml
+++ b/libstdc++-v3/doc/xml/manual/bitmap_allocator.xml
@@ -1,7 +1,8 @@
-<sect1 id="manual.ext.allocator.bitmap" xreflabel="bitmap_allocator">
+<section xmlns="http://docbook.org/ns/docbook" version="5.0"
+ xml:id="manual.ext.allocator.bitmap" xreflabel="bitmap_allocator">
<?dbhtml filename="bitmap_allocator.html"?>
-<sect1info>
+<info><title>bitmap_allocator</title>
<keywordset>
<keyword>
ISO C++
@@ -10,15 +11,15 @@
allocator
</keyword>
</keywordset>
-</sect1info>
+</info>
+
-<title>bitmap_allocator</title>
<para>
</para>
-<sect2 id="allocator.bitmap.design">
-<title>Design</title>
+<section xml:id="allocator.bitmap.design"><info><title>Design</title></info>
+
<para>
As this name suggests, this allocator uses a bit-map to keep track
@@ -53,13 +54,13 @@
layer.
</para>
-</sect2>
+</section>
-<sect2 id="allocator.bitmap.impl">
-<title>Implementation</title>
+<section xml:id="allocator.bitmap.impl"><info><title>Implementation</title></info>
-<sect3 id="bitmap.impl.free_list_store" xreflabel="Free List Store">
- <title>Free List Store</title>
+
+<section xml:id="bitmap.impl.free_list_store" xreflabel="Free List Store"><info><title>Free List Store</title></info>
+
<para>
The Free List Store (referred to as FLS for the remaining part of this
@@ -121,10 +122,10 @@ else return false.</para></listitem>
Currently, (3) is being used with a value of 36% Maximum wastage per
Super Block.
</para>
-</sect3>
+</section>
-<sect3 id="bitmap.impl.super_block" xreflabel="Super Block">
- <title>Super Block</title>
+<section xml:id="bitmap.impl.super_block" xreflabel="Super Block"><info><title>Super Block</title></info>
+
<para>
A super block is the block of memory acquired from the FLS from
@@ -144,10 +145,10 @@ else return false.</para></listitem>
getting / returning Super Bocks to and from the OS using operator new
as defined by the C++ standard.
</para>
-</sect3>
+</section>
-<sect3 id="bitmap.impl.super_block_data" xreflabel="Super Block Data">
- <title>Super Block Data Layout</title>
+<section xml:id="bitmap.impl.super_block_data" xreflabel="Super Block Data"><info><title>Super Block Data Layout</title></info>
+
<para>
Each Super Block will be of some size that is a multiple of the
number of Bits Per Block. Typically, this value is chosen as
@@ -165,14 +166,15 @@ else return false.</para></listitem>
(assume a 32-bit system where, size_t is a 32-bit entity).
</para>
-<table frame='all'>
+<table frame="all">
<title>Bitmap Allocator Memory Map</title>
-<tgroup cols='5' align='left' colsep='1' rowsep='1'>
-<colspec colname='c1'></colspec>
-<colspec colname='c2'></colspec>
-<colspec colname='c3'></colspec>
-<colspec colname='c4'></colspec>
-<colspec colname='c5'></colspec>
+
+<tgroup cols="5" align="left" colsep="1" rowsep="1">
+<colspec colname="c1"/>
+<colspec colname="c2"/>
+<colspec colname="c3"/>
+<colspec colname="c4"/>
+<colspec colname="c5"/>
<tbody>
<row>
@@ -219,10 +221,10 @@ else return false.</para></listitem>
x 2,
which is 8-bytes, or 2 x sizeof(size_t).
</para>
-</sect3>
+</section>
-<sect3 id="bitmap.impl.max_wasted" xreflabel="Max Wasted Percentage">
- <title>Maximum Wasted Percentage</title>
+<section xml:id="bitmap.impl.max_wasted" xreflabel="Max Wasted Percentage"><info><title>Maximum Wasted Percentage</title></info>
+
<para>
This has nothing to do with the algorithm per-se,
@@ -260,10 +262,10 @@ For map/multimap: k = 12, and c = 4 (int and double), we get: 37.524%
create a function that returns the Max_Wastage_Percentage for us to use.
</para>
-</sect3>
+</section>
-<sect3 id="bitmap.impl.allocate" xreflabel="Allocate">
- <title><function>allocate</function></title>
+<section xml:id="bitmap.impl.allocate" xreflabel="Allocate"><info><title><function>allocate</function></title></info>
+
<para>
The allocate function is specialized for single object allocation
@@ -366,10 +368,10 @@ combination of the next-fit and first-fit algorithm optimized ONLY for
single object allocations.
</para>
-</sect3>
+</section>
-<sect3 id="bitmap.impl.deallocate" xreflabel="Deallocate">
- <title><function>deallocate</function></title>
+<section xml:id="bitmap.impl.deallocate" xreflabel="Deallocate"><info><title><function>deallocate</function></title></info>
+
<para>
The deallocate function again is specialized for single objects ONLY.
For all n belonging to &gt; 1, the operator delete is called without
@@ -410,13 +412,13 @@ single object allocations.
invariant is maintained by making sure that _S_last_request and
_S_last_dealloc_index point to valid locations within the vector.
</para>
-</sect3>
+</section>
-<sect3 id="bitmap.impl.questions" xreflabel="Questions">
- <title>Questions</title>
+<section xml:id="bitmap.impl.questions" xreflabel="Questions"><info><title>Questions</title></info>
+
- <sect4 id="bitmap.impl.question.1" xreflabel="Question 1">
- <title>1</title>
+ <section xml:id="bitmap.impl.question.1" xreflabel="Question 1"><info><title>1</title></info>
+
<para>
Q1) The "Data Layout" section is
cryptic. I have no idea of what you are trying to say. Layout of what?
@@ -429,10 +431,10 @@ general formula for calculating the size of a super block is
32 x sizeof(value_type) x 2^n, where n ranges from 0 to 32 for 32-bit
systems.
</para>
- </sect4>
+ </section>
- <sect4 id="bitmap.impl.question.2" xreflabel="Question 2">
- <title>2</title>
+ <section xml:id="bitmap.impl.question.2" xreflabel="Question 2"><info><title>2</title></info>
+
<para>
And since I just mentioned the
term `each bitmap', what in the world is meant by it? What does each
@@ -452,10 +454,10 @@ Block a bitmap as well?
whose exact number for a super-block of a given size I have just
mentioned.
</para>
- </sect4>
+ </section>
- <sect4 id="bitmap.impl.question.3" xreflabel="Question 3">
- <title>3</title>
+ <section xml:id="bitmap.impl.question.3" xreflabel="Question 3"><info><title>3</title></info>
+
<para>
How do the allocate and deallocate functions work in regard to
bitmaps?
@@ -492,11 +494,11 @@ Block a bitmap as well?
The bit-map now looks like this:
1111111111111111111111111111111111111111111111111111111111111110
</para>
- </sect4>
-</sect3>
+ </section>
+</section>
-<sect3 id="bitmap.impl.locality" xreflabel="Locality">
- <title>Locality</title>
+<section xml:id="bitmap.impl.locality" xreflabel="Locality"><info><title>Locality</title></info>
+
<para>
Another issue would be whether to keep the all bitmaps in a
separate area in memory, or to keep them near the actual blocks
@@ -522,10 +524,10 @@ equivalent.</para></listitem>
single object allocations, though it preserves the locality of blocks
very well when they are returned back to the allocator.
</para>
-</sect3>
+</section>
-<sect3 id="bitmap.impl.grow_policy" xreflabel="Grow Policy">
- <title>Overhead and Grow Policy</title>
+<section xml:id="bitmap.impl.grow_policy" xreflabel="Grow Policy"><info><title>Overhead and Grow Policy</title></info>
+
<para>
Expected overhead per block would be 1 bit in memory. Also, once
the address of the free list has been found, the cost for
@@ -552,8 +554,8 @@ equivalent.</para></listitem>
which can fit exactly in a CPU register. Hence, the term given is
exponential growth of the internal pool.
</para>
-</sect3>
+</section>
-</sect2>
+</section>
-</sect1>
+</section>
diff --git a/libstdc++-v3/doc/xml/manual/build_hacking.xml b/libstdc++-v3/doc/xml/manual/build_hacking.xml
index fd134bdea45..0746392a2b5 100644
--- a/libstdc++-v3/doc/xml/manual/build_hacking.xml
+++ b/libstdc++-v3/doc/xml/manual/build_hacking.xml
@@ -1,7 +1,8 @@
-<sect1 id="appendix.porting.build_hacking" xreflabel="Build Hacking">
+<section xmlns="http://docbook.org/ns/docbook" version="5.0"
+ xml:id="appendix.porting.build_hacking" xreflabel="Build Hacking">
<?dbhtml filename="build_hacking.html"?>
-<sect1info>
+<info><title>Configure and Build Hacking</title>
<keywordset>
<keyword>
C++
@@ -19,15 +20,14 @@
shared
</keyword>
</keywordset>
-</sect1info>
+</info>
-<title>Configure and Build Hacking</title>
-<sect2 id="build_hacking.prereq">
- <title>Prerequisites</title>
+
+<section xml:id="build_hacking.prereq"><info><title>Prerequisites</title></info>
+
<para>
- As noted <ulink
- url="http://gcc.gnu.org/install/prerequisites.html">previously</ulink>,
+ As noted <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/install/prerequisites.html">previously</link>,
certain other tools are necessary for hacking on files that
control configure (<code>configure.ac</code>,
<code>acinclude.m4</code>) and make
@@ -38,10 +38,10 @@
the auto-tools used, so please try to play nicely with the
neighbors.
</para>
-</sect2>
+</section>
-<sect2 id="build_hacking.map">
- <title>Overview: What Comes from Where</title>
+<section xml:id="build_hacking.map"><info><title>Overview: What Comes from Where</title></info>
+
<screen>
<inlinemediaobject>
@@ -61,14 +61,14 @@
<code>"aclocal-1.11 &amp;&amp; autoconf-2.64 &amp;&amp;
autoheader-2.64 &amp;&amp; automake-1.11"</code> The version
numbers may be absent entirely or otherwise vary depending on
- <ulink url="http://gcc.gnu.org/install/prerequisites.html">the
- current requirements</ulink> and your vendor's choice of
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/install/prerequisites.html">the
+ current requirements</link> and your vendor's choice of
installation names.
</para>
-</sect2>
+</section>
-<sect2 id="build_hacking.scripts">
- <title>Storing Information in non-AC files (like configure.host)</title>
+<section xml:id="build_hacking.scripts"><info><title>Storing Information in non-AC files (like configure.host)</title></info>
+
<para>
Until that glorious day when we can use AC_TRY_LINK with a
@@ -97,10 +97,10 @@
to properly find them all when generating configure. I would
discourage that.
</para>
-</sect2>
+</section>
-<sect2 id="build_hacking.conventions">
- <title>Coding and Commenting Conventions</title>
+<section xml:id="build_hacking.conventions"><info><title>Coding and Commenting Conventions</title></info>
+
<para>
Most comments should use {octothorpes, shibboleths, hash marks,
@@ -122,10 +122,10 @@
<code>$target_alias</code>. The single exception is in
configure.ac, for automake+dejagnu's sake.
</para>
-</sect2>
+</section>
-<sect2 id="build_hacking.acinclude">
- <title>The acinclude.m4 layout</title>
+<section xml:id="build_hacking.acinclude"><info><title>The acinclude.m4 layout</title></info>
+
<para>
The nice thing about acinclude.m4/aclocal.m4 is that macros aren't
actually performed/called/expanded/whatever here, just loaded. So
@@ -213,10 +213,10 @@
present otherwise stuff magically goes wonky.
</para>
-</sect2>
+</section>
-<sect2 id="build_hacking.enable">
- <title><constant>GLIBCXX_ENABLE</constant>, the <literal>--enable</literal> maker</title>
+<section xml:id="build_hacking.enable"><info><title><constant>GLIBCXX_ENABLE</constant>, the <literal>--enable</literal> maker</title></info>
+
<para>
All the GLIBCXX_ENABLE_FOO macros use a common helper,
@@ -304,8 +304,7 @@
<para>
If you're wondering what that line noise in the last example was,
that's how you embed autoconf special characters in output text.
- They're called <ulink
- url="http://www.gnu.org/software/autoconf/manual/autoconf.html#Quadrigraphs"><emphasis>quadrigraphs</emphasis></ulink>
+ They're called <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.gnu.org/software/autoconf/manual/autoconf.html#Quadrigraphs"><emphasis>quadrigraphs</emphasis></link>
and you should use them whenever necessary.
</para>
</listitem>
@@ -349,6 +348,6 @@
message.
</para>
-</sect2>
+</section>
-</sect1>
+</section>
diff --git a/libstdc++-v3/doc/xml/manual/codecvt.xml b/libstdc++-v3/doc/xml/manual/codecvt.xml
index a2a90cfdb5b..0c642f9f904 100644
--- a/libstdc++-v3/doc/xml/manual/codecvt.xml
+++ b/libstdc++-v3/doc/xml/manual/codecvt.xml
@@ -1,7 +1,8 @@
-<section id="std.localization.facet.codecvt" xreflabel="codecvt">
+<section xmlns="http://docbook.org/ns/docbook" version="5.0"
+ xml:id="std.localization.facet.codecvt" xreflabel="codecvt">
<?dbhtml filename="codecvt.html"?>
-<sectioninfo>
+<info><title>codecvt</title>
<keywordset>
<keyword>
ISO C++
@@ -10,9 +11,9 @@
codecvt
</keyword>
</keywordset>
-</sectioninfo>
+</info>
+
-<title>codecvt</title>
<para>
The standard class codecvt attempts to address conversions between
@@ -30,8 +31,8 @@ specializations for wide and narrow characters and the
implementation-provided extended functionality are given.
</para>
-<section id="facet.codecvt.req">
-<title>Requirements</title>
+<section xml:id="facet.codecvt.req"><info><title>Requirements</title></info>
+
<para>
Around page 425 of the C++ Standard, this charming heading comes into view:
@@ -110,11 +111,11 @@ template parameter, imply an implementation strategy that is mostly
mcsrtombs and wcsrtombs in particular.</para>
</section>
-<section id="facet.codecvt.design">
-<title>Design</title>
+<section xml:id="facet.codecvt.design"><info><title>Design</title></info>
+
-<section id="codecvt.design.wchar_t_size">
- <title><type>wchar_t</type> Size</title>
+<section xml:id="codecvt.design.wchar_t_size"><info><title><type>wchar_t</type> Size</title></info>
+
<para>
The simple implementation detail of wchar_t's size seems to
@@ -133,11 +134,11 @@ mcsrtombs and wcsrtombs in particular.</para>
</para>
</section>
-<section id="codecvt.design.unicode">
- <title>Support for Unicode</title>
+<section xml:id="codecvt.design.unicode"><info><title>Support for Unicode</title></info>
+
<para>
Probably the most frequently asked question about code conversion
- is: &quot;So dudes, what's the deal with Unicode strings?&quot;
+ is: "So dudes, what's the deal with Unicode strings?"
The dude part is optional, but apparently the usefulness of
Unicode strings is pretty widely appreciated. Sadly, this specific
encoding (And other useful encodings like UTF8, UCS4, ISO 8859-10,
@@ -190,7 +191,7 @@ UTF-16, UTF8, UTF16).
<para>
For iconv-based implementations, string literals for each of the
-encodings (i.e. &quot;UCS-2&quot; and &quot;UTF-8&quot;) are necessary,
+encodings (i.e. "UCS-2" and "UTF-8") are necessary,
although for other,
non-iconv implementations a table of enumerated values or some other
mechanism may be required.
@@ -204,14 +205,14 @@ mechanism may be required.
<listitem><para>
Some encodings require explicit endian-ness. As such, some kind
of endian marker or other byte-order marker will be necessary. See
- &quot;Footnotes for C/C++ developers&quot; in Haible for more information on
+ "Footnotes for C/C++ developers" in Haible for more information on
UCS-2/Unicode endian issues. (Summary: big endian seems most likely,
however implementations, most notably Microsoft, vary.)
</para></listitem>
<listitem><para>
Types representing the conversion state, for conversions involving
- the machinery in the &quot;C&quot; library, or the conversion descriptor, for
+ the machinery in the "C" library, or the conversion descriptor, for
conversions using iconv (such as the type iconv_t.) Note that the
conversion descriptor encodes more information than a simple encoding
state type.
@@ -238,13 +239,13 @@ mechanism may be required.
</itemizedlist>
</section>
-<section id="codecvt.design.issues">
- <title>Other Issues</title>
+<section xml:id="codecvt.design.issues"><info><title>Other Issues</title></info>
+
<para>
In addition, multi-threaded and multi-locale environments also impact
the design and requirements for code conversions. In particular, they
affect the required specialization codecvt&lt;wchar_t, char, mbstate_t&gt;
-when implemented using standard &quot;C&quot; functions.
+when implemented using standard "C" functions.
</para>
<para>
@@ -267,7 +268,7 @@ incorrect. Yikes!
<para>
The last, and fundamental problem, is the assumption of a global
-locale for all the &quot;C&quot; functions referenced above. For something like
+locale for all the "C" functions referenced above. For something like
C++ iostreams (where codecvt is explicitly used) the notion of
multiple locales is fundamental. In practice, most users may not run
into this limitation. However, as a quality of implementation issue,
@@ -288,8 +289,8 @@ LC_CTYPE category implements.
</section>
-<section id="facet.codecvt.impl">
-<title>Implementation</title>
+<section xml:id="facet.codecvt.impl"><info><title>Implementation</title></info>
+
<para>
The two required specializations are implemented as follows:
@@ -434,8 +435,8 @@ codecvt usage.
</section>
-<section id="facet.codecvt.use">
-<title>Use</title>
+<section xml:id="facet.codecvt.use"><info><title>Use</title></info>
+
<para>A conversions involving string literal.</para>
<programlisting>
@@ -479,8 +480,8 @@ codecvt usage.
</section>
-<section id="facet.codecvt.future">
-<title>Future</title>
+<section xml:id="facet.codecvt.future"><info><title>Future</title></info>
+
<itemizedlist>
<listitem>
<para>
@@ -521,7 +522,7 @@ codecvt usage.
</para></listitem>
<listitem><para>
- how to synchronize the &quot;C&quot; and &quot;C++&quot;
+ how to synchronize the "C" and "C++"
conversion information?
</para></listitem>
@@ -535,21 +536,15 @@ codecvt usage.
</section>
-<bibliography id="facet.codecvt.biblio">
-<title>Bibliography</title>
+<bibliography xml:id="facet.codecvt.biblio"><info><title>Bibliography</title></info>
+
<biblioentry>
- <title>
+ <citetitle>
The GNU C Library
- </title>
- <author>
- <surname>McGrath</surname>
- <firstname>Roland</firstname>
- </author>
- <author>
- <surname>Drepper</surname>
- <firstname>Ulrich</firstname>
- </author>
+ </citetitle>
+ <author><personname><surname>McGrath</surname><firstname>Roland</firstname></personname></author>
+ <author><personname><surname>Drepper</surname><firstname>Ulrich</firstname></personname></author>
<copyright>
<year>2007</year>
<holder>FSF</holder>
@@ -560,23 +555,20 @@ codecvt usage.
</biblioentry>
<biblioentry>
- <title>
+ <citetitle>
Correspondence
- </title>
- <author>
- <surname>Drepper</surname>
- <firstname>Ulrich</firstname>
- </author>
+ </citetitle>
+ <author><personname><surname>Drepper</surname><firstname>Ulrich</firstname></personname></author>
<copyright>
<year>2002</year>
- <holder></holder>
+ <holder/>
</copyright>
</biblioentry>
<biblioentry>
- <title>
+ <citetitle>
ISO/IEC 14882:1998 Programming languages - C++
- </title>
+ </citetitle>
<copyright>
<year>1998</year>
<holder>ISO</holder>
@@ -584,9 +576,9 @@ codecvt usage.
</biblioentry>
<biblioentry>
- <title>
+ <citetitle>
ISO/IEC 9899:1999 Programming languages - C
- </title>
+ </citetitle>
<copyright>
<year>1999</year>
<holder>ISO</holder>
@@ -594,13 +586,11 @@ codecvt usage.
</biblioentry>
<biblioentry>
- <biblioid class="uri">
- <ulink url="http://www.opengroup.org/austin">
- <citetitle>
- System Interface Definitions, Issue 7 (IEEE Std. 1003.1-2008)
- </citetitle>
- </ulink>
+ <biblioid xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.opengroup.org/austin" class="uri">
</biblioid>
+ <citetitle>
+ System Interface Definitions, Issue 7 (IEEE Std. 1003.1-2008)
+ </citetitle>
<copyright>
<year>2008</year>
<holder>
@@ -611,13 +601,10 @@ codecvt usage.
</biblioentry>
<biblioentry>
- <title>
+ <citetitle>
The C++ Programming Language, Special Edition
- </title>
- <author>
- <surname>Stroustrup</surname>
- <firstname>Bjarne</firstname>
- </author>
+ </citetitle>
+ <author><personname><surname>Stroustrup</surname><firstname>Bjarne</firstname></personname></author>
<copyright>
<year>2000</year>
<holder>Addison Wesley, Inc.</holder>
@@ -632,20 +619,14 @@ codecvt usage.
<biblioentry>
- <title>
+ <citetitle>
Standard C++ IOStreams and Locales
- </title>
+ </citetitle>
<subtitle>
Advanced Programmer's Guide and Reference
</subtitle>
- <author>
- <surname>Langer</surname>
- <firstname>Angelika</firstname>
- </author>
- <author>
- <surname>Kreft</surname>
- <firstname>Klaus</firstname>
- </author>
+ <author><personname><surname>Langer</surname><firstname>Angelika</firstname></personname></author>
+ <author><personname><surname>Kreft</surname><firstname>Klaus</firstname></personname></author>
<copyright>
<year>2000</year>
<holder>Addison Wesley Longman, Inc.</holder>
@@ -658,46 +639,34 @@ codecvt usage.
</biblioentry>
<biblioentry>
- <biblioid class="uri">
- <ulink url="http://www.lysator.liu.se/c/na1.html">
- <citetitle>
- A brief description of Normative Addendum 1
- </citetitle>
- </ulink>
+ <biblioid xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.lysator.liu.se/c/na1.html" class="uri">
</biblioid>
- <author>
- <surname>Feather</surname>
- <firstname>Clive</firstname>
- </author>
+ <citetitle>
+ A brief description of Normative Addendum 1
+ </citetitle>
+
+ <author><personname><surname>Feather</surname><firstname>Clive</firstname></personname></author>
<pagenums>Extended Character Sets</pagenums>
</biblioentry>
<biblioentry>
- <biblioid class="uri">
- <ulink url="http://tldp.org/HOWTO/Unicode-HOWTO.html">
+ <biblioid xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://tldp.org/HOWTO/Unicode-HOWTO.html" class="uri">
+ </biblioid>
<citetitle>
The Unicode HOWTO
</citetitle>
- </ulink>
- </biblioid>
- <author>
- <surname>Haible</surname>
- <firstname>Bruno</firstname>
- </author>
+
+ <author><personname><surname>Haible</surname><firstname>Bruno</firstname></personname></author>
</biblioentry>
<biblioentry>
- <biblioid class="uri">
- <ulink url="http://www.cl.cam.ac.uk/~mgk25/unicode.html">
- <citetitle>
- UTF-8 and Unicode FAQ for Unix/Linux
- </citetitle>
- </ulink>
+ <biblioid xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.cl.cam.ac.uk/~mgk25/unicode.html" class="uri">
</biblioid>
- <author>
- <surname>Khun</surname>
- <firstname>Markus</firstname>
- </author>
+ <citetitle>
+ UTF-8 and Unicode FAQ for Unix/Linux
+ </citetitle>
+
+ <author><personname><surname>Khun</surname><firstname>Markus</firstname></personname></author>
</biblioentry>
</bibliography>
diff --git a/libstdc++-v3/doc/xml/manual/concurrency.xml b/libstdc++-v3/doc/xml/manual/concurrency.xml
index f6a7366ff0d..e3dd9b9468a 100644
--- a/libstdc++-v3/doc/xml/manual/concurrency.xml
+++ b/libstdc++-v3/doc/xml/manual/concurrency.xml
@@ -1,12 +1,11 @@
-<?xml version='1.0'?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
- "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
-[ ]>
-
-<chapter id="std.concurrency" xreflabel="Concurrency">
+<chapter xmlns="http://docbook.org/ns/docbook" version="5.0"
+ xml:id="std.concurrency" xreflabel="Concurrency">
<?dbhtml filename="concurrency.html"?>
-<chapterinfo>
+<info><title>
+ Concurrency
+ <indexterm><primary>Concurrency</primary></indexterm>
+</title>
<keywordset>
<keyword>
ISO C++
@@ -27,12 +26,9 @@
condition_variable
</keyword>
</keywordset>
-</chapterinfo>
+</info>
+
-<title>
- Concurrency
- <indexterm><primary>Concurrency</primary></indexterm>
-</title>
<para>
Facilities for concurrent operation, and control thereof.
@@ -40,8 +36,8 @@
<!-- Sect1 01 : API -->
-<sect1 id="std.concurrency.api">
- <title>API Reference</title>
+<section xml:id="std.concurrency.api"><info><title>API Reference</title></info>
+
<para>
All items are declared in one of four standard header files.
@@ -80,6 +76,6 @@
<!-- Doxygen XML: api/group__concurrency.xml -->
-</sect1>
+</section>
</chapter>
diff --git a/libstdc++-v3/doc/xml/manual/concurrency_extensions.xml b/libstdc++-v3/doc/xml/manual/concurrency_extensions.xml
index 2b4a09ad8ea..9092c8def61 100644
--- a/libstdc++-v3/doc/xml/manual/concurrency_extensions.xml
+++ b/libstdc++-v3/doc/xml/manual/concurrency_extensions.xml
@@ -1,12 +1,8 @@
-<?xml version='1.0'?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
- "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
-[ ]>
-
-<chapter id="manual.ext.concurrency" xreflabel="Concurrency Extensions">
+<chapter xmlns="http://docbook.org/ns/docbook" version="5.0"
+ xml:id="manual.ext.concurrency" xreflabel="Concurrency Extensions">
<?dbhtml filename="ext_concurrency.html"?>
-<chapterinfo>
+<info><title>Concurrency</title>
<keywordset>
<keyword>
ISO C++
@@ -15,15 +11,15 @@
library
</keyword>
</keywordset>
-</chapterinfo>
+</info>
+
-<title>Concurrency</title>
-<sect1 id="manual.ext.concurrency.design" xreflabel="Design">
- <title>Design</title>
+<section xml:id="manual.ext.concurrency.design" xreflabel="Design"><info><title>Design</title></info>
+
- <sect2 id="manual.ext.concurrency.design.threads" xreflabel="Threads API">
- <title>Interface to Locks and Mutexes</title>
+ <section xml:id="manual.ext.concurrency.design.threads" xreflabel="Threads API"><info><title>Interface to Locks and Mutexes</title></info>
+
<para>The file &lt;ext/concurrence.h&gt; contains all the higher-level
constructs for playing with threads. In contrast to the atomics layer,
@@ -78,10 +74,10 @@ locks it during construction of <code>__scoped_locke</code> and
unlocks it during destruction. This is an efficient way of locking
critical sections, while retaining exception-safety.
</para>
- </sect2>
+ </section>
- <sect2 id="manual.ext.concurrency.design.atomics" xreflabel="Atomic API">
- <title>Interface to Atomic Functions</title>
+ <section xml:id="manual.ext.concurrency.design.atomics" xreflabel="Atomic API"><info><title>Interface to Atomic Functions</title></info>
+
<para>
@@ -186,15 +182,15 @@ _GLIBCXX_WRITE_MEM_BARRIER
Which expand to the appropriate write and read barrier required by the
host hardware and operating system.
</para>
- </sect2>
+ </section>
-</sect1>
+</section>
-<sect1 id="manual.ext.concurrency.impl" xreflabel="Implementation">
- <title>Implementation</title>
- <sect2 id="manual.ext.concurrency.impl.atomic_fallbacks" xreflabel="Atomic F">
- <title>Using Builtin Atomic Functions</title>
+<section xml:id="manual.ext.concurrency.impl" xreflabel="Implementation"><info><title>Implementation</title></info>
+
+ <section xml:id="manual.ext.concurrency.impl.atomic_fallbacks" xreflabel="Atomic F"><info><title>Using Builtin Atomic Functions</title></info>
+
<para>The functions for atomic operations described above are either
implemented via compiler intrinsics (if the underlying host is
@@ -253,16 +249,16 @@ hardware, hand-crafted assembly is selected. This is the case for the following
<para>And for the rest, a simulated atomic lock via pthreads.
</para>
-<para> Detailed information about compiler intrinsics for atomic operations can be found in the GCC <ulink url="http://gcc.gnu.org/onlinedocs/gcc/Atomic-Builtins.html"> documentation</ulink>.
+<para> Detailed information about compiler intrinsics for atomic operations can be found in the GCC <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/onlinedocs/gcc/Atomic-Builtins.html"> documentation</link>.
</para>
<para> More details on the library fallbacks from the porting <link linkend="internals.thread_safety">section</link>.
</para>
- </sect2>
- <sect2 id="manual.ext.concurrency.impl.thread" xreflabel="Pthread">
- <title>Thread Abstraction</title>
+ </section>
+ <section xml:id="manual.ext.concurrency.impl.thread" xreflabel="Pthread"><info><title>Thread Abstraction</title></info>
+
<para>A thin layer above IEEE 1003.1 (i.e. pthreads) is used to abstract
the thread interface for GCC. This layer is called "gthread," and is
@@ -276,7 +272,7 @@ the current host. In libstdc++ implementation files,
</para>
<para>Within libstdc++ sources, all calls to underlying thread functionality
-use this layer. More detail as to the specific interface can be found in the source <ulink url="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00883_source.html">documentation</ulink>.
+use this layer. More detail as to the specific interface can be found in the source <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00883_source.html">documentation</link>.
</para>
<para>By design, the gthread layer is interoperable with the types,
@@ -285,12 +281,12 @@ including <code>pthread_t</code>, <code>pthread_once_t</code>, <code>pthread_cre
etc.
</para>
- </sect2>
-</sect1>
+ </section>
+</section>
-<sect1 id="manual.ext.concurrency.use" xreflabel="Use">
+<section xml:id="manual.ext.concurrency.use" xreflabel="Use"><info><title>Use</title></info>
- <title>Use</title>
+
<para>Typical usage of the last two constructs is demonstrated as follows:
</para>
@@ -332,6 +328,6 @@ and <code>__concurrence_broadcast_error</code>.
</para>
-</sect1>
+</section>
</chapter>
diff --git a/libstdc++-v3/doc/xml/manual/configure.xml b/libstdc++-v3/doc/xml/manual/configure.xml
index 26af74582c9..4c983a4fd2d 100644
--- a/libstdc++-v3/doc/xml/manual/configure.xml
+++ b/libstdc++-v3/doc/xml/manual/configure.xml
@@ -1,7 +1,8 @@
-<sect1 id="manual.intro.setup.configure" xreflabel="Configuring">
+<section xmlns="http://docbook.org/ns/docbook" version="5.0"
+ xml:id="manual.intro.setup.configure" xreflabel="Configuring">
<?dbhtml filename="configure.html"?>
-<sect1info>
+<info><title>Configure</title>
<keywordset>
<keyword>
ISO C++
@@ -13,9 +14,9 @@
options
</keyword>
</keywordset>
-</sect1info>
+</info>
+
-<title>Configure</title>
<para>
When configuring libstdc++, you'll have to configure the entire
@@ -29,8 +30,8 @@
Here are all of the configure options specific to libstdc++. Keep
in mind that
<!-- This SECnn should be the "Choosing Package Options" section. -->
- <ulink url="http://sourceware.org/autobook/autobook/autobook_14.html">they
- all have opposite forms as well</ulink> (enable/disable and
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://sourceware.org/autobook/autobook/autobook_14.html">they
+ all have opposite forms as well</link> (enable/disable and
with/without). The defaults are for the <emphasis>current
development sources</emphasis>, which may be different than those
for released versions.
@@ -43,8 +44,8 @@
<variablelist>
<varlistentry><term><code>--enable-multilib</code>[default]</term>
<listitem><para>This is part of the generic multilib support for building cross
- compilers. As such, targets like &quot;powerpc-elf&quot; will have
- libstdc++ built many different ways: &quot;-msoft-float&quot;
+ compilers. As such, targets like "powerpc-elf" will have
+ libstdc++ built many different ways: "-msoft-float"
and not, etc. A different libstdc++ will be built for each of
the different multilib versions. This option is on by default.
</para>
@@ -68,15 +69,15 @@
libstdc++'s include files will be installed in
<code>${libdir}/gcc-lib/${target_alias}/${gcc_version}/include/g++</code>,
unless you also specify
- <literal>--with-gxx-include-dir=<filename class="directory">dirname</filename></literal> during configuration.
+ <literal>--with-gxx-include-dir=</literal><filename class="directory">dirname</filename> during configuration.
</para>
</listitem></varlistentry>
<varlistentry><term><code>--with-gxx-include-dir=&lt;include-files dir&gt;</code></term>
<listitem><para>Adds support for named libstdc++ include directory. For instance,
the following puts all the libstdc++ headers into a directory
- called &quot;4.4-20090404&quot; instead of the usual
- &quot;c++/(version)&quot;.
+ called "4.4-20090404" instead of the usual
+ "c++/(version)".
</para>
<programlisting>
--with-gxx-include-dir=/foo/H-x86-gcc-3-c-gxx-inc/include/4.4-20090404</programlisting> </listitem></varlistentry>
@@ -89,7 +90,7 @@
<varlistentry><term><code>--enable-cstdio=OPTION</code></term>
<listitem><para>Select a target-specific I/O package. At the moment, the only
- choice is to use 'stdio', a generic &quot;C&quot; abstraction.
+ choice is to use 'stdio', a generic "C" abstraction.
The default is 'stdio'. This option can change the library ABI.
</para>
</listitem></varlistentry>
@@ -105,9 +106,9 @@
choices are 'ieee_1003.1-2001' to specify an X/Open, Standard Unix
(IEEE Std. 1003.1-2001) model based on langinfo/iconv/catgets,
'gnu' to specify a model based on functionality from the GNU C
- library (langinfo/iconv/gettext) (from <ulink url="http://sources.redhat.com/glibc/">glibc</ulink>, the GNU C
- library), or 'generic' to use a generic &quot;C&quot;
- abstraction which consists of &quot;C&quot; locale info.
+ library (langinfo/iconv/gettext) (from <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://sources.redhat.com/glibc/">glibc</link>, the GNU C
+ library), or 'generic' to use a generic "C"
+ abstraction which consists of "C" locale info.
</para>
<para>If not explicitly specified, the configure proccess tries
@@ -154,8 +155,8 @@
<varlistentry><term><code>--enable-threads=OPTION</code></term>
<listitem><para>Select a threading library. A full description is
given in the
- general <ulink url="http://gcc.gnu.org/install/configure.html">compiler
- configuration instructions</ulink>. This option can change the
+ general <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/install/configure.html">compiler
+ configuration instructions</link>. This option can change the
library ABI.
</para>
</listitem></varlistentry>
@@ -218,13 +219,13 @@
</listitem></varlistentry>
<varlistentry><term><code>--enable-c99</code></term>
- <listitem><para>The &quot;long long&quot; type was introduced in C99, along
+ <listitem><para>The "long long" type was introduced in C99, along
with many other functions for wide characters, and math
classification macros, etc. If enabled, all C99 functions not
specified by the C++ standard will be put into <code>namespace
__gnu_cxx</code>, and then all these names will
be injected into namespace std, so that C99 functions can be
- used &quot;as if&quot; they were in the C++ standard (as they
+ used "as if" they were in the C++ standard (as they
will eventually be in some future revision of the standard,
without a doubt). By default, C99 support is on, assuming the
configure probes find all the necessary functions and bits
@@ -233,7 +234,7 @@
</listitem></varlistentry>
<varlistentry><term><code>--enable-wchar_t</code>[default]</term>
- <listitem><para>Template specializations for the &quot;wchar_t&quot; type are
+ <listitem><para>Template specializations for the "wchar_t" type are
required for wide character conversion support. Disabling
wide character specializations may be expedient for initial
porting efforts, but builds only a subset of what is required by
@@ -243,14 +244,14 @@
</listitem></varlistentry>
<varlistentry><term><code>--enable-long-long </code></term>
- <listitem><para>The &quot;long long&quot; type was introduced in C99. It is
+ <listitem><para>The "long long" type was introduced in C99. It is
provided as a GNU extension to C++98 in g++. This flag builds
- support for &quot;long long&quot; into the library (specialized
+ support for "long long" into the library (specialized
templates and the like for iostreams). This option is on by default:
- if enabled, users will have to either use the new-style &quot;C&quot;
+ if enabled, users will have to either use the new-style "C"
headers by default (i.e., &lt;cmath&gt; not &lt;math.h&gt;)
or add appropriate compile-time flags to all compile lines to
- allow &quot;C&quot; visibility of this feature (on GNU/Linux,
+ allow "C" visibility of this feature (on GNU/Linux,
the flag is -D_ISOC99_SOURCE, which is added automatically via
CPLUSPLUS_CPP_SPEC's addition of _GNU_SOURCE).
This option can change the library ABI.
@@ -279,8 +280,8 @@
<listitem><para>In 3.1 and later, tries to turn on symbol versioning in the
shared library (if a shared library has been
requested). Values for 'style' that are currently supported
- are 'gnu', 'gnu-versioned-namespace', 'darwin', and
- 'darwin-export'. Both gnu- options require that a recent
+ are 'gnu', 'gnu-versioned-namespace', 'darwin',
+ 'darwin-export', and 'sun'. Both gnu- options require that a recent
version of the GNU linker be in use. Both darwin options are
equivalent. With no style given, the configure script will try
to guess correct defaults for the host system, probe to see if
@@ -347,4 +348,4 @@
</variablelist>
-</sect1>
+</section>
diff --git a/libstdc++-v3/doc/xml/manual/containers.xml b/libstdc++-v3/doc/xml/manual/containers.xml
index 3b4fb4baa07..377b1a2ee6f 100644
--- a/libstdc++-v3/doc/xml/manual/containers.xml
+++ b/libstdc++-v3/doc/xml/manual/containers.xml
@@ -1,12 +1,11 @@
-<?xml version='1.0'?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
- "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
-[ ]>
-
-<chapter id="std.containers" xreflabel="Containers">
+<chapter xmlns="http://docbook.org/ns/docbook" version="5.0"
+ xml:id="std.containers" xreflabel="Containers">
<?dbhtml filename="containers.html"?>
-<chapterinfo>
+<info><title>
+ Containers
+ <indexterm><primary>Containers</primary></indexterm>
+</title>
<keywordset>
<keyword>
ISO C++
@@ -15,28 +14,24 @@
library
</keyword>
</keywordset>
-</chapterinfo>
+</info>
+
-<title>
- Containers
- <indexterm><primary>Containers</primary></indexterm>
-</title>
<!-- Sect1 01 : Sequences -->
-<sect1 id="std.containers.sequences" xreflabel="Sequences">
+<section xml:id="std.containers.sequences" xreflabel="Sequences"><info><title>Sequences</title></info>
<?dbhtml filename="sequences.html"?>
- <title>Sequences</title>
+
-<sect2 id="containers.sequences.list" xreflabel="list">
+<section xml:id="containers.sequences.list" xreflabel="list"><info><title>list</title></info>
<?dbhtml filename="list.html"?>
- <title>list</title>
- <sect3 id="sequences.list.size" xreflabel="list::size() is O(n)">
- <title>list::size() is O(n)</title>
+
+ <section xml:id="sequences.list.size" xreflabel="list::size() is O(n)"><info><title>list::size() is O(n)</title></info>
+
<para>
Yes it is, and that's okay. This is a decision that we preserved
when we imported SGI's STL implementation. The following is
- quoted from <ulink
- url="http://www.sgi.com/tech/stl/FAQ.html">their FAQ</ulink>:
+ quoted from <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.sgi.com/tech/stl/FAQ.html">their FAQ</link>:
</para>
<blockquote>
<para>
@@ -78,41 +73,38 @@
...
</programlisting>
</blockquote>
- </sect3>
-</sect2>
+ </section>
+</section>
-<sect2 id="containers.sequences.vector" xreflabel="vector">
+<section xml:id="containers.sequences.vector" xreflabel="vector"><info><title>vector</title></info>
<?dbhtml filename="vector.html"?>
- <title>vector</title>
+
<para>
</para>
- <sect3 id="sequences.vector.management" xreflabel="Space Overhead Management">
- <title>Space Overhead Management</title>
+ <section xml:id="sequences.vector.management" xreflabel="Space Overhead Management"><info><title>Space Overhead Management</title></info>
+
<para>
- In <ulink
- url="http://gcc.gnu.org/ml/libstdc++/2002-04/msg00105.html">this
- message to the list</ulink>, Daniel Kostecky announced work on an
+ In <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/ml/libstdc++/2002-04/msg00105.html">this
+ message to the list</link>, Daniel Kostecky announced work on an
alternate form of <code>std::vector</code> that would support
hints on the number of elements to be over-allocated. The design
was also described, along with possible implementation choices.
</para>
<para>
- The first two alpha releases were announced <ulink
- url="http://gcc.gnu.org/ml/libstdc++/2002-07/msg00048.html">here</ulink>
- and <ulink
- url="http://gcc.gnu.org/ml/libstdc++/2002-07/msg00111.html">here</ulink>.
+ The first two alpha releases were announced <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/ml/libstdc++/2002-07/msg00048.html">here</link>
+ and <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/ml/libstdc++/2002-07/msg00111.html">here</link>.
</para>
- </sect3></sect2>
-</sect1>
+ </section></section>
+</section>
<!-- Sect1 02 : Associative -->
-<sect1 id="std.containers.associative" xreflabel="Associative">
+<section xml:id="std.containers.associative" xreflabel="Associative"><info><title>Associative</title></info>
<?dbhtml filename="associative.html"?>
- <title>Associative</title>
+
- <sect2 id="containers.associative.insert_hints" xreflabel="Insertion Hints">
- <title>Insertion Hints</title>
+ <section xml:id="containers.associative.insert_hints" xreflabel="Insertion Hints"><info><title>Insertion Hints</title></info>
+
<para>
Section [23.1.2], Table 69, of the C++ standard lists this
function for all of the associative containers (map, set, etc):
@@ -125,8 +117,7 @@
item to insert. The standard says that <quote><code>t</code> is
inserted as close as possible to the position just prior to
<code>p</code>.</quote> (Library DR #233 addresses this topic,
- referring to <ulink
- url="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1780.html">N1780</ulink>.
+ referring to <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1780.html">N1780</link>.
Since version 4.2 GCC implements the resolution to DR 233, so
that insertions happen as close as possible to the hint. For
earlier releases the hint was only used as described below.
@@ -216,14 +207,14 @@
point to the correct place, then no further local searching is
done; the search begins from scratch in logarithmic time.
</para>
- </sect2>
+ </section>
- <sect2 id="containers.associative.bitset" xreflabel="bitset">
+ <section xml:id="containers.associative.bitset" xreflabel="bitset"><info><title>bitset</title></info>
<?dbhtml filename="bitset.html"?>
- <title>bitset</title>
- <sect3 id="associative.bitset.size_variable" xreflabel="Variable">
- <title>Size Variable</title>
+
+ <section xml:id="associative.bitset.size_variable" xreflabel="Variable"><info><title>Size Variable</title></info>
+
<para>
No, you cannot write code of the form
</para>
@@ -254,7 +245,7 @@
</itemizedlist>
<para>
<emphasis>A very large N in
- <code>bitset&lt;N&gt;</code>.&nbsp;&nbsp;</emphasis> It has been
+ <code>bitset&lt;N&gt;</code>.  </emphasis> It has been
pointed out a few times in newsgroups that N bits only takes up
(N/8) bytes on most systems, and division by a factor of eight is
pretty impressive when speaking of memory. Half a megabyte given
@@ -276,7 +267,7 @@
space overhead, but it's all allocated inside the object.)
</para>
<para>
- <emphasis>A container&lt;bool&gt;.&nbsp;&nbsp;</emphasis> The
+ <emphasis>A container&lt;bool&gt;.  </emphasis> The
Committee made provision for the space savings possible with that
(N/8) usage previously mentioned, so that you don't have to do
wasteful things like <code>Container&lt;char&gt;</code> or
@@ -297,7 +288,7 @@
than that of vector).
</para>
<para>
- <emphasis>Extremely weird solutions.&nbsp;&nbsp;</emphasis> If
+ <emphasis>Extremely weird solutions.  </emphasis> If
you have access to the compiler and linker at runtime, you can do
something insane, like figuring out just how many bits you need,
then writing a temporary source code file. That file contains an
@@ -329,9 +320,9 @@
<link linkend="manual.ext.containers.sgi">some extensions</link>.
</para>
- </sect3>
- <sect3 id="associative.bitset.type_string" xreflabel="Type String">
- <title>Type String</title>
+ </section>
+ <section xml:id="associative.bitset.type_string" xreflabel="Type String"><info><title>Type String</title></info>
+
<para>
</para>
<para>
@@ -357,18 +348,18 @@
<programlisting>
std::bitset&lt;5&gt; b ( <quote>10110</quote> ); // invalid
</programlisting>
- </sect3>
- </sect2>
+ </section>
+ </section>
-</sect1>
+</section>
<!-- Sect1 03 : Interacting with C -->
-<sect1 id="std.containers.c" xreflabel="Interacting with C">
+<section xml:id="std.containers.c" xreflabel="Interacting with C"><info><title>Interacting with C</title></info>
<?dbhtml filename="containers_and_c.html"?>
- <title>Interacting with C</title>
+
- <sect2 id="containers.c.vs_array" xreflabel="Containers vs. Arrays">
- <title>Containers vs. Arrays</title>
+ <section xml:id="containers.c.vs_array" xreflabel="Containers vs. Arrays"><info><title>Containers vs. Arrays</title></info>
+
<para>
You're writing some code and can't decide whether to use builtin
arrays or some kind of container. There are compelling reasons
@@ -464,8 +455,8 @@ template&lt;typename T, unsigned int sz&gt;
<para>
looks just weird! Hint: unused parameters can be left nameless.
</para>
- </sect2>
+ </section>
-</sect1>
+</section>
</chapter>
diff --git a/libstdc++-v3/doc/xml/manual/ctype.xml b/libstdc++-v3/doc/xml/manual/ctype.xml
index 9cc4603667d..afca9be5475 100644
--- a/libstdc++-v3/doc/xml/manual/ctype.xml
+++ b/libstdc++-v3/doc/xml/manual/ctype.xml
@@ -1,7 +1,8 @@
-<section id="std.localization.facet.ctype" xreflabel="ctype">
+<section xmlns="http://docbook.org/ns/docbook" version="5.0"
+ xml:id="std.localization.facet.ctype" xreflabel="ctype">
<?dbhtml filename="ctype.html"?>
-<sectioninfo>
+<info><title>ctype</title>
<keywordset>
<keyword>
ISO C++
@@ -10,15 +11,15 @@
ctype
</keyword>
</keywordset>
-</sectioninfo>
+</info>
-<title>ctype</title>
-<section id="facet.ctype.impl">
-<title>Implementation</title>
- <section>
- <title>Specializations</title>
+<section xml:id="facet.ctype.impl"><info><title>Implementation</title></info>
+
+
+ <section><info><title>Specializations</title></info>
+
<para>
For the required specialization codecvt&lt;wchar_t, char, mbstate_t&gt; ,
@@ -60,8 +61,8 @@ characters.
</section>
</section>
-<section id="facet.ctype.future">
-<title>Future</title>
+<section xml:id="facet.ctype.future"><info><title>Future</title></info>
+
<itemizedlist>
@@ -117,21 +118,15 @@ characters.
</section>
-<bibliography id="facet.ctype.biblio">
-<title>Bibliography</title>
+<bibliography xml:id="facet.ctype.biblio"><info><title>Bibliography</title></info>
+
<biblioentry>
- <title>
+ <citetitle>
The GNU C Library
- </title>
- <author>
- <surname>McGrath</surname>
- <firstname>Roland</firstname>
- </author>
- <author>
- <surname>Drepper</surname>
- <firstname>Ulrich</firstname>
- </author>
+ </citetitle>
+ <author><personname><surname>McGrath</surname><firstname>Roland</firstname></personname></author>
+ <author><personname><surname>Drepper</surname><firstname>Ulrich</firstname></personname></author>
<copyright>
<year>2007</year>
<holder>FSF</holder>
@@ -140,23 +135,20 @@ characters.
</biblioentry>
<biblioentry>
- <title>
+ <citetitle>
Correspondence
- </title>
- <author>
- <surname>Drepper</surname>
- <firstname>Ulrich</firstname>
- </author>
+ </citetitle>
+ <author><personname><surname>Drepper</surname><firstname>Ulrich</firstname></personname></author>
<copyright>
<year>2002</year>
- <holder></holder>
+ <holder/>
</copyright>
</biblioentry>
<biblioentry>
- <title>
+ <citetitle>
ISO/IEC 14882:1998 Programming languages - C++
- </title>
+ </citetitle>
<copyright>
<year>1998</year>
<holder>ISO</holder>
@@ -164,9 +156,9 @@ characters.
</biblioentry>
<biblioentry>
- <title>
+ <citetitle>
ISO/IEC 9899:1999 Programming languages - C
- </title>
+ </citetitle>
<copyright>
<year>1999</year>
<holder>ISO</holder>
@@ -174,13 +166,12 @@ characters.
</biblioentry>
<biblioentry>
- <biblioid class="uri">
- <ulink url="http://www.unix.org/version3/ieee_std.html">
- <citetitle>
- The Open Group Base Specifications, Issue 6 (IEEE Std. 1003.1-2004)
- </citetitle>
- </ulink>
- </biblioid>
+ <biblioid xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.unix.org/version3/ieee_std.html" class="uri">
+ </biblioid>
+ <citetitle>
+ The Open Group Base Specifications, Issue 6 (IEEE Std. 1003.1-2004)
+ </citetitle>
+
<copyright>
<year>1999</year>
<holder>
@@ -189,13 +180,10 @@ characters.
</biblioentry>
<biblioentry>
- <title>
+ <citetitle>
The C++ Programming Language, Special Edition
- </title>
- <author>
- <surname>Stroustrup</surname>
- <firstname>Bjarne</firstname>
- </author>
+ </citetitle>
+ <author><personname><surname>Stroustrup</surname><firstname>Bjarne</firstname></personname></author>
<copyright>
<year>2000</year>
<holder>Addison Wesley, Inc.</holder>
@@ -209,20 +197,14 @@ characters.
</biblioentry>
<biblioentry>
- <title>
+ <citetitle>
Standard C++ IOStreams and Locales
- </title>
+ </citetitle>
<subtitle>
Advanced Programmer's Guide and Reference
</subtitle>
- <author>
- <surname>Langer</surname>
- <firstname>Angelika</firstname>
- </author>
- <author>
- <surname>Kreft</surname>
- <firstname>Klaus</firstname>
- </author>
+ <author><personname><surname>Langer</surname><firstname>Angelika</firstname></personname></author>
+ <author><personname><surname>Kreft</surname><firstname>Klaus</firstname></personname></author>
<copyright>
<year>2000</year>
<holder>Addison Wesley Longman, Inc.</holder>
diff --git a/libstdc++-v3/doc/xml/manual/debug.xml b/libstdc++-v3/doc/xml/manual/debug.xml
index 5f97867de2e..9772c368885 100644
--- a/libstdc++-v3/doc/xml/manual/debug.xml
+++ b/libstdc++-v3/doc/xml/manual/debug.xml
@@ -1,7 +1,8 @@
-<sect1 id="manual.intro.using.debug" xreflabel="Debugging Support">
+<section xmlns="http://docbook.org/ns/docbook" version="5.0"
+ xml:id="manual.intro.using.debug" xreflabel="Debugging Support">
<?dbhtml filename="debug.html"?>
-<sect1info>
+<info><title>Debugging Support</title>
<keywordset>
<keyword>
C++
@@ -10,9 +11,9 @@
debug
</keyword>
</keywordset>
-</sect1info>
+</info>
+
-<title>Debugging Support</title>
<para>
There are numerous things that can be done to improve the ease with
@@ -20,8 +21,8 @@
are some of them.
</para>
-<sect2 id="debug.compiler">
-<title>Using <command>g++</command></title>
+<section xml:id="debug.compiler"><info><title>Using <command>g++</command></title></info>
+
<para>
Compiler flags determine how debug information is transmitted
between compilation and debug or analysis tools.
@@ -52,15 +53,14 @@
</para>
<para>
- Many other options are available: please see <ulink
- url="http://gcc.gnu.org/onlinedocs/gcc/Debugging-Options.html#Debugging%20Options">"Options
- for Debugging Your Program"</ulink> in Using the GNU Compiler
+ Many other options are available: please see <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/onlinedocs/gcc/Debugging-Options.html#Debugging%20Options">"Options
+ for Debugging Your Program"</link> in Using the GNU Compiler
Collection (GCC) for a complete list.
</para>
-</sect2>
+</section>
+
+<section xml:id="debug.req"><info><title>Debug Versions of Library Binary Files</title></info>
-<sect2 id="debug.req">
-<title>Debug Versions of Library Binary Files</title>
<para>
If you would like debug symbols in libstdc++, there are two ways to
@@ -79,8 +79,7 @@
debug build will persist, without having to specify
<code>CXXFLAGS</code>, and the debug library will be installed in a
separate directory tree, in <code>(prefix)/lib/debug</code>. For
- more information, look at the <link
- linkend="manual.intro.setup.configure">configuration</link> section.
+ more information, look at the <link linkend="manual.intro.setup.configure">configuration</link> section.
</para>
<para>
@@ -94,10 +93,10 @@
This quick and dirty approach is often sufficient for quick
debugging tasks, when you cannot or don't want to recompile your
application to use the <link linkend="manual.ext.debug_mode">debug mode</link>.</para>
-</sect2>
+</section>
+
+<section xml:id="debug.memory"><info><title>Memory Leak Hunting</title></info>
-<sect2 id="debug.memory">
-<title>Memory Leak Hunting</title>
<para>
There are various third party memory tracing and debug utilities
@@ -116,8 +115,7 @@
thing of great importance to keep in mind when debugging C++ code
that uses <code>new</code> and <code>delete</code>: there are
different kinds of allocation schemes that can be used by <code>
- std::allocator </code>. For implementation details, see the <link
- linkend="manual.ext.allocator.mt">mt allocator</link> documentation and
+ std::allocator </code>. For implementation details, see the <link linkend="manual.ext.allocator.mt">mt allocator</link> documentation and
look specifically for <code>GLIBCXX_FORCE_NEW</code>.
</para>
@@ -189,17 +187,16 @@
valgrind -v --num-callers=20 --leak-check=yes --leak-resolution=high --show-reachable=yes a.out
</programlisting>
-</sect2>
+</section>
+
+<section xml:id="debug.gdb"><info><title>Using <command>gdb</command></title></info>
-<sect2 id="debug.gdb">
-<title>Using <command>gdb</command></title>
<para>
</para>
<para>
- Many options are available for gdb itself: please see <ulink
- url="http://sources.redhat.com/gdb/current/onlinedocs/gdb_13.html#SEC125">
- "GDB features for C++" </ulink> in the gdb documentation. Also
+ Many options are available for gdb itself: please see <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://sources.redhat.com/gdb/current/onlinedocs/gdb_13.html#SEC125">
+ "GDB features for C++" </link> in the gdb documentation. Also
recommended: the other parts of this manual.
</para>
@@ -258,47 +255,47 @@
<para>
For additional information on STL support and GDB please visit:
- <ulink url="http://sourceware.org/gdb/wiki/STLSupport"> "GDB Support
- for STL" </ulink> in the GDB wiki. Additionally, in-depth
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://sourceware.org/gdb/wiki/STLSupport"> "GDB Support
+ for STL" </link> in the GDB wiki. Additionally, in-depth
documentation and discussion of the pretty printing feature can be
found in "Pretty Printing" node in the GDB manual. You can find
on-line versions of the GDB user manual in GDB's homepage, at
- <ulink url="http://sourceware.org/gdb/"> "GDB: The GNU Project
- Debugger" </ulink>.
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://sourceware.org/gdb/"> "GDB: The GNU Project
+ Debugger" </link>.
</para>
-</sect2>
+</section>
+
+<section xml:id="debug.exceptions"><info><title>Tracking uncaught exceptions</title></info>
-<sect2 id="debug.exceptions">
-<title>Tracking uncaught exceptions</title>
<para>
The <link linkend="support.termination.verbose">verbose
termination handler</link> gives information about uncaught
exceptions which are killing the program. It is described in the
linked-to page.
</para>
-</sect2>
+</section>
+
+<section xml:id="debug.debug_mode"><info><title>Debug Mode</title></info>
-<sect2 id="debug.debug_mode">
-<title>Debug Mode</title>
<para> The <link linkend="manual.ext.debug_mode">Debug Mode</link>
has compile and run-time checks for many containers.
</para>
-</sect2>
+</section>
+
+<section xml:id="debug.compile_time_checks"><info><title>Compile Time Checking</title></info>
-<sect2 id="debug.compile_time_checks">
-<title>Compile Time Checking</title>
<para> The <link linkend="manual.ext.compile_checks">Compile-Time
Checks</link> Extension has compile-time checks for many algorithms.
</para>
-</sect2>
+</section>
+
+<section xml:id="debug.profile_mode" xreflabel="debug.profile_mode"><info><title>Profile-based Performance Analysis</title></info>
-<sect2 id="debug.profile_mode" xreflabel="debug.profile_mode">
-<title>Profile-based Performance Analysis</title>
<para> The <link linkend="manual.ext.profile_mode">Profile-based
Performance Analysis</link> Extension has performance checks for many
algorithms.
</para>
-</sect2>
+</section>
-</sect1>
+</section>
diff --git a/libstdc++-v3/doc/xml/manual/debug_mode.xml b/libstdc++-v3/doc/xml/manual/debug_mode.xml
index c3b3b57859d..f0ab4992846 100644
--- a/libstdc++-v3/doc/xml/manual/debug_mode.xml
+++ b/libstdc++-v3/doc/xml/manual/debug_mode.xml
@@ -1,12 +1,8 @@
-<?xml version='1.0'?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
- "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
-[ ]>
-
-<chapter id="manual.ext.debug_mode" xreflabel="Debug Mode">
+<chapter xmlns="http://docbook.org/ns/docbook" version="5.0"
+ xml:id="manual.ext.debug_mode" xreflabel="Debug Mode">
<?dbhtml filename="debug_mode.html"?>
-<chapterinfo>
+<info><title>Debug Mode</title>
<keywordset>
<keyword>
C++
@@ -18,12 +14,12 @@
debug
</keyword>
</keywordset>
-</chapterinfo>
+</info>
+
-<title>Debug Mode</title>
-<sect1 id="manual.ext.debug_mode.intro" xreflabel="Intro">
- <title>Intro</title>
+<section xml:id="manual.ext.debug_mode.intro" xreflabel="Intro"><info><title>Intro</title></info>
+
<para>
By default, libstdc++ is built with efficiency in mind, and
therefore performs little or no error checking that is not
@@ -65,10 +61,10 @@
different predicate.</para></listitem>
</itemizedlist>
-</sect1>
+</section>
-<sect1 id="manual.ext.debug_mode.semantics" xreflabel="Semantics">
- <title>Semantics</title>
+<section xml:id="manual.ext.debug_mode.semantics" xreflabel="Semantics"><info><title>Semantics</title></info>
+
<para>
</para>
@@ -146,14 +142,14 @@ guaranteed to work. For full debug-mode support you can use the
which always works correctly.
</para>
-</sect1>
+</section>
-<sect1 id="manual.ext.debug_mode.using" xreflabel="Using">
- <title>Using</title>
+<section xml:id="manual.ext.debug_mode.using" xreflabel="Using"><info><title>Using</title></info>
+
<para>
</para>
-<sect2 id="debug_mode.using.mode" xreflabel="Using Mode">
- <title>Using the Debug Mode</title>
+<section xml:id="debug_mode.using.mode" xreflabel="Using Mode"><info><title>Using the Debug Mode</title></info>
+
<para>To use the libstdc++ debug mode, compile your application with the
compiler flag <code>-D_GLIBCXX_DEBUG</code>. Note that this flag
@@ -168,10 +164,10 @@ which always works correctly.
<code>GLIBCXX_DEBUG_MESSAGE_LENGTH</code> can be used to request a
different length.</para>
-</sect2>
+</section>
-<sect2 id="debug_mode.using.specific" xreflabel="Using Specific">
- <title>Using a Specific Debug Container</title>
+<section xml:id="debug_mode.using.specific" xreflabel="Using Specific"><info><title>Using a Specific Debug Container</title></info>
+
<para>When it is not feasible to recompile your entire application, or
only specific containers need checking, debugging containers are
available as GNU extensions. These debugging containers are
@@ -183,13 +179,14 @@ which always works correctly.
containers:
</para>
-<table frame='all'>
+<table frame="all">
<title>Debugging Containers</title>
-<tgroup cols='4' align='left' colsep='1' rowsep='1'>
-<colspec colname='c1'></colspec>
-<colspec colname='c2'></colspec>
-<colspec colname='c3'></colspec>
-<colspec colname='c4'></colspec>
+
+<tgroup cols="4" align="left" colsep="1" rowsep="1">
+<colspec colname="c1"/>
+<colspec colname="c2"/>
+<colspec colname="c3"/>
+<colspec colname="c4"/>
<thead>
<row>
@@ -274,13 +271,14 @@ which always works correctly.
containers have additional debug capability.
</para>
-<table frame='all'>
+<table frame="all">
<title>Debugging Containers C++0x</title>
-<tgroup cols='4' align='left' colsep='1' rowsep='1'>
-<colspec colname='c1'></colspec>
-<colspec colname='c2'></colspec>
-<colspec colname='c3'></colspec>
-<colspec colname='c4'></colspec>
+
+<tgroup cols="4" align="left" colsep="1" rowsep="1">
+<colspec colname="c1"/>
+<colspec colname="c2"/>
+<colspec colname="c3"/>
+<colspec colname="c4"/>
<thead>
<row>
@@ -318,15 +316,15 @@ containers have additional debug capability.
</tbody>
</tgroup>
</table>
-</sect2>
-</sect1>
+</section>
+</section>
-<sect1 id="manual.ext.debug_mode.design" xreflabel="Design">
- <title>Design</title>
+<section xml:id="manual.ext.debug_mode.design" xreflabel="Design"><info><title>Design</title></info>
+
<para>
</para>
- <sect2 id="debug_mode.design.goals" xreflabel="Goals">
- <title>Goals</title>
+ <section xml:id="debug_mode.design.goals" xreflabel="Goals"><info><title>Goals</title></info>
+
<para>
</para>
<para> The libstdc++ debug mode replaces unsafe (but efficient) standard
@@ -376,7 +374,7 @@ containers have additional debug capability.
higher-numbered conformance levels are more usable (i.e., require
less recompilation) but are more complicated to implement than
the lower-numbered conformance levels.
- <orderedlist>
+ <orderedlist inheritnum="ignore" continuation="restarts">
<listitem><para><emphasis>Full recompilation</emphasis>: The user must recompile his or
her entire application and all C++ libraries it depends on,
including the C++ standard library that ships with the
@@ -438,18 +436,18 @@ containers have additional debug capability.
</orderedlist>
</para></listitem>
</itemizedlist>
- </sect2>
+ </section>
- <sect2 id="debug_mode.design.methods" xreflabel="Methods">
- <title>Methods</title>
+ <section xml:id="debug_mode.design.methods" xreflabel="Methods"><info><title>Methods</title></info>
+
<para>
</para>
<para>This section provides an overall view of the design of the
libstdc++ debug mode and details the relationship between design
decisions and the stated design goals.</para>
- <sect3 id="debug_mode.design.methods.wrappers" xreflabel="Method Wrapper">
- <title>The Wrapper Model</title>
+ <section xml:id="debug_mode.design.methods.wrappers" xreflabel="Method Wrapper"><info><title>The Wrapper Model</title></info>
+
<para>The libstdc++ debug mode uses a wrapper model where the
debugging versions of library components (e.g., iterators and
containers) form a layer on top of the release versions of the
@@ -471,8 +469,8 @@ containers have additional debug capability.
past-the-end iterators or inserting into a container using an
iterator from a different container.</para>
- <sect4 id="debug_mode.design.methods.safe_iter" xreflabel="Method Safe Iter">
- <title>Safe Iterators</title>
+ <section xml:id="debug_mode.design.methods.safe_iter" xreflabel="Method Safe Iter"><info><title>Safe Iterators</title></info>
+
<para>Iterator wrappers provide a debugging layer over any iterator that
is attached to a particular container, and will manage the
information detailing the iterator's state (singular,
@@ -492,10 +490,10 @@ containers have additional debug capability.
whose <code>iterator</code> or <code>const_iterator</code> typedef
is the type of the safe iterator.</para></listitem>
</itemizedlist>
- </sect4>
+ </section>
- <sect4 id="debug_mode.design.methods.safe_seq" xreflabel="Method Safe Seq">
- <title>Safe Sequences (Containers)</title>
+ <section xml:id="debug_mode.design.methods.safe_seq" xreflabel="Method Safe Seq"><info><title>Safe Sequences (Containers)</title></info>
+
<para>Container wrappers provide a debugging layer over a particular
container type. Because containers vary greatly in the member
@@ -540,11 +538,11 @@ template&lt;typename _Tp, typename _Allocator = allocator&lt;_Tp&gt;
// duplicate std::list interface with debugging semantics
};
</programlisting>
- </sect4>
- </sect3>
+ </section>
+ </section>
- <sect3 id="debug_mode.design.methods.precond" xreflabel="Precondition check">
- <title>Precondition Checking</title>
+ <section xml:id="debug_mode.design.methods.precond" xreflabel="Precondition check"><info><title>Precondition Checking</title></info>
+
<para>The debug mode operates primarily by checking the preconditions of
all standard library operations that it supports. Preconditions that
are always checked (regardless of whether or not we are in debug
@@ -575,10 +573,10 @@ template&lt;typename _Tp, typename _Allocator = allocator&lt;_Tp&gt;
check macro that supports more advance formulation of error
messages, <code>_GLIBCXX_DEBUG_VERIFY</code>. These macros are
documented more thoroughly in the debug mode source code.</para>
- </sect3>
+ </section>
- <sect3 id="debug_mode.design.methods.coexistence" xreflabel="Coexistence">
- <title>Release- and debug-mode coexistence</title>
+ <section xml:id="debug_mode.design.methods.coexistence" xreflabel="Coexistence"><info><title>Release- and debug-mode coexistence</title></info>
+
<para>The libstdc++ debug mode is the first debug mode we know of that
is able to provide the "Per-use recompilation" (4) guarantee, that
allows release-compiled and debug-compiled code to be linked and
@@ -591,16 +589,16 @@ template&lt;typename _Tp, typename _Allocator = allocator&lt;_Tp&gt;
<para>Achieving link- and run-time coexistence is not a trivial
implementation task. To achieve this goal we required a small
extension to the GNU C++ compiler (since incorporated into the C++0x language specification, described in the GCC Manual for the C++ language as
- <ulink url="http://gcc.gnu.org/onlinedocs/gcc/Namespace-Association.html#Namespace-Association">namespace
- association</ulink>), and a complex organization of debug- and
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/onlinedocs/gcc/Namespace-Association.html#Namespace-Association">namespace
+ association</link>), and a complex organization of debug- and
release-modes. The end result is that we have achieved per-use
recompilation but have had to give up some checking of the
<code>std::basic_string</code> class template (namely, safe
iterators).
</para>
- <sect4 id="methods.coexistence.compile" xreflabel="Compile">
- <title>Compile-time coexistence of release- and debug-mode components</title>
+ <section xml:id="methods.coexistence.compile" xreflabel="Compile"><info><title>Compile-time coexistence of release- and debug-mode components</title></info>
+
<para>Both the release-mode components and the debug-mode
components need to exist within a single translation unit so that
@@ -665,11 +663,11 @@ namespace std
inline namespace __debug { }
}
</programlisting>
- </sect4>
+ </section>
- <sect4 id="methods.coexistence.link" xreflabel="Link">
- <title>Link- and run-time coexistence of release- and
- debug-mode components</title>
+ <section xml:id="methods.coexistence.link" xreflabel="Link"><info><title>Link- and run-time coexistence of release- and
+ debug-mode components</title></info>
+
<para>Because each component has a distinct and separate release and
debug implementation, there is no issue with link-time
@@ -730,7 +728,7 @@ test02()
debug/release containers, we must note two things about locale
facets:</para>
-<orderedlist>
+<orderedlist inheritnum="ignore" continuation="restarts">
<listitem><para>They exist as shared state: one can create a facet in one
translation unit and access the facet via the same type name in a
different translation unit. This means that we cannot have two
@@ -752,10 +750,10 @@ test02()
simple alternatives (e.g., <code>__gnu_debug::basic_string</code>),
and the usability benefit we gain from the ability to mix debug- and
release-compiled translation units is enormous.</para>
- </sect4>
+ </section>
+
+ <section xml:id="methods.coexistence.alt" xreflabel="Alternatives"><info><title>Alternatives for Coexistence</title></info>
- <sect4 id="methods.coexistence.alt" xreflabel="Alternatives">
-<title>Alternatives for Coexistence</title>
<para>The coexistence scheme above was chosen over many alternatives,
including language-only solutions and solutions that also required
@@ -805,8 +803,8 @@ test02()
<listitem><para><emphasis> Use implementation-specific properties of anonymous
namespaces. </emphasis>
- See <ulink url="http://gcc.gnu.org/ml/libstdc++/2003-08/msg00004.html"> this post
- </ulink>
+ See <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/ml/libstdc++/2003-08/msg00004.html"> this post
+ </link>
This method fails the <emphasis>correctness</emphasis> criteria.</para></listitem>
<listitem><para><emphasis>Extension: allow reopening on namespaces</emphasis>: This would
@@ -832,8 +830,8 @@ test02()
functions taking no arguments in mixed-mode settings resulting in
equivalent link names, <code> vector::push_back() </code> being
one example.
- See <ulink url="http://gcc.gnu.org/ml/libstdc++/2003-08/msg00177.html">link
- name</ulink> </para></listitem>
+ See <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/ml/libstdc++/2003-08/msg00177.html">link
+ name</link> </para></listitem>
</itemizedlist>
<para>Other options may exist for implementing the debug mode, many of
@@ -848,12 +846,12 @@ test02()
added as we are able to identify other typical problem cases. These
test cases will serve as a benchmark by which we can compare debug
mode implementations.</para>
- </sect4>
- </sect3>
- </sect2>
+ </section>
+ </section>
+ </section>
- <sect2 id="debug_mode.design.other" xreflabel="Other">
- <title>Other Implementations</title>
+ <section xml:id="debug_mode.design.other" xreflabel="Other"><info><title>Other Implementations</title></info>
+
<para>
</para>
<para> There are several existing implementations of debug modes for C++
@@ -861,15 +859,15 @@ test02()
supports debugging for programs using libstdc++. The existing
implementations include:</para>
<itemizedlist>
- <listitem><para><ulink url="http://www.mathcs.sjsu.edu/faculty/horstman/safestl.html">SafeSTL</ulink>:
+ <listitem><para><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.mathcs.sjsu.edu/faculty/horstman/safestl.html">SafeSTL</link>:
SafeSTL was the original debugging version of the Standard Template
Library (STL), implemented by Cay S. Horstmann on top of the
Hewlett-Packard STL. Though it inspired much work in this area, it
has not been kept up-to-date for use with modern compilers or C++
standard library implementations.</para></listitem>
- <listitem><para><ulink url="http://www.stlport.org/">STLport</ulink>: STLport is a free
- implementation of the C++ standard library derived from the <ulink url="http://www.sgi.com/tech/stl/">SGI implementation</ulink>, and
+ <listitem><para><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.stlport.org/">STLport</link>: STLport is a free
+ implementation of the C++ standard library derived from the <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.sgi.com/tech/stl/">SGI implementation</link>, and
ported to many other platforms. It includes a debug mode that uses a
wrapper model (that in some ways inspired the libstdc++ debug mode
design), although at the time of this writing the debug mode is
@@ -885,7 +883,7 @@ test02()
guarantee.</para></listitem>
</itemizedlist>
- </sect2>
-</sect1>
+ </section>
+</section>
</chapter>
diff --git a/libstdc++-v3/doc/xml/manual/diagnostics.xml b/libstdc++-v3/doc/xml/manual/diagnostics.xml
index 271477e3712..b9a7048716f 100644
--- a/libstdc++-v3/doc/xml/manual/diagnostics.xml
+++ b/libstdc++-v3/doc/xml/manual/diagnostics.xml
@@ -1,12 +1,11 @@
-<?xml version='1.0'?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
- "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
-[ ]>
-
-<chapter id="std.diagnostics" xreflabel="Diagnostics">
+<chapter xmlns="http://docbook.org/ns/docbook" version="5.0"
+ xml:id="std.diagnostics" xreflabel="Diagnostics">
<?dbhtml filename="diagnostics.html"?>
-<chapterinfo>
+<info><title>
+ Diagnostics
+ <indexterm><primary>Diagnostics</primary></indexterm>
+</title>
<keywordset>
<keyword>
ISO C++
@@ -15,19 +14,16 @@
library
</keyword>
</keywordset>
-</chapterinfo>
+</info>
+
-<title>
- Diagnostics
- <indexterm><primary>Diagnostics</primary></indexterm>
-</title>
-<sect1 id="std.diagnostics.exceptions" xreflabel="Exceptions">
+<section xml:id="std.diagnostics.exceptions" xreflabel="Exceptions"><info><title>Exceptions</title></info>
<?dbhtml filename="exceptions.html"?>
- <title>Exceptions</title>
+
- <sect2 id="std.diagnostics.exceptions.api">
- <title>API Reference</title>
+ <section xml:id="std.diagnostics.exceptions.api"><info><title>API Reference</title></info>
+
<para>
All exception objects are defined in one of the standard header
files: <filename>exception</filename>,
@@ -53,9 +49,9 @@
<!-- Doxygen XML: api/group__exceptions.xml -->
- </sect2>
- <sect2 id="std.diagnostics.exceptions.data" xreflabel="Adding Data to Exceptions">
- <title>Adding Data to <classname>exception</classname></title>
+ </section>
+ <section xml:id="std.diagnostics.exceptions.data" xreflabel="Adding Data to Exceptions"><info><title>Adding Data to <classname>exception</classname></title></info>
+
<para>
The standard exception classes carry with them a single string as
data (usually describing what went wrong or where the 'throw' took
@@ -76,11 +72,11 @@
};
</programlisting>
- </sect2>
-</sect1>
+ </section>
+</section>
-<sect1 id="std.diagnostics.concept_checking" xreflabel="Concept Checking">
- <title>Concept Checking</title>
+<section xml:id="std.diagnostics.concept_checking" xreflabel="Concept Checking"><info><title>Concept Checking</title></info>
+
<para>
In 1999, SGI added <quote>concept checkers</quote> to their
implementation of the STL: code which checked the template
@@ -88,7 +84,7 @@
that the parameters being used met the requirements of the
standard. For example, the Standard requires that types passed as
template parameters to <classname>vector</classname> be
- &quot;Assignable&quot; (which means what you think it means). The
+ "Assignable" (which means what you think it means). The
checking was done during compilation, and none of the code was
executed at runtime.
</para>
@@ -101,8 +97,8 @@
The primary author of the checking code, Jeremy Siek, had already
started work on a replacement implementation. The new code has been
formally reviewed and accepted into
- <ulink url="http://www.boost.org/libs/concept_check/concept_check.htm">the
- Boost libraries</ulink>, and we are pleased to incorporate it into the
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.boost.org/libs/concept_check/concept_check.htm">the
+ Boost libraries</link>, and we are pleased to incorporate it into the
GNU C++ library.
</para>
<para>
@@ -126,6 +122,6 @@
checking described above.
</para>
-</sect1>
+</section>
</chapter>
diff --git a/libstdc++-v3/doc/xml/manual/evolution.xml b/libstdc++-v3/doc/xml/manual/evolution.xml
index eda00060a66..08876deb18a 100644
--- a/libstdc++-v3/doc/xml/manual/evolution.xml
+++ b/libstdc++-v3/doc/xml/manual/evolution.xml
@@ -1,7 +1,8 @@
-<sect1 id="appendix.porting.api" xreflabel="api">
+<section xmlns="http://docbook.org/ns/docbook" version="5.0"
+ xml:id="appendix.porting.api" xreflabel="api">
<?dbhtml filename="api.html"?>
-<sect1info>
+<info><title>API Evolution and Deprecation History</title>
<keywordset>
<keyword>ISO C++</keyword>
<keyword>api</keyword>
@@ -9,16 +10,16 @@
<keyword>deprecation</keyword>
<keyword>history</keyword>
</keywordset>
-</sect1info>
+</info>
+
-<title>API Evolution and Deprecation History</title>
<para>
A list of user-visible changes, in chronological order
</para>
-<sect2 id="api.rel_300">
-<title><constant>3.0</constant></title>
+<section xml:id="api.rel_300"><info><title><constant>3.0</constant></title></info>
+
<para>
Extensions moved to <filename class="directory">include/ext</filename>.
@@ -39,10 +40,10 @@ deactivates the warning.)
-</sect2>
+</section>
+
+<section xml:id="api.rel_310"><info><title><constant>3.1</constant></title></info>
-<sect2 id="api.rel_310">
-<title><constant>3.1</constant></title>
<para>
</para>
@@ -65,10 +66,10 @@ Extensions to tree data structures added in <filename class="headerfile">ext/rb_
Removal of <filename class="headerfile">ext/tree</filename>, moved to <filename class="headerfile">backward/tree.h</filename>.
</para>
-</sect2>
+</section>
+
+<section xml:id="api.rel_320"><info><title><constant>3.2</constant></title></info>
-<sect2 id="api.rel_320">
-<title><constant>3.2</constant></title>
<para>
</para>
<para>Symbol versioning introduced for shared library.</para>
@@ -89,16 +90,16 @@ Removal of <filename class="headerfile">ext/tree</filename>, moved to <filename
<para>Error handling in iostreams cleaned up, made consistent. </para>
-</sect2>
+</section>
+
+<section xml:id="api.rel_330"><info><title><constant>3.3</constant></title></info>
-<sect2 id="api.rel_330">
-<title><constant>3.3</constant></title>
<para>
</para>
-</sect2>
+</section>
+
+<section xml:id="api.rel_340"><info><title><constant>3.4</constant></title></info>
-<sect2 id="api.rel_340">
-<title><constant>3.4</constant></title>
<para>
</para>
<para>
@@ -161,13 +162,14 @@ _Alloc_traits</code> have been removed.
underlying allocator was not user-configurable.
</para>
-<table frame='all'>
+<table frame="all">
<title>Extension Allocators</title>
-<tgroup cols='4' align='left' colsep='1' rowsep='1'>
-<colspec colname='c1'></colspec>
-<colspec colname='c2'></colspec>
-<colspec colname='c3'></colspec>
-<colspec colname='c4'></colspec>
+
+<tgroup cols="4" align="left" colsep="1" rowsep="1">
+<colspec colname="c1"/>
+<colspec colname="c2"/>
+<colspec colname="c3"/>
+<colspec colname="c4"/>
<thead>
<row>
@@ -225,12 +227,13 @@ _Alloc_traits</code> have been removed.
the first released version of GCC that included the extension allocator.
</para>
-<table frame='all'>
+<table frame="all">
<title>Extension Allocators Continued</title>
-<tgroup cols='3' align='left' colsep='1' rowsep='1'>
-<colspec colname='c1'></colspec>
-<colspec colname='c2'></colspec>
-<colspec colname='c3'></colspec>
+
+<tgroup cols="3" align="left" colsep="1" rowsep="1">
+<colspec colname="c1"/>
+<colspec colname="c2"/>
+<colspec colname="c3"/>
<thead>
<row>
@@ -277,10 +280,10 @@ Extension <filename class="headerfile">ext/demangle.h</filename> added.
</para>
-</sect2>
+</section>
+
+<section xml:id="api.rel_400"><info><title><constant>4.0</constant></title></info>
-<sect2 id="api.rel_400">
-<title><constant>4.0</constant></title>
<para>
</para>
<para>
@@ -300,10 +303,10 @@ Removal of <filename class="headerfile">ext/demangle.h</filename>.
</para>
-</sect2>
+</section>
+
+<section xml:id="api.rel_410"><info><title><constant>4.1</constant></title></info>
-<sect2 id="api.rel_410">
-<title><constant>4.1</constant></title>
<para>
</para>
@@ -324,10 +327,10 @@ types, namespace <code>pb_assoc</code>.
<para> Extension for policy-based <code>basic_string</code> first added: <code>__gnu_cxx::__versa_string</code> in <filename class="headerfile">ext/vstring.h</filename>.
</para>
-</sect2>
+</section>
+
+<section xml:id="api.rel_420"><info><title><constant>4.2</constant></title></info>
-<sect2 id="api.rel_420">
-<title><constant>4.2</constant></title>
<para>
</para>
@@ -360,10 +363,10 @@ __gnu_cxx::__debug</code>.</para>
and <filename class="headerfile">ext/throw_allocator.h</filename>.
</para>
-</sect2>
+</section>
+
+<section xml:id="api.rel_430"><info><title><constant>4.3</constant></title></info>
-<sect2 id="api.rel_430">
-<title><constant>4.3</constant></title>
<para>
</para>
@@ -448,11 +451,11 @@ PCH binary files no longer installed. Instead, the source files are installed.
Namespace pb_ds moved to __gnu_pb_ds.
</para>
-</sect2>
+</section>
+
+<section xml:id="api.rel_440"><info><title><constant>4.4</constant></title></info>
-<sect2 id="api.rel_440">
-<title><constant>4.4</constant></title>
<para>
</para>
@@ -558,10 +561,10 @@ for non-standard pointer types has been added
to <classname>vector</classname>
and <classname>forward_list</classname>.
</para>
-</sect2>
+</section>
+
+<section xml:id="api.rel_450"><info><title><constant>4.5</constant></title></info>
-<sect2 id="api.rel_450">
-<title><constant>4.5</constant></title>
<para>
</para>
@@ -623,6 +626,6 @@ now defaults to zero.
<para> Extensions modified: <filename class="headerfile">ext/throw_allocator.h</filename>.
</para>
-</sect2>
+</section>
-</sect1>
+</section>
diff --git a/libstdc++-v3/doc/xml/manual/extensions.xml b/libstdc++-v3/doc/xml/manual/extensions.xml
index 7fa9a5e36e4..b93c61f1be2 100644
--- a/libstdc++-v3/doc/xml/manual/extensions.xml
+++ b/libstdc++-v3/doc/xml/manual/extensions.xml
@@ -1,12 +1,11 @@
-<?xml version='1.0'?>
-<!DOCTYPE part PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
- "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
-[ ]>
-
-<part id="manual.ext" xreflabel="Extensions">
+<part xmlns="http://docbook.org/ns/docbook" version="5.0"
+ xml:id="manual.ext" xreflabel="Extensions">
<?dbhtml filename="extensions.html"?>
-<partinfo>
+<info><title>
+ Extensions
+ <indexterm><primary>Extensions</primary></indexterm>
+</title>
<keywordset>
<keyword>
ISO C++
@@ -15,15 +14,12 @@
library
</keyword>
</keywordset>
-</partinfo>
+</info>
+
-<title>
- Extensions
- <indexterm><primary>Extensions</primary></indexterm>
-</title>
-<preface>
- <title></title>
+<preface><info><title/></info>
+
<para>
Here we will make an attempt at describing the non-Standard extensions to
the library. Some of these are from SGI's STL, some of these are GNU's,
@@ -32,7 +28,7 @@
<para><emphasis>Before</emphasis> you leap in and use any of these
extensions, be aware of two things:
</para>
-<orderedlist>
+<orderedlist inheritnum="ignore" continuation="restarts">
<listitem>
<para>
Non-Standard means exactly that.
@@ -55,9 +51,9 @@ extensions, be aware of two things:
</preface>
<!-- Chapter 01 : Compile Time Checks -->
-<chapter id="manual.ext.compile_checks" xreflabel="Compile Time Checks">
+<chapter xml:id="manual.ext.compile_checks" xreflabel="Compile Time Checks"><info><title>Compile Time Checks</title></info>
<?dbhtml filename="ext_compile_checks.html"?>
- <title>Compile Time Checks</title>
+
<para>
Also known as concept checking.
</para>
@@ -77,8 +73,8 @@ extensions, be aware of two things:
<para>The primary author of the checking code, Jeremy Siek, had already
started work on a replacement implementation. The new code has been
formally reviewed and accepted into
- <ulink url="http://www.boost.org/libs/concept_check/concept_check.htm">the
- Boost libraries</ulink>, and we are pleased to incorporate it into the
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.boost.org/libs/concept_check/concept_check.htm">the
+ Boost libraries</link>, and we are pleased to incorporate it into the
GNU C++ library.
</para>
<para>The new version imposes a much smaller space overhead on the generated
@@ -104,54 +100,48 @@ extensions, be aware of two things:
</chapter>
<!-- Chapter 02 : Debug Mode -->
-<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
- parse="xml" href="debug_mode.xml">
+<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="debug_mode.xml">
</xi:include>
<!-- Chapter 03 : Parallel Mode -->
-<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
- parse="xml" href="parallel_mode.xml">
+<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="parallel_mode.xml">
</xi:include>
<!-- Chapter 04 : Profile Mode -->
-<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
- parse="xml" href="profile_mode.xml">
+<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="profile_mode.xml">
</xi:include>
<!-- Chapter 05 : Allocators -->
-<chapter id="manual.ext.allocator" xreflabel="Allocators">
+<chapter xml:id="manual.ext.allocator" xreflabel="Allocators"><info><title>Allocators</title></info>
<?dbhtml filename="ext_allocators.html"?>
- <title>Allocators</title>
+
<!-- Section 01 : __mt_alloc -->
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
- parse="xml" href="mt_allocator.xml">
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="mt_allocator.xml">
</xi:include>
<!-- Section 02 : bitmap_allocator -->
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
- parse="xml" href="bitmap_allocator.xml">
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="bitmap_allocator.xml">
</xi:include>
</chapter>
<!-- Chapter 06 : Containers -->
-<chapter id="manual.ext.containers" xreflabel="Containers">
+<chapter xml:id="manual.ext.containers" xreflabel="Containers"><info><title>Containers</title></info>
<?dbhtml filename="ext_containers.html"?>
- <title>Containers</title>
+
<para>
</para>
- <sect1 id="manual.ext.containers.pbds" xreflabel="Policy Based Data Structures">
- <title>Policy Based Data Structures</title>
+ <section xml:id="manual.ext.containers.pbds" xreflabel="Policy Based Data Structures"><info><title>Policy Based Data Structures</title></info>
+
<para>
- <ulink
- url="http://gcc.gnu.org/onlinedocs/libstdc++/ext/pb_ds/index.html">More details here</ulink>.
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/onlinedocs/libstdc++/ext/pb_ds/index.html">More details here</link>.
</para>
- </sect1>
+ </section>
- <sect1 id="manual.ext.containers.sgi" xreflabel="SGI ext">
- <title>HP/SGI</title>
+ <section xml:id="manual.ext.containers.sgi" xreflabel="SGI ext"><info><title>HP/SGI</title></info>
+
<para>
</para>
@@ -173,7 +163,7 @@ extensions, be aware of two things:
<para>There are
versions of single-bit test, set, reset, and flip member functions which
do no range-checking. If we call them member functions of an instantiation
- of &quot;bitset&lt;N&gt;,&quot; then their names and signatures are:
+ of "bitset&lt;N&gt;," then their names and signatures are:
</para>
<programlisting>
bitset&lt;N&gt;&amp; _Unchecked_set (size_t pos);
@@ -196,19 +186,19 @@ extensions, be aware of two things:
resolution calls for range-checking to be done. We'll just wait and see...
</para>
<para>Finally, two additional searching functions have been added. They return
- the index of the first &quot;on&quot; bit, and the index of the first
- &quot;on&quot; bit that is after <code>prev</code>, respectively:
+ the index of the first "on" bit, and the index of the first
+ "on" bit that is after <code>prev</code>, respectively:
</para>
<programlisting>
size_t _Find_first() const;
size_t _Find_next (size_t prev) const;</programlisting>
<para>The same caveat given for the _Unchecked_* functions applies here also.
</para>
- </sect1>
+ </section>
- <sect1 id="manual.ext.containers.deprecated_sgi" xreflabel="SGI ext dep">
- <title>Deprecated HP/SGI</title>
+ <section xml:id="manual.ext.containers.deprecated_sgi" xreflabel="SGI ext dep"><info><title>Deprecated HP/SGI</title></info>
+
<para>
The SGI hashing classes <classname>hash_set</classname> and
@@ -230,8 +220,8 @@ extensions, be aware of two things:
<code>&lt;hash_map&gt;</code> and <code>&lt;hash_set&gt;</code>
are deprecated but available as backwards-compatible extensions,
as discussed further below. <code>&lt;rope&gt;</code> is the
- SGI specialization for large strings (&quot;rope,&quot;
- &quot;large strings,&quot; get it? Love that geeky humor.)
+ SGI specialization for large strings ("rope,"
+ "large strings," get it? Love that geeky humor.)
<code>&lt;slist&gt;</code> is a singly-linked list, for when the
doubly-linked <code>list&lt;&gt;</code> is too much space
overhead, and <code>&lt;rb_tree&gt;</code> exposes the red-black
@@ -240,12 +230,12 @@ extensions, be aware of two things:
</para>
<para>Each of the associative containers map, multimap, set, and multiset
have a counterpart which uses a
- <ulink url="http://www.sgi.com/tech/stl/HashFunction.html">hashing
- function</ulink> to do the arranging, instead of a strict weak ordering
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.sgi.com/tech/stl/HashFunction.html">hashing
+ function</link> to do the arranging, instead of a strict weak ordering
function. The classes take as one of their template parameters a
function object that will return the hash value; by default, an
instantiation of
- <ulink url="http://www.sgi.com/tech/stl/hash.html">hash</ulink>.
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.sgi.com/tech/stl/hash.html">hash</link>.
You should specialize this functor for your class, or define your own,
before trying to use one of the hashing classes.
</para>
@@ -269,13 +259,13 @@ extensions, be aware of two things:
</para>
</blockquote>
- </sect1>
+ </section>
</chapter>
<!-- Chapter 07 : Utilities -->
-<chapter id="manual.ext.util" xreflabel="Utilities">
+<chapter xml:id="manual.ext.util" xreflabel="Utilities"><info><title>Utilities</title></info>
<?dbhtml filename="ext_utilities.html"?>
- <title>Utilities</title>
+
<para>
The &lt;functional&gt; header contains many additional functors
and helper functions, extending section 20.3. They are
@@ -343,9 +333,9 @@ get_temporary_buffer(5, (int*)0);
</chapter>
<!-- Chapter 08 : Algorithms -->
-<chapter id="manual.ext.algorithms" xreflabel="Algorithms">
+<chapter xml:id="manual.ext.algorithms" xreflabel="Algorithms"><info><title>Algorithms</title></info>
<?dbhtml filename="ext_algorithms.html"?>
- <title>Algorithms</title>
+
<para>25.1.6 (count, count_if) is extended with two more versions of count
and count_if. The standard versions return their results. The
additional signatures return void, but take a final parameter by
@@ -381,34 +371,34 @@ get_temporary_buffer(5, (int*)0);
</chapter>
<!-- Chapter 09 : Numerics -->
-<chapter id="manual.ext.numerics" xreflabel="Numerics">
+<chapter xml:id="manual.ext.numerics" xreflabel="Numerics"><info><title>Numerics</title></info>
<?dbhtml filename="ext_numerics.html"?>
- <title>Numerics</title>
+
<para>26.4, the generalized numeric operations such as accumulate, are extended
with the following functions:
</para>
<programlisting>
power (x, n);
power (x, n, moniod_operation);</programlisting>
-<para>Returns, in FORTRAN syntax, &quot;x ** n&quot; where n&gt;=0. In the
+<para>Returns, in FORTRAN syntax, "x ** n" where n&gt;=0. In the
case of n == 0, returns the identity element for the
monoid operation. The two-argument signature uses multiplication (for
- a true &quot;power&quot; implementation), but addition is supported as well.
+ a true "power" implementation), but addition is supported as well.
The operation functor must be associative.
</para>
<para>The <code>iota</code> function wins the award for Extension With the
- Coolest Name. It &quot;assigns sequentially increasing values to a range.
+ Coolest Name. It "assigns sequentially increasing values to a range.
That is, it assigns value to *first, value + 1 to *(first + 1) and so
- on.&quot; Quoted from SGI documentation.
+ on." Quoted from SGI documentation.
</para>
<programlisting>
void iota(_ForwardIter first, _ForwardIter last, _Tp value);</programlisting>
</chapter>
<!-- Chapter 10 : Iterators -->
-<chapter id="manual.ext.iterators" xreflabel="Iterators">
+<chapter xml:id="manual.ext.iterators" xreflabel="Iterators"><info><title>Iterators</title></info>
<?dbhtml filename="ext_iterators.html"?>
- <title>Iterators</title>
+
<para>24.3.2 describes <code>struct iterator</code>, which didn't exist in the
original HP STL implementation (the language wasn't rich enough at the
time). For backwards compatibility, base classes are provided which
@@ -430,17 +420,17 @@ get_temporary_buffer(5, (int*)0);
</chapter>
<!-- Chapter 11 : IO -->
-<chapter id="manual.ext.io" xreflabel="IO">
+<chapter xml:id="manual.ext.io" xreflabel="IO"><info><title>Input and Output</title></info>
<?dbhtml filename="ext_io.html"?>
- <title>Input and Output</title>
+
<para>
Extensions allowing <code>filebuf</code>s to be constructed from
"C" types like FILE*s and file descriptors.
</para>
- <sect1 id="manual.ext.io.filebuf_derived" xreflabel="Derived filebufs">
- <title>Derived filebufs</title>
+ <section xml:id="manual.ext.io.filebuf_derived" xreflabel="Derived filebufs"><info><title>Derived filebufs</title></info>
+
<para>The v2 library included non-standard extensions to construct
<code>std::filebuf</code>s from C stdio types such as
@@ -483,7 +473,7 @@ get_temporary_buffer(5, (int*)0);
the <code>fd()</code> function were removed from the standard
filebuf. Instead, <code>&lt;ext/stdio_filebuf.h&gt;</code> contains
a derived class called
- <ulink url="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00074.html"><code>__gnu_cxx::stdio_filebuf</code></ulink>.
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00074.html"><code>__gnu_cxx::stdio_filebuf</code></link>.
This class can be constructed from a C <code>FILE*</code> or a file
descriptor, and provides the <code>fd()</code> function.
</para></listitem>
@@ -496,22 +486,21 @@ get_temporary_buffer(5, (int*)0);
<para>
</para>
- </sect1>
+ </section>
</chapter>
<!-- Chapter 12 : Demangling -->
-<chapter id="manual.ext.demangle" xreflabel="Demangling">
+<chapter xml:id="manual.ext.demangle" xreflabel="Demangling"><info><title>Demangling</title></info>
<?dbhtml filename="ext_demangling.html"?>
- <title>Demangling</title>
+
<para>
Transforming C++ ABI identifiers (like RTTI symbols) into the
original C++ source identifiers is called
<quote>demangling.</quote>
</para>
<para>
- If you have read the <ulink
- url="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a01115.html">source
- documentation for <code>namespace abi</code></ulink> then you are
+ If you have read the <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a01115.html">source
+ documentation for <code>namespace abi</code></link> then you are
aware of the cross-vendor C++ ABI in use by GCC. One of the
exposed functions is used for demangling,
<code>abi::__cxa_demangle</code>.
@@ -586,8 +575,7 @@ int main()
</chapter>
<!-- Chapter 13 : Concurrency -->
-<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
- parse="xml" href="concurrency_extensions.xml">
+<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="concurrency_extensions.xml">
</xi:include>
</part>
diff --git a/libstdc++-v3/doc/xml/manual/internals.xml b/libstdc++-v3/doc/xml/manual/internals.xml
index 63664cea3f1..72af0b835c8 100644
--- a/libstdc++-v3/doc/xml/manual/internals.xml
+++ b/libstdc++-v3/doc/xml/manual/internals.xml
@@ -1,7 +1,8 @@
-<sect1 id="appendix.porting.internals" xreflabel="Portin Internals">
+<section xmlns="http://docbook.org/ns/docbook" version="5.0"
+ xml:id="appendix.porting.internals" xreflabel="Portin Internals">
<?dbhtml filename="internals.html"?>
-<sect1info>
+<info><title>Porting to New Hardware or Operating Systems</title>
<keywordset>
<keyword>
ISO C++
@@ -10,9 +11,9 @@
internals
</keyword>
</keywordset>
-</sect1info>
+</info>
+
-<title>Porting to New Hardware or Operating Systems</title>
<para>
</para>
@@ -45,8 +46,8 @@ a "host." The comment at the top of <code>configure.ac</code> explains why.)
</para>
-<sect2 id="internals.os">
-<title>Operating System</title>
+<section xml:id="internals.os"><info><title>Operating System</title></info>
+
<para>If you are porting to a new operating system (as opposed to a new chip
using an existing operating system), you will need to create a new
@@ -151,11 +152,11 @@ this:
<para>We recommend copying an existing <code>os_defines.h</code> to use as a
starting point.
</para>
-</sect2>
+</section>
-<sect2 id="internals.cpu">
-<title>CPU</title>
+<section xml:id="internals.cpu"><info><title>CPU</title></info>
+
<para>If you are porting to a new chip (as opposed to a new operating system
running on an existing chip), you will need to create a new directory in the
@@ -183,11 +184,11 @@ example, <code>alpha</code>, <code>alphaev5</code>, and <code>alphaev6</code> al
appropriate for your chip.
</para>
-</sect2>
+</section>
+
+<section xml:id="internals.char_types"><info><title>Character Types</title></info>
-<sect2 id="internals.char_types">
-<title>Character Types</title>
<para>The library requires that you provide three header files to implement
character classification, analogous to that provided by the C libraries
@@ -399,11 +400,11 @@ from <code>__low</code> up until <code>__high</code> into the vector given by
}
</programlisting>
-</sect2>
+</section>
-<sect2 id="internals.thread_safety">
-<title>Thread Safety</title>
+<section xml:id="internals.thread_safety"><info><title>Thread Safety</title></info>
+
<para>The C++ library string functionality requires a couple of atomic
operations to provide thread-safety. If you don't take any special
@@ -482,11 +483,11 @@ must be equivalent to those provided here, but using atomic operations:
}
</programlisting>
-</sect2>
+</section>
+
+<section xml:id="internals.numeric_limits"><info><title>Numeric Limits</title></info>
-<sect2 id="internals.numeric_limits">
-<title>Numeric Limits</title>
<para>The C++ library requires information about the fundamental data types,
such as the minimum and maximum representable values of each type.
@@ -504,11 +505,11 @@ To take that approach, create a new file called <code>cpu_limits.h</code> in
your CPU configuration directory (see <link linkend="internals.cpu">CPU</link>).
</para>
-</sect2>
+</section>
+
+<section xml:id="internals.libtool"><info><title>Libtool</title></info>
-<sect2 id="internals.libtool">
-<title>Libtool</title>
<para>The C++ library is compiled, archived and linked with libtool.
Explaining the full workings of libtool is beyond the scope of this
@@ -543,6 +544,6 @@ operating system.
</para>
-</sect2>
+</section>
-</sect1>
+</section>
diff --git a/libstdc++-v3/doc/xml/manual/intro.xml b/libstdc++-v3/doc/xml/manual/intro.xml
index a6dff4daf15..705119b6d3e 100644
--- a/libstdc++-v3/doc/xml/manual/intro.xml
+++ b/libstdc++-v3/doc/xml/manual/intro.xml
@@ -1,12 +1,10 @@
-<?xml version='1.0'?>
-<!DOCTYPE part PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
- "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
-[ ]>
-
-<part id="manual.intro" xreflabel="Introduction">
+<part xmlns="http://docbook.org/ns/docbook" version="5.0" xml:id="manual.intro" xreflabel="Introduction">
<?dbhtml filename="intro.html"?>
-<partinfo>
+<info><title>
+ Introduction
+ <indexterm><primary>Introduction</primary></indexterm>
+</title>
<keywordset>
<keyword>
ISO C++
@@ -15,75 +13,65 @@
library
</keyword>
</keywordset>
-</partinfo>
+</info>
+
-<title>
- Introduction
- <indexterm><primary>Introduction</primary></indexterm>
-</title>
<!-- Chapter 01 : Status -->
-<chapter id="manual.intro.status" xreflabel="Status">
+<chapter xml:id="manual.intro.status" xreflabel="Status"><info><title>Status</title></info>
<?dbhtml filename="status.html"?>
- <title>Status</title>
+
<!-- Section 01 : Implementation Status -->
- <sect1 id="manual.intro.status.iso" xreflabel="Status">
- <title>Implementation Status</title>
+ <section xml:id="manual.intro.status.iso" xreflabel="Status"><info><title>Implementation Status</title></info>
+
<!-- Section 01.1 : Status C++ 1998 -->
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
- parse="xml" href="status_cxx1998.xml">
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="status_cxx1998.xml">
</xi:include>
<!-- Section 01.2 : Status C++ 200x -->
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
- parse="xml" href="status_cxx200x.xml">
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="status_cxx200x.xml">
</xi:include>
<!-- Section 01.3 : Status C++ TR1 -->
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
- parse="xml" href="status_cxxtr1.xml">
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="status_cxxtr1.xml">
</xi:include>
<!-- Section 01.4 : Status C++ TR24733 -->
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
- parse="xml" href="status_cxxtr24733.xml">
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="status_cxxtr24733.xml">
</xi:include>
- </sect1>
+ </section>
<!-- Section 02 : License -->
- <sect1 id="manual.intro.status.license" xreflabel="License">
+ <section xml:id="manual.intro.status.license" xreflabel="License"><info><title>License</title></info>
<?dbhtml filename="license.html"?>
- <title>License</title>
+
<para>
There are two licenses affecting GNU libstdc++: one for the code,
and one for the documentation.
</para>
<para>
- There is a license section in the FAQ regarding common <link
- linkend="faq.license">questions</link>. If you have more
- questions, ask the FSF or the <ulink
- url="http://gcc.gnu.org/lists.html">gcc mailing list</ulink>.
+ There is a license section in the FAQ regarding common <link linkend="faq.license">questions</link>. If you have more
+ questions, ask the FSF or the <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/lists.html">gcc mailing list</link>.
</para>
- <sect2 id="manual.intro.status.license.gpl" xreflabel="License GPL">
- <title>The Code: GPL</title>
+ <section xml:id="manual.intro.status.license.gpl" xreflabel="License GPL"><info><title>The Code: GPL</title></info>
+
<para>
- The source code is distributed under the <link
- linkend="appendix.gpl-3.0">GNU General Public License version 3</link>,
+ The source code is distributed under the <link linkend="appendix.gpl-3.0">GNU General Public License version 3</link>,
with the addition under section 7 of an exception described in
the <quote>GCC Runtime Library Exception, version 3.1</quote>
as follows (or see the file COPYING.RUNTIME):
</para>
- <literallayout>
+ <literallayout class="normal">
GCC RUNTIME LIBRARY EXCEPTION
Version 3.1, 31 March 2009
-Copyright (C) 2009 <ulink url="http://www.fsf.org">Free Software Foundation, Inc.</ulink>
+Copyright (C) 2009 <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.fsf.org">Free Software Foundation, Inc.</link>
Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.
@@ -157,10 +145,10 @@ requirements of the license of GCC.
Hopefully that text is self-explanatory. If it isn't, you need to speak
to your lawyer, or the Free Software Foundation.
</para>
- </sect2>
+ </section>
- <sect2 id="manual.intro.status.license.fdl" xreflabel="License FDL">
- <title>The Documentation: GPL, FDL</title>
+ <section xml:id="manual.intro.status.license.fdl" xreflabel="License FDL"><info><title>The Documentation: GPL, FDL</title></info>
+
<para>
The documentation shipped with the library and made available over
@@ -182,27 +170,26 @@ requirements of the license of GCC.
If you plan on making copies of the documentation, please let us know.
We can probably offer suggestions.
</para>
- </sect2>
+ </section>
- </sect1>
+ </section>
<!-- Section 03 : Known Bugs -->
- <sect1 id="manual.intro.status.bugs" xreflabel="Bugs">
+ <section xml:id="manual.intro.status.bugs" xreflabel="Bugs"><info><title>Bugs</title></info>
<?dbhtml filename="bugs.html"?>
- <title>Bugs</title>
+
- <sect2 id="manual.intro.status.bugs.impl" xreflabel="Bugs impl">
- <title>Implementation Bugs</title>
+ <section xml:id="manual.intro.status.bugs.impl" xreflabel="Bugs impl"><info><title>Implementation Bugs</title></info>
+
<para>
Information on known bugs, details on efforts to fix them, and
- fixed bugs are all available as part of the <ulink
- url="http://gcc.gnu.org/bugs/">GCC bug tracking system</ulink>,
+ fixed bugs are all available as part of the <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/bugs/">GCC bug tracking system</link>,
with the category set to <literal>libstdc++</literal>.
</para>
- </sect2>
+ </section>
- <sect2 id="manual.intro.status.bugs.iso" xreflabel="Bugs iso">
- <title>Standard Bugs</title>
+ <section xml:id="manual.intro.status.bugs.iso" xreflabel="Bugs iso"><info><title>Standard Bugs</title></info>
+
<para>
Everybody's got issues. Even the C++ Standard Library.
</para>
@@ -216,10 +203,10 @@ requirements of the license of GCC.
Here are the issues which have resulted in code changes to the library.
The links are to the specific defect reports from a <emphasis>partial
copy</emphasis> of the Issues List. You can read the full version online
- at the <ulink url="http://www.open-std.org/jtc1/sc22/wg21/">ISO C++
- Committee homepage</ulink>, linked to on the
- <ulink url="http://gcc.gnu.org/readings.html">GCC &quot;Readings&quot;
- page</ulink>. If
+ at the <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/">ISO C++
+ Committee homepage</link>, linked to on the
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/readings.html">GCC "Readings"
+ page</link>. If
you spend a lot of time reading the issues, we recommend downloading
the ZIP file and reading them locally.
</para>
@@ -237,116 +224,116 @@ requirements of the license of GCC.
and src directories for appearances of
<constant>_GLIBCXX_RESOLVE_LIB_DEFECTS</constant> for examples
of style. Note that we usually do not make changes to the
- code until an issue has reached <ulink url="../ext/lwg-active.html#DR">DR</ulink> status.
+ code until an issue has reached <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-active.html#DR">DR</link> status.
</para>
<variablelist>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#5">5</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#5">5</link>:
<emphasis>string::compare specification questionable</emphasis>
</term>
<listitem><para>This should be two overloaded functions rather than a single function.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#17">17</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#17">17</link>:
<emphasis>Bad bool parsing</emphasis>
</term>
<listitem><para>Apparently extracting Boolean values was messed up...
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#19">19</ulink>:
- <emphasis>&quot;Noconv&quot; definition too vague</emphasis>
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#19">19</link>:
+ <emphasis>"Noconv" definition too vague</emphasis>
</term>
<listitem><para>If <code>codecvt::do_in</code> returns <code>noconv</code> there are
no changes to the values in <code>[to, to_limit)</code>.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#22">22</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#22">22</link>:
<emphasis>Member open vs flags</emphasis>
</term>
<listitem><para>Re-opening a file stream does <emphasis>not</emphasis> clear the state flags.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#23">23</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#23">23</link>:
<emphasis>Num_get overflow result</emphasis>
</term>
<listitem><para>Implement the proposed resolution.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#25">25</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#25">25</link>:
<emphasis>String operator&lt;&lt; uses width() value wrong</emphasis>
</term>
<listitem><para>Padding issues.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#48">48</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#48">48</link>:
<emphasis>Use of non-existent exception constructor</emphasis>
</term>
<listitem><para>An instance of <code>ios_base::failure</code> is constructed instead.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#49">49</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#49">49</link>:
<emphasis>Underspecification of ios_base::sync_with_stdio</emphasis>
</term>
<listitem><para>The return type is the <emphasis>previous</emphasis> state of synchronization.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#50">50</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#50">50</link>:
<emphasis>Copy constructor and assignment operator of ios_base</emphasis>
</term>
<listitem><para>These members functions are declared <code>private</code> and are
thus inaccessible. Specifying the correct semantics of
- &quot;copying stream state&quot; was deemed too complicated.
+ "copying stream state" was deemed too complicated.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#60">60</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#60">60</link>:
<emphasis>What is a formatted input function?</emphasis>
</term>
<listitem><para>This DR made many widespread changes to <code>basic_istream</code>
and <code>basic_ostream</code> all of which have been implemented.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#63">63</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#63">63</link>:
<emphasis>Exception-handling policy for unformatted output</emphasis>
</term>
<listitem><para>Make the policy consistent with that of formatted input, unformatted
input, and formatted output.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#68">68</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#68">68</link>:
<emphasis>Extractors for char* should store null at end</emphasis>
</term>
<listitem><para>And they do now. An editing glitch in the last item in the list of
[27.6.1.2.3]/7.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#74">74</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#74">74</link>:
<emphasis>Garbled text for codecvt::do_max_length</emphasis>
</term>
<listitem><para>The text of the standard was gibberish. Typos gone rampant.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#75">75</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#75">75</link>:
<emphasis>Contradiction in codecvt::length's argument types</emphasis>
</term>
<listitem><para>Change the first parameter to <code>stateT&amp;</code> and implement
the new effects paragraph.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#83">83</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#83">83</link>:
<emphasis>string::npos vs. string::max_size()</emphasis>
</term>
<listitem><para>Safety checks on the size of the string should test against
<code>max_size()</code> rather than <code>npos</code>.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#90">90</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#90">90</link>:
<emphasis>Incorrect description of operator&gt;&gt; for strings</emphasis>
</term>
<listitem><para>The effect contain <code>isspace(c,getloc())</code> which must be
replaced by <code>isspace(c,is.getloc())</code>.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#91">91</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#91">91</link>:
<emphasis>Description of operator&gt;&gt; and getline() for string&lt;&gt;
might cause endless loop</emphasis>
</term>
@@ -355,7 +342,7 @@ requirements of the license of GCC.
not required to set <code>gcount</code>).
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#103">103</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#103">103</link>:
<emphasis>set::iterator is required to be modifiable, but this allows
modification of keys.</emphasis>
</term>
@@ -364,14 +351,14 @@ requirements of the license of GCC.
</code> are constant iterators.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#109">109</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#109">109</link>:
<emphasis>Missing binders for non-const sequence elements</emphasis>
</term>
<listitem><para>The <code>binder1st</code> and <code>binder2nd</code> didn't have an
<code>operator()</code> taking a non-const parameter.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#110">110</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#110">110</link>:
<emphasis>istreambuf_iterator::equal not const</emphasis>
</term>
<listitem><para>This was not a const member function. Note that the DR says to
@@ -379,31 +366,31 @@ requirements of the license of GCC.
overloaded version with identical contents.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#117">117</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#117">117</link>:
<emphasis>basic_ostream uses nonexistent num_put member functions</emphasis>
</term>
<listitem><para><code>num_put::put()</code> was overloaded on the wrong types.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#118">118</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#118">118</link>:
<emphasis>basic_istream uses nonexistent num_get member functions</emphasis>
</term>
<listitem><para>Same as 117, but for <code>num_get::get()</code>.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#129">129</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#129">129</link>:
<emphasis>Need error indication from seekp() and seekg()</emphasis>
</term>
<listitem><para>These functions set <code>failbit</code> on error now.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#130">130</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#130">130</link>:
<emphasis>Return type of container::erase(iterator) differs for associative containers</emphasis>
</term>
<listitem><para>Make member <code>erase</code> return iterator for <code>set</code>, <code>multiset</code>, <code>map</code>, <code>multimap</code>.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#136">136</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#136">136</link>:
<emphasis>seekp, seekg setting wrong streams?</emphasis>
</term>
<listitem><para><code>seekp</code> should only set the output stream, and
@@ -417,46 +404,46 @@ requirements of the license of GCC.
should probably not be calling <code>underflow()</code>.
</para></listitem></varlistentry> -->
- <varlistentry><term><ulink url="../ext/lwg-defects.html#167">167</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#167">167</link>:
<emphasis>Improper use of traits_type::length()</emphasis>
</term>
<listitem><para><code>op&lt;&lt;</code> with a <code>const char*</code> was
calculating an incorrect number of characters to write.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#169">169</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#169">169</link>:
<emphasis>Bad efficiency of overflow() mandated</emphasis>
</term>
<listitem><para>Grow efficiently the internal array object.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#171">171</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#171">171</link>:
<emphasis>Strange seekpos() semantics due to joint position</emphasis>
</term>
<listitem><para>Quite complex to summarize...
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#181">181</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#181">181</link>:
<emphasis>make_pair() unintended behavior</emphasis>
</term>
<listitem><para>This function used to take its arguments as reference-to-const, now
it copies them (pass by value).
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#195">195</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#195">195</link>:
<emphasis>Should basic_istream::sentry's constructor ever set eofbit?</emphasis>
</term>
<listitem><para>Yes, it can, specifically if EOF is reached while skipping whitespace.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#211">211</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#211">211</link>:
<emphasis>operator&gt;&gt;(istream&amp;, string&amp;) doesn't set failbit</emphasis>
</term>
<listitem><para>If nothing is extracted into the string, <code>op&gt;&gt;</code> now
sets <code>failbit</code> (which can cause an exception, etc., etc.).
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#214">214</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#214">214</link>:
<emphasis>set::find() missing const overload</emphasis>
</term>
<listitem><para>Both <code>set</code> and <code>multiset</code> were missing
@@ -464,47 +451,47 @@ requirements of the license of GCC.
for const instances.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#231">231</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#231">231</link>:
<emphasis>Precision in iostream?</emphasis>
</term>
<listitem><para>For conversion from a floating-point type, <code>str.precision()</code>
is specified in the conversion specification.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#233">233</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#233">233</link>:
<emphasis>Insertion hints in associative containers</emphasis>
</term>
<listitem><para>Implement N1780, first check before then check after, insert as close
to hint as possible.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#235">235</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#235">235</link>:
<emphasis>No specification of default ctor for reverse_iterator</emphasis>
</term>
<listitem><para>The declaration of <code>reverse_iterator</code> lists a default constructor.
However, no specification is given what this constructor should do.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#241">241</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#241">241</link>:
<emphasis>Does unique_copy() require CopyConstructible and Assignable?</emphasis>
</term>
<listitem><para>Add a helper for forward_iterator/output_iterator, fix the existing
one for input_iterator/output_iterator to not rely on Assignability.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#243">243</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#243">243</link>:
<emphasis>get and getline when sentry reports failure</emphasis>
</term>
<listitem><para>Store a null character only if the character array has a non-zero size.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#251">251</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#251">251</link>:
<emphasis>basic_stringbuf missing allocator_type</emphasis>
</term>
<listitem><para>This nested typedef was originally not specified.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#253">253</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#253">253</link>:
<emphasis>valarray helper functions are almost entirely useless</emphasis>
</term>
<listitem><para>Make the copy constructor and copy-assignment operator declarations
@@ -512,60 +499,60 @@ requirements of the license of GCC.
definitions.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#265">265</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#265">265</link>:
<emphasis>std::pair::pair() effects overly restrictive</emphasis>
</term>
<listitem><para>The default ctor would build its members from copies of temporaries;
now it simply uses their respective default ctors.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#266">266</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#266">266</link>:
<emphasis>bad_exception::~bad_exception() missing Effects clause</emphasis>
</term>
<listitem><para>The <code>bad_</code>* classes no longer have destructors (they
are trivial), since no description of them was ever given.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#271">271</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#271">271</link>:
<emphasis>basic_iostream missing typedefs</emphasis>
</term>
<listitem><para>The typedefs it inherits from its base classes can't be used, since
(for example) <code>basic_iostream&lt;T&gt;::traits_type</code> is ambiguous.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#275">275</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#275">275</link>:
<emphasis>Wrong type in num_get::get() overloads</emphasis>
</term>
<listitem><para>Similar to 118.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#280">280</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#280">280</link>:
<emphasis>Comparison of reverse_iterator to const reverse_iterator</emphasis>
</term>
<listitem><para>Add global functions with two template parameters.
(NB: not added for now a templated assignment operator)
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#292">292</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#292">292</link>:
<emphasis>Effects of a.copyfmt (a)</emphasis>
</term>
<listitem><para>If <code>(this == &amp;rhs)</code> do nothing.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#300">300</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#300">300</link>:
<emphasis>List::merge() specification incomplete</emphasis>
</term>
<listitem><para>If <code>(this == &amp;x)</code> do nothing.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#303">303</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#303">303</link>:
<emphasis>Bitset input operator underspecified</emphasis>
</term>
<listitem><para>Basically, compare the input character to
<code>is.widen(0)</code> and <code>is.widen(1)</code>.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#305">305</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#305">305</link>:
<emphasis>Default behavior of codecvt&lt;wchar_t, char,
mbstate_t&gt;::length()</emphasis>
</term>
@@ -573,20 +560,20 @@ requirements of the license of GCC.
mbstate_t&gt;::do_length</code> must return.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#328">328</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#328">328</link>:
<emphasis>Bad sprintf format modifier in
money_put&lt;&gt;::do_put()</emphasis>
</term>
- <listitem><para>Change the format string to &quot;%.0Lf&quot;.
+ <listitem><para>Change the format string to "%.0Lf".
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#365">365</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#365">365</link>:
<emphasis>Lack of const-qualification in clause 27</emphasis>
</term>
<listitem><para>Add const overloads of <code>is_open</code>.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#387">387</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#387">387</link>:
<emphasis>std::complex over-encapsulated</emphasis>
</term>
<listitem><para>Add the <code>real(T)</code> and <code>imag(T)</code>
@@ -595,26 +582,26 @@ requirements of the license of GCC.
free functions.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#389">389</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#389">389</link>:
<emphasis>Const overload of valarray::operator[] returns
by value</emphasis>
</term>
<listitem><para>Change it to return a <code>const T&amp;</code>.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#396">396</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#396">396</link>:
<emphasis>what are characters zero and one</emphasis>
</term>
<listitem><para>Implement the proposed resolution.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#402">402</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#402">402</link>:
<emphasis>Wrong new expression in [some_]allocator::construct</emphasis>
</term>
- <listitem><para>Replace &quot;new&quot; with &quot;::new&quot;.
+ <listitem><para>Replace "new" with "::new".
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-active.html#408">408</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-active.html#408">408</link>:
<emphasis>
Is vector&lt;reverse_iterator&lt;char*&gt; &gt; forbidden?
</emphasis>
@@ -622,76 +609,76 @@ requirements of the license of GCC.
<listitem><para>Tweak the debug-mode checks in _Safe_iterator.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#409">409</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#409">409</link>:
<emphasis>Closing an fstream should clear the error state</emphasis>
</term>
<listitem><para>Have <code>open</code> clear the error flags.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-closed.html#431">431</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-closed.html#431">431</link>:
<emphasis>Swapping containers with unequal allocators</emphasis>
</term>
<listitem><para>Implement Option 3, as per N1599.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#432">432</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#432">432</link>:
<emphasis>stringbuf::overflow() makes only one write position
available</emphasis>
</term>
<listitem><para>Implement the resolution, beyond DR 169.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#434">434</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#434">434</link>:
<emphasis>bitset::to_string() hard to use</emphasis>
</term>
<listitem><para>Add three overloads, taking fewer template arguments.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#438">438</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#438">438</link>:
<emphasis>Ambiguity in the "do the right thing" clause</emphasis>
</term>
<listitem><para>Implement the resolution, basically cast less.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#453">453</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#453">453</link>:
<emphasis>basic_stringbuf::seekoff need not always fail for an empty stream</emphasis>
</term>
<listitem><para>Don't fail if the next pointer is null and newoff is zero.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#455">455</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#455">455</link>:
<emphasis>cerr::tie() and wcerr::tie() are overspecified</emphasis>
</term>
<listitem><para>Initialize cerr tied to cout and wcerr tied to wcout.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#464">464</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#464">464</link>:
<emphasis>Suggestion for new member functions in standard containers</emphasis>
</term>
<listitem><para>Add <code>data()</code> to <code>std::vector</code> and
<code>at(const key_type&amp;)</code> to <code>std::map</code>.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#508">508</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#508">508</link>:
<emphasis>Bad parameters for ranlux64_base_01</emphasis>
</term>
<listitem><para>Fix the parameters.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-closed.html#512">512</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-closed.html#512">512</link>:
<emphasis>Seeding subtract_with_carry_01 from a single unsigned long</emphasis>
</term>
<listitem><para>Construct a <code>linear_congruential</code> engine and seed with it.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-closed.html#526">526</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-closed.html#526">526</link>:
<emphasis>Is it undefined if a function in the standard changes in
parameters?</emphasis>
</term>
<listitem><para>Use &amp;value.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#538">538</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#538">538</link>:
<emphasis>241 again: Does unique_copy() require CopyConstructible
and Assignable?</emphasis>
</term>
@@ -699,7 +686,7 @@ requirements of the license of GCC.
input_iterator' value_type.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-active.html#539">539</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-active.html#539">539</link>:
<emphasis>partial_sum and adjacent_difference should mention
requirements</emphasis>
</term>
@@ -707,116 +694,116 @@ requirements of the license of GCC.
in adjacent_difference.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#541">541</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#541">541</link>:
<emphasis>shared_ptr template assignment and void</emphasis>
</term>
<listitem><para>Add an auto_ptr&lt;void&gt; specialization.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#543">543</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#543">543</link>:
<emphasis>valarray slice default constructor</emphasis>
</term>
<listitem><para>Follow the straightforward proposed resolution.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#550">550</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#550">550</link>:
<emphasis>What should the return type of pow(float,int) be?</emphasis>
</term>
<listitem><para>In C++0x mode, remove the pow(float,int), etc., signatures.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#586">586</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#586">586</link>:
<emphasis>string inserter not a formatted function</emphasis>
</term>
<listitem><para>Change it to be a formatted output function (i.e. catch exceptions).
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#596">596</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#596">596</link>:
<emphasis>27.8.1.3 Table 112 omits "a+" and "a+b" modes</emphasis>
</term>
<listitem><para>Add the missing modes to fopen_mode.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#630">630</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#630">630</link>:
<emphasis>arrays of valarray</emphasis>
</term>
<listitem><para>Implement the simple resolution.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#660">660</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#660">660</link>:
<emphasis>Missing bitwise operations</emphasis>
</term>
<listitem><para>Add the missing operations.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#691">691</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#691">691</link>:
<emphasis>const_local_iterator cbegin, cend missing from TR1</emphasis>
</term>
<listitem><para>In C++0x mode add cbegin(size_type) and cend(size_type)
to the unordered containers.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#693">693</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#693">693</link>:
<emphasis>std::bitset::all() missing</emphasis>
</term>
<listitem><para>Add it, consistently with the discussion.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#695">695</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#695">695</link>:
<emphasis>ctype&lt;char&gt;::classic_table() not accessible</emphasis>
</term>
<listitem><para>Make the member functions table and classic_table public.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#696">696</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#696">696</link>:
<emphasis>istream::operator&gt;&gt;(int&amp;) broken</emphasis>
</term>
<listitem><para>Implement the straightforward resolution.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#761">761</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#761">761</link>:
<emphasis>unordered_map needs an at() member function</emphasis>
</term>
<listitem><para>In C++0x mode, add at() and at() const.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#775">775</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#775">775</link>:
<emphasis>Tuple indexing should be unsigned?</emphasis>
</term>
- <listitem><para>Implement the int -> size_t replacements.
+ <listitem><para>Implement the int -&gt; size_t replacements.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#776">776</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#776">776</link>:
<emphasis>Undescribed assign function of std::array</emphasis>
</term>
<listitem><para>In C++0x mode, remove assign, add fill.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#781">781</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#781">781</link>:
<emphasis>std::complex should add missing C99 functions</emphasis>
</term>
<listitem><para>In C++0x mode, add std::proj.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#809">809</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#809">809</link>:
<emphasis>std::swap should be overloaded for array types</emphasis>
</term>
<listitem><para>Add the overload.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#844">844</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#844">844</link>:
<emphasis>complex pow return type is ambiguous</emphasis>
</term>
<listitem><para>In C++0x mode, remove the pow(complex&lt;T&gt;, int) signature.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-defects.html#853">853</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#853">853</link>:
<emphasis>to_string needs updating with zero and one</emphasis>
</term>
<listitem><para>Update / add the signatures.
</para></listitem></varlistentry>
- <varlistentry><term><ulink url="../ext/lwg-active.html#865">865</ulink>:
+ <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-active.html#865">865</link>:
<emphasis>More algorithms that throw away information</emphasis>
</term>
<listitem><para>The traditional HP / SGI return type and value is blessed
@@ -824,15 +811,15 @@ requirements of the license of GCC.
</para></listitem></varlistentry>
</variablelist>
- </sect2>
- </sect1>
+ </section>
+ </section>
</chapter>
<!-- Chapter 02 : Setup -->
-<chapter id="manual.intro.setup" xreflabel="Setup">
+<chapter xml:id="manual.intro.setup" xreflabel="Setup"><info><title>Setup</title></info>
<?dbhtml filename="setup.html"?>
- <title>Setup</title>
+
<para>To transform libstdc++ sources into installed include files
and properly built binaries useful for linking to other software is
@@ -859,22 +846,20 @@ requirements of the license of GCC.
</para>
<!-- Section 01 : Prerequisites -->
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
- parse="xml" href="prerequisites.xml">
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="prerequisites.xml">
</xi:include>
<!-- Section 02 : Configure -->
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
- parse="xml" href="configure.xml">
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="configure.xml">
</xi:include>
<!-- Section 03 : Make -->
-<sect1 id="manual.intro.setup.make" xreflabel="Make">
+<section xml:id="manual.intro.setup.make" xreflabel="Make"><info><title>Make</title></info>
<?dbhtml filename="make.html"?>
-<title>Make</title>
+
<para>If you have never done this before, you should read the basic
- <ulink url="http://gcc.gnu.org/install/">GCC Installation
- Instructions</ulink> first. Read <emphasis>all of them</emphasis>.
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/install/">GCC Installation
+ Instructions</link> first. Read <emphasis>all of them</emphasis>.
<emphasis>Twice.</emphasis>
</para>
@@ -882,13 +867,12 @@ requirements of the license of GCC.
started to build.
</para>
-</sect1>
+</section>
</chapter>
<!-- Chapter 03 : Using -->
-<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
- parse="xml" href="using.xml">
+<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="using.xml">
</xi:include>
</part>
diff --git a/libstdc++-v3/doc/xml/manual/io.xml b/libstdc++-v3/doc/xml/manual/io.xml
index 13a1d7a47d2..6378313b593 100644
--- a/libstdc++-v3/doc/xml/manual/io.xml
+++ b/libstdc++-v3/doc/xml/manual/io.xml
@@ -1,12 +1,11 @@
-<?xml version='1.0'?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
- "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
-[ ]>
-
-<chapter id="std.io" xreflabel="Input and Output">
+<chapter xmlns="http://docbook.org/ns/docbook" version="5.0"
+ xml:id="std.io" xreflabel="Input and Output">
<?dbhtml filename="io.html"?>
-<chapterinfo>
+<info><title>
+ Input and Output
+ <indexterm><primary>Input and Output</primary></indexterm>
+</title>
<keywordset>
<keyword>
ISO C++
@@ -15,17 +14,14 @@
library
</keyword>
</keywordset>
-</chapterinfo>
+</info>
+
-<title>
- Input and Output
- <indexterm><primary>Input and Output</primary></indexterm>
-</title>
<!-- Sect1 01 : Iostream Objects -->
-<sect1 id="std.io.objects" xreflabel="IO Objects">
+<section xml:id="std.io.objects" xreflabel="IO Objects"><info><title>Iostream Objects</title></info>
<?dbhtml filename="iostream_objects.html"?>
- <title>Iostream Objects</title>
+
<para>To minimize the time you have to wait on the compiler, it's good to
only include the headers you really need. Many people simply include
@@ -35,10 +31,10 @@
</para>
<para><emphasis>&lt;iosfwd&gt;</emphasis> should be included whenever you simply
need the <emphasis>name</emphasis> of an I/O-related class, such as
- &quot;ofstream&quot; or &quot;basic_streambuf&quot;. Like the name
+ "ofstream" or "basic_streambuf". Like the name
implies, these are forward declarations. (A word to all you fellow
old school programmers: trying to forward declare classes like
- &quot;class istream;&quot; won't work. Look in the iosfwd header if
+ "class istream;" won't work. Look in the iosfwd header if
you'd like to know why.) For example,
</para>
<programlisting>
@@ -93,9 +89,9 @@
the various concrete implementations. If you are only using the
interfaces, then you only need to use the appropriate interface header.
</para>
- <para><emphasis>&lt;iomanip&gt;</emphasis> provides &quot;extractors and inserters
+ <para><emphasis>&lt;iomanip&gt;</emphasis> provides "extractors and inserters
that alter information maintained by class ios_base and its derived
- classes,&quot; such as std::setprecision and std::setw. If you need
+ classes," such as std::setprecision and std::setw. If you need
to write expressions like <code>os &lt;&lt; setw(3);</code> or
<code>is &gt;&gt; setbase(8);</code>, you must include &lt;iomanip&gt;.
</para>
@@ -157,24 +153,24 @@
compile times will go down when there's less parsing work to do.
</para>
-</sect1>
+</section>
<!-- Sect1 02 : Stream Buffers -->
-<sect1 id="std.io.streambufs" xreflabel="Stream Buffers">
+<section xml:id="std.io.streambufs" xreflabel="Stream Buffers"><info><title>Stream Buffers</title></info>
<?dbhtml filename="streambufs.html"?>
- <title>Stream Buffers</title>
+
- <sect2 id="io.streambuf.derived" xreflabel="Derived streambuf Classes">
- <title>Derived streambuf Classes</title>
+ <section xml:id="io.streambuf.derived" xreflabel="Derived streambuf Classes"><info><title>Derived streambuf Classes</title></info>
+
<para>
</para>
<para>Creating your own stream buffers for I/O can be remarkably easy.
If you are interested in doing so, we highly recommend two very
excellent books:
- <ulink url="http://www.angelikalanger.com/iostreams.html">Standard C++
- IOStreams and Locales</ulink> by Langer and Kreft, ISBN 0-201-18395-1, and
- <ulink url="http://www.josuttis.com/libbook/">The C++ Standard Library</ulink>
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.angelikalanger.com/iostreams.html">Standard C++
+ IOStreams and Locales</link> by Langer and Kreft, ISBN 0-201-18395-1, and
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.josuttis.com/libbook/">The C++ Standard Library</link>
by Nicolai Josuttis, ISBN 0-201-37926-0. Both are published by
Addison-Wesley, who isn't paying us a cent for saying that, honest.
</para>
@@ -223,14 +219,14 @@
</programlisting>
<para>Try it yourself! More examples can be found in 3.1.x code, in
<code>include/ext/*_filebuf.h</code>, and in this article by James Kanze:
- <ulink url="http://kanze.james.neuf.fr/articles/fltrsbf1.html">Filtering
- Streambufs</ulink>.
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://kanze.james.neuf.fr/articles/fltrsbf1.html">Filtering
+ Streambufs</link>.
</para>
- </sect2>
+ </section>
- <sect2 id="io.streambuf.buffering" xreflabel="Buffering">
- <title>Buffering</title>
+ <section xml:id="io.streambuf.buffering" xreflabel="Buffering"><info><title>Buffering</title></info>
+
<para>First, are you sure that you understand buffering? Chaptericularly
the fact that C++ may not, in fact, have anything to do with it?
</para>
@@ -241,8 +237,8 @@
when the output stream is, in fact, a terminal and not a file
or some other device -- and <emphasis>that</emphasis> may not even be true
since C++ says nothing about files nor terminals. All of that is
- system-dependent. (The &quot;newline-buffer-flushing only occurring
- on terminals&quot; thing is mostly true on Unix systems, though.)
+ system-dependent. (The "newline-buffer-flushing only occurring
+ on terminals" thing is mostly true on Unix systems, though.)
</para>
<para>Some people also believe that sending <code>endl</code> down an
output stream only writes a newline. This is incorrect; after a
@@ -252,17 +248,17 @@
wasted when doing this to a file:
</para>
<programlisting>
- output &lt;&lt; &quot;a line of text&quot; &lt;&lt; endl;
+ output &lt;&lt; "a line of text" &lt;&lt; endl;
output &lt;&lt; some_data_variable &lt;&lt; endl;
- output &lt;&lt; &quot;another line of text&quot; &lt;&lt; endl; </programlisting>
+ output &lt;&lt; "another line of text" &lt;&lt; endl; </programlisting>
<para>The proper thing to do in this case to just write the data out
and let the libraries and the system worry about the buffering.
If you need a newline, just write a newline:
</para>
<programlisting>
- output &lt;&lt; &quot;a line of text\n&quot;
+ output &lt;&lt; "a line of text\n"
&lt;&lt; some_data_variable &lt;&lt; '\n'
- &lt;&lt; &quot;another line of text\n&quot;; </programlisting>
+ &lt;&lt; "another line of text\n"; </programlisting>
<para>I have also joined the output statements into a single statement.
You could make the code prettier by moving the single newline to
the start of the quoted text on the last line, for example.
@@ -289,10 +285,10 @@
os.rdbuf()-&gt;pubsetbuf(0,0);
is.rdbuf()-&gt;pubsetbuf(0,0);
- os.open(&quot;/foo/bar/baz&quot;);
- is.open(&quot;/qux/quux/quuux&quot;);
+ os.open("/foo/bar/baz");
+ is.open("/qux/quux/quuux");
...
- os &lt;&lt; &quot;this data is written immediately\n&quot;;
+ os &lt;&lt; "this data is written immediately\n";
is &gt;&gt; i; // and this will probably cause a disk read </programlisting>
<para>Since all aspects of buffering are handled by a streambuf-derived
member, it is necessary to get at that member with <code>rdbuf()</code>.
@@ -303,8 +299,8 @@
<para>A great deal of this is implementation-dependent. For example,
<code>streambuf</code> does not specify any actions for its own
<code>setbuf()</code>-ish functions; the classes derived from
- <code>streambuf</code> each define behavior that &quot;makes
- sense&quot; for that class: an argument of (0,0) turns off buffering
+ <code>streambuf</code> each define behavior that "makes
+ sense" for that class: an argument of (0,0) turns off buffering
for <code>filebuf</code> but does nothing at all for its siblings
<code>stringbuf</code> and <code>strstreambuf</code>, and specifying
anything other than (0,0) has varying effects.
@@ -320,15 +316,15 @@
changing those are system-dependent.
</para>
- </sect2>
-</sect1>
+ </section>
+</section>
<!-- Sect1 03 : Memory-based Streams -->
-<sect1 id="std.io.memstreams" xreflabel="Memory Streams">
+<section xml:id="std.io.memstreams" xreflabel="Memory Streams"><info><title>Memory Based Streams</title></info>
<?dbhtml filename="stringstreams.html"?>
- <title>Memory Based Streams</title>
- <sect2 id="std.io.memstreams.compat" xreflabel="Compatibility strstream">
- <title>Compatibility With strstream</title>
+
+ <section xml:id="std.io.memstreams.compat" xreflabel="Compatibility strstream"><info><title>Compatibility With strstream</title></info>
+
<para>
</para>
<para>Stringstreams (defined in the header <code>&lt;sstream&gt;</code>)
@@ -360,23 +356,23 @@
<para>If you are a user of the strstream classes, you need to update
your code. You don't have to explicitly append <code>ends</code> to
terminate the C-style character array, you don't have to mess with
- &quot;freezing&quot; functions, and you don't have to manage the
+ "freezing" functions, and you don't have to manage the
memory yourself. The strstreams have been officially deprecated,
which means that 1) future revisions of the C++ Standard won't
support them, and 2) if you use them, people will laugh at you.
</para>
- </sect2>
-</sect1>
+ </section>
+</section>
<!-- Sect1 04 : File-based Streams -->
-<sect1 id="std.io.filestreams" xreflabel="File Streams">
+<section xml:id="std.io.filestreams" xreflabel="File Streams"><info><title>File Based Streams</title></info>
<?dbhtml filename="fstreams.html"?>
- <title>File Based Streams</title>
+
- <sect2 id="std.io.filestreams.copying_a_file" xreflabel="Copying a File">
- <title>Copying a File</title>
+ <section xml:id="std.io.filestreams.copying_a_file" xreflabel="Copying a File"><info><title>Copying a File</title></info>
+
<para>
</para>
@@ -395,13 +391,13 @@
OUT &lt;&lt; IN;</programlisting>
<para>For those of you who don't already know why this doesn't work
(probably from having done it before), I invite you to quickly
- create a simple text file called &quot;input_file&quot; containing
+ create a simple text file called "input_file" containing
the sentence
</para>
<programlisting>
The quick brown fox jumped over the lazy dog.</programlisting>
<para>surrounded by blank lines. Code it up and try it. The contents
- of &quot;output_file&quot; may surprise you.
+ of "output_file" may surprise you.
</para>
<para>Seriously, go do it. Get surprised, then come back. It's worth it.
</para>
@@ -411,7 +407,7 @@
handled by the <code>basic_streambuf</code> family. Fortunately, the
<code>operator&lt;&lt;</code> is overloaded to take an ostream and
a pointer-to-streambuf, in order to help with just this kind of
- &quot;dump the data verbatim&quot; situation.
+ "dump the data verbatim" situation.
</para>
<para>Why a <emphasis>pointer</emphasis> to streambuf and not just a streambuf? Well,
the [io]streams hold pointers (or references, depending on the
@@ -427,7 +423,7 @@
behavior, since that chaptericular &lt;&lt; isn't defined by the Standard.
I have seen instances where it is implemented, but the character
extraction process removes all the whitespace, leaving you with no
- blank lines and only &quot;Thequickbrownfox...&quot;. With
+ blank lines and only "Thequickbrownfox...". With
libraries that do not define that operator, IN (or one of IN's
member pointers) sometimes gets converted to a void*, and the output
file then contains a perfect text representation of a hexadecimal
@@ -439,10 +435,10 @@
descendants.
</para>
- </sect2>
+ </section>
- <sect2 id="std.io.filestreams.binary" xreflabel="Binary Input and Output">
- <title>Binary Input and Output</title>
+ <section xml:id="std.io.filestreams.binary" xreflabel="Binary Input and Output"><info><title>Binary Input and Output</title></info>
+
<para>
</para>
<para>The first and most important thing to remember about binary I/O is
@@ -454,7 +450,7 @@
<para>Sorry. Them's the breaks.
</para>
<para>This isn't going to try and be a complete tutorial on reading and
- writing binary files (because &quot;binary&quot;
+ writing binary files (because "binary"
covers a lot of ground), but we will try and clear
up a couple of misconceptions and common errors.
</para>
@@ -481,7 +477,7 @@
</para>
<para>Third, using the <code>get()</code> and <code>put()/write()</code> member
functions still aren't guaranteed to help you. These are
- &quot;unformatted&quot; I/O functions, but still character-based.
+ "unformatted" I/O functions, but still character-based.
(This may or may not be what you want, see below.)
</para>
<para>Notice how all the problems here are due to the inappropriate use
@@ -558,9 +554,9 @@
<para>
An instructive thread from comp.lang.c++.moderated delved off into
this topic starting more or less at
- <ulink url="http://groups.google.com/group/comp.std.c++/browse_thread/thread/f87b4abd7954a87/946a3eb9921e382d?q=comp.std.c%2B%2B+binary+iostream#946a3eb9921e382d">this</ulink>
- post and continuing to the end of the thread. (The subject heading is &quot;binary iostreams&quot; on both comp.std.c++
- and comp.lang.c++.moderated.) Take special note of the replies by James Kanze and Dietmar K&uuml;hl.
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://groups.google.com/group/comp.std.c++/browse_thread/thread/f87b4abd7954a87/946a3eb9921e382d?q=comp.std.c%2B%2B+binary+iostream#946a3eb9921e382d">this</link>
+ post and continuing to the end of the thread. (The subject heading is "binary iostreams" on both comp.std.c++
+ and comp.lang.c++.moderated.) Take special note of the replies by James Kanze and Dietmar Kühl.
</para>
<para>Briefly, the problems of byte ordering and type sizes mean that
the unformatted functions like <code>ostream::put()</code> and
@@ -569,28 +565,28 @@
invocation of a program to another invocation of the same program
on a different platform, etc.
</para>
- </sect2>
+ </section>
-</sect1>
+</section>
<!-- Sect1 03 : Interacting with C -->
-<sect1 id="std.io.c" xreflabel="Interacting with C">
+<section xml:id="std.io.c" xreflabel="Interacting with C"><info><title>Interacting with C</title></info>
<?dbhtml filename="io_and_c.html"?>
- <title>Interacting with C</title>
+
- <sect2 id="std.io.c.FILE" xreflabel="Using FILE* and file descriptors">
- <title>Using FILE* and file descriptors</title>
+ <section xml:id="std.io.c.FILE" xreflabel="Using FILE* and file descriptors"><info><title>Using FILE* and file descriptors</title></info>
+
<para>
See the <link linkend="manual.ext.io">extensions</link> for using
<type>FILE</type> and <type>file descriptors</type> with
<classname>ofstream</classname> and
<classname>ifstream</classname>.
</para>
- </sect2>
+ </section>
- <sect2 id="std.io.c.sync" xreflabel="Performance Issues">
- <title>Performance</title>
+ <section xml:id="std.io.c.sync" xreflabel="Performance Issues"><info><title>Performance</title></info>
+
<para>
Pathetic Performance? Ditch C.
</para>
@@ -604,9 +600,9 @@
#include &lt;iostream&gt;
#include &lt;cstdio&gt;
- std::cout &lt;&lt; &quot;Hel&quot;;
- std::printf (&quot;lo, worl&quot;);
- std::cout &lt;&lt; &quot;d!\n&quot;;
+ std::cout &lt;&lt; "Hel";
+ std::printf ("lo, worl");
+ std::cout &lt;&lt; "d!\n";
</programlisting>
<para>This must do what you think it does.
</para>
@@ -647,7 +643,7 @@
</para>
- </sect2>
-</sect1>
+ </section>
+</section>
</chapter>
diff --git a/libstdc++-v3/doc/xml/manual/iterators.xml b/libstdc++-v3/doc/xml/manual/iterators.xml
index 86b92a4f54b..bcfa30cd5f9 100644
--- a/libstdc++-v3/doc/xml/manual/iterators.xml
+++ b/libstdc++-v3/doc/xml/manual/iterators.xml
@@ -1,12 +1,11 @@
-<?xml version='1.0'?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
- "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
-[ ]>
-
-<chapter id="std.iterators" xreflabel="Iterators">
+<chapter xmlns="http://docbook.org/ns/docbook" version="5.0"
+ xml:id="std.iterators" xreflabel="Iterators">
<?dbhtml filename="iterators.html"?>
-<chapterinfo>
+<info><title>
+ Iterators
+ <indexterm><primary>Iterators</primary></indexterm>
+</title>
<keywordset>
<keyword>
ISO C++
@@ -15,19 +14,16 @@
library
</keyword>
</keywordset>
-</chapterinfo>
+</info>
+
-<title>
- Iterators
- <indexterm><primary>Iterators</primary></indexterm>
-</title>
<!-- Sect1 01 : Predefined -->
-<sect1 id="std.iterators.predefined" xreflabel="Predefined">
- <title>Predefined</title>
+<section xml:id="std.iterators.predefined" xreflabel="Predefined"><info><title>Predefined</title></info>
+
- <sect2 id="iterators.predefined.vs_pointers" xreflabel="Versus Pointers">
- <title>Iterators vs. Pointers</title>
+ <section xml:id="iterators.predefined.vs_pointers" xreflabel="Versus Pointers"><info><title>Iterators vs. Pointers</title></info>
+
<para>
The following
FAQ <link linkend="faq.iterator_as_pod">entry</link> points out that
@@ -63,7 +59,7 @@ classes.
How much overhead <emphasis>is</emphasis> there when using an
iterator class? Very little. Most of the layering classes
contain nothing but typedefs, and typedefs are
- &quot;meta-information&quot; that simply tell the compiler some
+ "meta-information" that simply tell the compiler some
nicknames; they don't create code. That information gets passed
down through inheritance, so while the compiler has to do work
looking up all the names, your runtime code does not. (This has
@@ -71,10 +67,10 @@ classes.
</para>
- </sect2>
+ </section>
- <sect2 id="iterators.predefined.end" xreflabel="end() Is One Past the End">
- <title>One Past the End</title>
+ <section xml:id="iterators.predefined.end" xreflabel="end() Is One Past the End"><info><title>One Past the End</title></info>
+
<para>This starts off sounding complicated, but is actually very easy,
especially towards the end. Trust me.
@@ -88,7 +84,7 @@ classes.
C and C++ for builtin arrays. The following rules have always been
true for both languages:
</para>
- <orderedlist>
+ <orderedlist inheritnum="ignore" continuation="restarts">
<listitem>
<para>You can point anywhere in the array, <emphasis>or to the first element
past the end of the array</emphasis>. A pointer that points to one
@@ -145,9 +141,9 @@ classes.
</para>
<para>Now think back to your junior-high school algebra course, when you
were learning how to draw graphs. Remember that a graph terminating
- with a solid dot meant, &quot;Everything up through this point,&quot;
- and a graph terminating with an open dot meant, &quot;Everything up
- to, but not including, this point,&quot; respectively called closed
+ with a solid dot meant, "Everything up through this point,"
+ and a graph terminating with an open dot meant, "Everything up
+ to, but not including, this point," respectively called closed
and open ranges? Remember how closed ranges were written with
brackets, <emphasis>[a,b]</emphasis>, and open ranges were written with parentheses,
<emphasis>(a,b)</emphasis>?
@@ -181,8 +177,8 @@ classes.
<para>Just don't dereference <code>end()</code>.
</para>
- </sect2>
-</sect1>
+ </section>
+</section>
<!-- Sect1 02 : Stream -->
diff --git a/libstdc++-v3/doc/xml/manual/locale.xml b/libstdc++-v3/doc/xml/manual/locale.xml
index 234439ae355..dcdd1032284 100644
--- a/libstdc++-v3/doc/xml/manual/locale.xml
+++ b/libstdc++-v3/doc/xml/manual/locale.xml
@@ -1,6 +1,7 @@
-<section id="std.localization.locales.locale" xreflabel="Locale">
+<section xmlns="http://docbook.org/ns/docbook" version="5.0"
+ xml:id="std.localization.locales.locale" xreflabel="Locale">
-<sectioninfo>
+<info><title>locale</title>
<keywordset>
<keyword>
ISO C++
@@ -9,9 +10,9 @@
locale
</keyword>
</keywordset>
-</sectioninfo>
+</info>
+
-<title>locale</title>
<para>
Describes the basic locale object, including nested
@@ -19,8 +20,8 @@ classes id, facet, and the reference-counted implementation object,
class _Impl.
</para>
-<section id="locales.locale.req">
-<title>Requirements</title>
+<section xml:id="locales.locale.req"><info><title>Requirements</title></info>
+
<para>
Class locale is non-templatized and has two distinct types nested
@@ -89,8 +90,8 @@ Provides an index for looking up specific facets.
</para>
</section>
-<section id="locales.locale.design">
-<title>Design</title>
+<section xml:id="locales.locale.design"><info><title>Design</title></info>
+
<para>
The major design challenge is fitting an object-orientated and
@@ -105,11 +106,11 @@ portability is an issue.
</section>
-<section id="locales.locale.impl">
-<title>Implementation</title>
+<section xml:id="locales.locale.impl"><info><title>Implementation</title></info>
- <section id="locale.impl.c">
- <title>Interacting with &quot;C&quot; locales</title>
+
+ <section xml:id="locale.impl.c"><info><title>Interacting with "C" locales</title></info>
+
<itemizedlist>
<listitem>
@@ -470,8 +471,8 @@ global locale" (emphasis Paolo), that is:
</section>
</section>
-<section id="locales.locale.future">
-<title>Future</title>
+<section xml:id="locales.locale.future"><info><title>Future</title></info>
+
<itemizedlist>
<listitem>
@@ -510,21 +511,15 @@ global locale" (emphasis Paolo), that is:
</itemizedlist>
</section>
-<bibliography id="locales.locale.biblio">
-<title>Bibliography</title>
+<bibliography xml:id="locales.locale.biblio"><info><title>Bibliography</title></info>
+
<biblioentry>
- <title>
+ <citetitle>
The GNU C Library
- </title>
- <author>
- <surname>McGrath</surname>
- <firstname>Roland</firstname>
- </author>
- <author>
- <surname>Drepper</surname>
- <firstname>Ulrich</firstname>
- </author>
+ </citetitle>
+ <author><personname><surname>McGrath</surname><firstname>Roland</firstname></personname></author>
+ <author><personname><surname>Drepper</surname><firstname>Ulrich</firstname></personname></author>
<copyright>
<year>2007</year>
<holder>FSF</holder>
@@ -536,23 +531,20 @@ global locale" (emphasis Paolo), that is:
</biblioentry>
<biblioentry>
- <title>
+ <citetitle>
Correspondence
- </title>
- <author>
- <surname>Drepper</surname>
- <firstname>Ulrich</firstname>
- </author>
+ </citetitle>
+ <author><personname><surname>Drepper</surname><firstname>Ulrich</firstname></personname></author>
<copyright>
<year>2002</year>
- <holder></holder>
+ <holder/>
</copyright>
</biblioentry>
<biblioentry>
- <title>
+ <citetitle>
ISO/IEC 14882:1998 Programming languages - C++
- </title>
+ </citetitle>
<copyright>
<year>1998</year>
<holder>ISO</holder>
@@ -560,9 +552,9 @@ global locale" (emphasis Paolo), that is:
</biblioentry>
<biblioentry>
- <title>
+ <citetitle>
ISO/IEC 9899:1999 Programming languages - C
- </title>
+ </citetitle>
<copyright>
<year>1999</year>
<holder>ISO</holder>
@@ -570,13 +562,11 @@ global locale" (emphasis Paolo), that is:
</biblioentry>
<biblioentry>
- <biblioid class="uri">
- <ulink url="http://www.opengroup.org/austin">
- <citetitle>
- System Interface Definitions, Issue 7 (IEEE Std. 1003.1-2008)
- </citetitle>
- </ulink>
+ <biblioid xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.opengroup.org/austin" class="uri">
</biblioid>
+ <citetitle>
+ System Interface Definitions, Issue 7 (IEEE Std. 1003.1-2008)
+ </citetitle>
<copyright>
<year>2008</year>
<holder>
@@ -587,13 +577,10 @@ global locale" (emphasis Paolo), that is:
</biblioentry>
<biblioentry>
- <title>
+ <citetitle>
The C++ Programming Language, Special Edition
- </title>
- <author>
- <surname>Stroustrup</surname>
- <firstname>Bjarne</firstname>
- </author>
+ </citetitle>
+ <author><personname><surname>Stroustrup</surname><firstname>Bjarne</firstname></personname></author>
<copyright>
<year>2000</year>
<holder>Addison Wesley, Inc.</holder>
@@ -607,20 +594,14 @@ global locale" (emphasis Paolo), that is:
</biblioentry>
<biblioentry>
- <title>
+ <citetitle>
Standard C++ IOStreams and Locales
- </title>
+ </citetitle>
<subtitle>
Advanced Programmer's Guide and Reference
</subtitle>
- <author>
- <surname>Langer</surname>
- <firstname>Angelika</firstname>
- </author>
- <author>
- <surname>Kreft</surname>
- <firstname>Klaus</firstname>
- </author>
+ <author><personname><surname>Langer</surname><firstname>Angelika</firstname></personname></author>
+ <author><personname><surname>Kreft</surname><firstname>Klaus</firstname></personname></author>
<copyright>
<year>2000</year>
<holder>Addison Wesley Longman, Inc.</holder>
diff --git a/libstdc++-v3/doc/xml/manual/localization.xml b/libstdc++-v3/doc/xml/manual/localization.xml
index 70898546776..b46e707fc4e 100644
--- a/libstdc++-v3/doc/xml/manual/localization.xml
+++ b/libstdc++-v3/doc/xml/manual/localization.xml
@@ -1,12 +1,11 @@
-<?xml version='1.0'?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
- "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
-[ ]>
-
-<chapter id="std.localization" xreflabel="Localization">
+<chapter xmlns="http://docbook.org/ns/docbook" version="5.0"
+ xml:id="std.localization" xreflabel="Localization">
<?dbhtml filename="localization.html"?>
-<chapterinfo>
+<info><title>
+ Localization
+ <indexterm><primary>Localization</primary></indexterm>
+</title>
<keywordset>
<keyword>
ISO C++
@@ -15,42 +14,35 @@
library
</keyword>
</keywordset>
-</chapterinfo>
+</info>
+
-<title>
- Localization
- <indexterm><primary>Localization</primary></indexterm>
-</title>
<!-- Section 01 : Locale -->
-<section id="std.localization.locales" xreflabel="Locales">
+<section xml:id="std.localization.locales" xreflabel="Locales"><info><title>Locales</title></info>
<?dbhtml filename="locales.html"?>
- <title>Locales</title>
+
<!-- Section 01 : locale -->
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
- parse="xml" href="locale.xml">
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="locale.xml">
</xi:include>
</section>
<!-- Section 02 : Facet -->
-<section id="std.localization.facet" xreflabel="Facets">
+<section xml:id="std.localization.facet" xreflabel="Facets"><info><title>Facets</title></info>
<?dbhtml filename="facets.html"?>
- <title>Facets</title>
+
<!-- Section 01 : ctype -->
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
- parse="xml" href="ctype.xml">
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="ctype.xml">
</xi:include>
<!-- Section 02 : codecvt -->
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
- parse="xml" href="codecvt.xml">
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="codecvt.xml">
</xi:include>
<!-- Section 03 : messages -->
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
- parse="xml" href="messages.xml">
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="messages.xml">
</xi:include>
</section>
diff --git a/libstdc++-v3/doc/xml/manual/messages.xml b/libstdc++-v3/doc/xml/manual/messages.xml
index f0428d43781..d834e27d7a8 100644
--- a/libstdc++-v3/doc/xml/manual/messages.xml
+++ b/libstdc++-v3/doc/xml/manual/messages.xml
@@ -1,7 +1,8 @@
-<section id="manual.localization.facet.messages" xreflabel="Messages">
+<section xmlns="http://docbook.org/ns/docbook" version="5.0"
+ xml:id="manual.localization.facet.messages" xreflabel="Messages">
<?dbhtml filename="messages.html"?>
-<sectioninfo>
+<info><title>messages</title>
<keywordset>
<keyword>
ISO C++
@@ -10,9 +11,9 @@
messages
</keyword>
</keywordset>
-</sectioninfo>
+</info>
+
-<title>messages</title>
<para>
The std::messages facet implements message retrieval functionality
@@ -20,8 +21,8 @@ equivalent to Java's java.text.MessageFormat .using either GNU gettext
or IEEE 1003.1-200 functions.
</para>
-<section id="facet.messages.req">
-<title>Requirements</title>
+<section xml:id="facet.messages.req"><info><title>Requirements</title></info>
+
<para>
The std::messages facet is probably the most vaguely defined facet in
@@ -108,8 +109,8 @@ be found, returns dfault.
</section>
-<section id="facet.messages.design">
-<title>Design</title>
+<section xml:id="facet.messages.design"><info><title>Design</title></info>
+
<para>
A couple of notes on the standard.
@@ -157,11 +158,11 @@ other, explicitly named locales.
</section>
-<section id="facet.messages.impl">
-<title>Implementation</title>
+<section xml:id="facet.messages.impl"><info><title>Implementation</title></info>
- <section id="messages.impl.models">
- <title>Models</title>
+
+ <section xml:id="messages.impl.models"><info><title>Models</title></info>
+
<para>
This is a relatively simple class, on the face of it. The standard
specifies very little in concrete terms, so generic
@@ -228,8 +229,8 @@ model.
</section>
- <section id="messages.impl.gnu">
- <title>The GNU Model</title>
+ <section xml:id="messages.impl.gnu"><info><title>The GNU Model</title></info>
+
<para>
The messages facet, because it is retrieving and converting
@@ -321,8 +322,8 @@ model.
</section>
</section>
-<section id="facet.messages.use">
-<title>Use</title>
+<section xml:id="facet.messages.use"><info><title>Use</title></info>
+
<para>
A simple example using the GNU model of message conversion.
</para>
@@ -351,8 +352,8 @@ void test01()
</section>
-<section id="facet.messages.future">
-<title>Future</title>
+<section xml:id="facet.messages.future"><info><title>Future</title></info>
+
<itemizedlist>
<listitem>
@@ -438,21 +439,15 @@ void test01()
</section>
-<bibliography id="facet.messages.biblio">
-<title>Bibliography</title>
+<bibliography xml:id="facet.messages.biblio"><info><title>Bibliography</title></info>
+
<biblioentry>
- <title>
+ <citetitle>
The GNU C Library
- </title>
- <author>
- <surname>McGrath</surname>
- <firstname>Roland</firstname>
- </author>
- <author>
- <surname>Drepper</surname>
- <firstname>Ulrich</firstname>
- </author>
+ </citetitle>
+ <author><personname><surname>McGrath</surname><firstname>Roland</firstname></personname></author>
+ <author><personname><surname>Drepper</surname><firstname>Ulrich</firstname></personname></author>
<copyright>
<year>2007</year>
<holder>FSF</holder>
@@ -462,23 +457,20 @@ void test01()
</biblioentry>
<biblioentry>
- <title>
+ <citetitle>
Correspondence
- </title>
- <author>
- <surname>Drepper</surname>
- <firstname>Ulrich</firstname>
- </author>
+ </citetitle>
+ <author><personname><surname>Drepper</surname><firstname>Ulrich</firstname></personname></author>
<copyright>
<year>2002</year>
- <holder></holder>
+ <holder/>
</copyright>
</biblioentry>
<biblioentry>
- <title>
+ <citetitle>
ISO/IEC 14882:1998 Programming languages - C++
- </title>
+ </citetitle>
<copyright>
<year>1998</year>
<holder>ISO</holder>
@@ -486,9 +478,9 @@ void test01()
</biblioentry>
<biblioentry>
- <title>
+ <citetitle>
ISO/IEC 9899:1999 Programming languages - C
- </title>
+ </citetitle>
<copyright>
<year>1999</year>
@@ -497,13 +489,11 @@ void test01()
</biblioentry>
<biblioentry>
- <biblioid class="uri">
- <ulink url="http://www.opengroup.org/austin">
- <citetitle>
- System Interface Definitions, Issue 7 (IEEE Std. 1003.1-2008)
- </citetitle>
- </ulink>
+ <biblioid xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.opengroup.org/austin" class="uri">
</biblioid>
+ <citetitle>
+ System Interface Definitions, Issue 7 (IEEE Std. 1003.1-2008)
+ </citetitle>
<copyright>
<year>2008</year>
<holder>
@@ -514,13 +504,10 @@ void test01()
</biblioentry>
<biblioentry>
- <title>
+ <citetitle>
The C++ Programming Language, Special Edition
- </title>
- <author>
- <surname>Stroustrup</surname>
- <firstname>Bjarne</firstname>
- </author>
+ </citetitle>
+ <author><personname><surname>Stroustrup</surname><firstname>Bjarne</firstname></personname></author>
<copyright>
<year>2000</year>
<holder>Addison Wesley, Inc.</holder>
@@ -534,20 +521,14 @@ void test01()
</biblioentry>
<biblioentry>
- <title>
+ <citetitle>
Standard C++ IOStreams and Locales
- </title>
+ </citetitle>
<subtitle>
Advanced Programmer's Guide and Reference
</subtitle>
- <author>
- <surname>Langer</surname>
- <firstname>Angelika</firstname>
- </author>
- <author>
- <surname>Kreft</surname>
- <firstname>Klaus</firstname>
- </author>
+ <author><personname><surname>Langer</surname><firstname>Angelika</firstname></personname></author>
+ <author><personname><surname>Kreft</surname><firstname>Klaus</firstname></personname></author>
<copyright>
<year>2000</year>
<holder>Addison Wesley Longman, Inc.</holder>
@@ -560,27 +541,24 @@ void test01()
</biblioentry>
<biblioentry>
- <biblioid class="uri">
- <ulink url="http://java.sun.com/reference/api/index.html">
- <citetitle>
- API Specifications, Java Platform
- </citetitle>
- </ulink>
- </biblioid>
+ <biblioid xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://java.sun.com/reference/api/index.html" class="uri">
+ </biblioid>
+ <citetitle>
+ API Specifications, Java Platform
+ </citetitle>
+
<pagenums>java.util.Properties, java.text.MessageFormat,
java.util.Locale, java.util.ResourceBundle
</pagenums>
</biblioentry>
<biblioentry>
- <biblioid class="uri">
- <ulink url="http://www.gnu.org/software/gettext/">
- <citetitle>
- GNU gettext tools, version 0.10.38, Native Language Support
-Library and Tools.
- </citetitle>
- </ulink>
+ <biblioid xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.gnu.org/software/gettext/" class="uri">
</biblioid>
+ <citetitle>
+ GNU gettext tools, version 0.10.38, Native Language Support
+ Library and Tools.
+ </citetitle>
</biblioentry>
</bibliography>
diff --git a/libstdc++-v3/doc/xml/manual/mt_allocator.xml b/libstdc++-v3/doc/xml/manual/mt_allocator.xml
index ba93b10fa68..b31b593bc29 100644
--- a/libstdc++-v3/doc/xml/manual/mt_allocator.xml
+++ b/libstdc++-v3/doc/xml/manual/mt_allocator.xml
@@ -1,7 +1,8 @@
-<sect1 id="manual.ext.allocator.mt" xreflabel="mt allocator">
+<section xmlns="http://docbook.org/ns/docbook" version="5.0"
+ xml:id="manual.ext.allocator.mt" xreflabel="mt allocator">
<?dbhtml filename="mt_allocator.html"?>
-<sect1info>
+<info><title>mt_allocator</title>
<keywordset>
<keyword>
ISO C++
@@ -10,15 +11,15 @@
allocator
</keyword>
</keywordset>
-</sect1info>
+</info>
+
-<title>mt_allocator</title>
<para>
</para>
-<sect2 id="allocator.mt.intro">
-<title>Intro</title>
+<section xml:id="allocator.mt.intro"><info><title>Intro</title></info>
+
<para>
The mt allocator [hereinafter referred to simply as "the allocator"]
@@ -40,14 +41,14 @@
view - the "inner workings" of the allocator.
</para>
-</sect2>
+</section>
+
+<section xml:id="allocator.mt.design_issues"><info><title>Design Issues</title></info>
-<sect2 id="allocator.mt.design_issues">
-<title>Design Issues</title>
-<sect3 id="allocator.mt.overview">
-<title>Overview</title>
+<section xml:id="allocator.mt.overview"><info><title>Overview</title></info>
+
<para> There are three general components to the allocator: a datum
@@ -104,15 +105,15 @@ classes, namely member functions <code>allocate</code> and
<code>deallocate</code>, plus others.
</para>
-</sect3>
-</sect2>
+</section>
+</section>
+
+<section xml:id="allocator.mt.impl"><info><title>Implementation</title></info>
-<sect2 id="allocator.mt.impl">
-<title>Implementation</title>
-<sect3 id="allocator.mt.tune">
-<title>Tunable Parameters</title>
+<section xml:id="allocator.mt.tune"><info><title>Tunable Parameters</title></info>
+
<para>Certain allocation parameters can be modified, or tuned. There
exists a nested <code>struct __pool_base::_Tune</code> that contains all
@@ -166,10 +167,10 @@ int main()
}
</programlisting>
-</sect3>
+</section>
+
+<section xml:id="allocator.mt.init"><info><title>Initialization</title></info>
-<sect3 id="allocator.mt.init">
-<title>Initialization</title>
<para>
The static variables (pointers to freelists, tuning parameters etc)
@@ -276,10 +277,10 @@ The _S_initialize() function:
a thread decides to return some blocks to the global freelist.
</para>
-</sect3>
+</section>
+
+<section xml:id="allocator.mt.deallocation"><info><title>Deallocation Notes</title></info>
-<sect3 id="allocator.mt.deallocation">
-<title>Deallocation Notes</title>
<para> Notes about deallocation. This allocator does not explicitly
release memory. Because of this, memory debugging programs like
@@ -308,16 +309,16 @@ containers, this works, as an instance of the allocator is constructed
as part of a container's constructor. However, this assumption is
implementation-specific, and subject to change. For an example of a
pool that frees memory, see the following
- <ulink url="http://gcc.gnu.org/viewcvs/trunk/libstdc++-v3/testsuite/ext/mt_allocator/deallocate_local-6.cc?view=markup">
- example.</ulink>
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/viewcvs/trunk/libstdc++-v3/testsuite/ext/mt_allocator/deallocate_local-6.cc?view=markup">
+ example.</link>
</para>
-</sect3>
+</section>
-</sect2>
+</section>
+
+<section xml:id="allocator.mt.example_single"><info><title>Single Thread Example</title></info>
-<sect2 id="allocator.mt.example_single">
-<title>Single Thread Example</title>
<para>
Let's start by describing how the data on a freelist is laid out in memory.
@@ -408,10 +409,10 @@ after a set of performance measurements that showed that this is roughly 10%
faster than maintaining a set of "last pointers" as well.
</para>
-</sect2>
+</section>
+
+<section xml:id="allocator.mt.example_multi"><info><title>Multiple Thread Example</title></info>
-<sect2 id="allocator.mt.example_multi">
-<title>Multiple Thread Example</title>
<para>
In the ST example we never used the thread_id variable present in each block.
@@ -549,6 +550,6 @@ be improved to further reduce the risk of blocks being "bounced back
and forth" between freelists.
</para>
-</sect2>
+</section>
-</sect1>
+</section>
diff --git a/libstdc++-v3/doc/xml/manual/numerics.xml b/libstdc++-v3/doc/xml/manual/numerics.xml
index 379e83cf56d..a9e866e78c8 100644
--- a/libstdc++-v3/doc/xml/manual/numerics.xml
+++ b/libstdc++-v3/doc/xml/manual/numerics.xml
@@ -1,12 +1,11 @@
-<?xml version='1.0'?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
- "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
-[ ]>
-
-<chapter id="std.numerics" xreflabel="Numerics">
+<chapter xmlns="http://docbook.org/ns/docbook" version="5.0"
+ xml:id="std.numerics" xreflabel="Numerics">
<?dbhtml filename="numerics.html"?>
-<chapterinfo>
+<info><title>
+ Numerics
+ <indexterm><primary>Numerics</primary></indexterm>
+</title>
<keywordset>
<keyword>
ISO C++
@@ -15,21 +14,18 @@
library
</keyword>
</keywordset>
-</chapterinfo>
+</info>
+
-<title>
- Numerics
- <indexterm><primary>Numerics</primary></indexterm>
-</title>
<!-- Sect1 01 : Complex -->
-<sect1 id="std.numerics.complex" xreflabel="complex">
+<section xml:id="std.numerics.complex" xreflabel="complex"><info><title>Complex</title></info>
<?dbhtml filename="complex.html"?>
- <title>Complex</title>
+
<para>
</para>
- <sect2 id="numerics.complex.processing" xreflabel="complex Processing">
- <title>complex Processing</title>
+ <section xml:id="numerics.complex.processing" xreflabel="complex Processing"><info><title>complex Processing</title></info>
+
<para>
</para>
<para>Using <code>complex&lt;&gt;</code> becomes even more comple- er, sorry,
@@ -38,7 +34,7 @@
compiled a list of C++98 and C99 conflict points; his description of
C's new type versus those of C++ and how to get them playing together
nicely is
-<ulink url="http://david.tribble.com/text/cdiffs.htm#C99-complex">here</ulink>.
+<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://david.tribble.com/text/cdiffs.htm#C99-complex">here</link>.
</para>
<para><code>complex&lt;&gt;</code> is intended to be instantiated with a
floating-point type. As long as you meet that and some other basic
@@ -49,13 +45,13 @@
<code>(u)</code>, and <code>(u,v)</code>.
</para>
- </sect2>
-</sect1>
+ </section>
+</section>
<!-- Sect1 02 : Generalized Operations -->
-<sect1 id="std.numerics.generalized_ops" xreflabel="Generalized Ops">
+<section xml:id="std.numerics.generalized_ops" xreflabel="Generalized Ops"><info><title>Generalized Operations</title></info>
<?dbhtml filename="generalized_numeric_operations.html"?>
- <title>Generalized Operations</title>
+
<para>
</para>
@@ -93,15 +89,15 @@
<para>The other three functions have similar dual-signature forms.
</para>
-</sect1>
+</section>
<!-- Sect1 03 : Interacting with C -->
-<sect1 id="std.numerics.c" xreflabel="Interacting with C">
+<section xml:id="std.numerics.c" xreflabel="Interacting with C"><info><title>Interacting with C</title></info>
<?dbhtml filename="numerics_and_c.html"?>
- <title>Interacting with C</title>
+
- <sect2 id="numerics.c.array" xreflabel="Numerics vs. Arrays">
- <title>Numerics vs. Arrays</title>
+ <section xml:id="numerics.c.array" xreflabel="Numerics vs. Arrays"><info><title>Numerics vs. Arrays</title></info>
+
<para>One of the major reasons why FORTRAN can chew through numbers so well
is that it is defined to be free of pointer aliasing, an assumption
@@ -112,7 +108,7 @@
as an extension).
</para>
<para>That library solution is a set of two classes, five template classes,
- and &quot;a whole bunch&quot; of functions. The classes are required
+ and "a whole bunch" of functions. The classes are required
to be free of pointer aliasing, so compilers can optimize the
daylights out of them the same way that they have been for FORTRAN.
They are collectively called <code>valarray</code>, although strictly
@@ -121,10 +117,10 @@
libraries before.
</para>
- </sect2>
+ </section>
- <sect2 id="numerics.c.c99" xreflabel="C99">
- <title>C99</title>
+ <section xml:id="numerics.c.c99" xreflabel="C99"><info><title>C99</title></info>
+
<para>In addition to the other topics on this page, we'll note here some
of the C99 features that appear in libstdc++.
@@ -143,7 +139,7 @@
<code>wcstoll</code>.
</para>
- </sect2>
-</sect1>
+ </section>
+</section>
</chapter>
diff --git a/libstdc++-v3/doc/xml/manual/parallel_mode.xml b/libstdc++-v3/doc/xml/manual/parallel_mode.xml
index fbc2ed1dbec..ec0faf9c71d 100644
--- a/libstdc++-v3/doc/xml/manual/parallel_mode.xml
+++ b/libstdc++-v3/doc/xml/manual/parallel_mode.xml
@@ -1,12 +1,8 @@
-<?xml version='1.0'?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
- "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
-[ ]>
-
-<chapter id="manual.ext.parallel_mode" xreflabel="Parallel Mode">
+<chapter xmlns="http://docbook.org/ns/docbook" version="5.0"
+ xml:id="manual.ext.parallel_mode" xreflabel="Parallel Mode">
<?dbhtml filename="parallel_mode.html"?>
-<chapterinfo>
+<info><title>Parallel Mode</title>
<keywordset>
<keyword>
C++
@@ -18,9 +14,9 @@
parallel
</keyword>
</keywordset>
-</chapterinfo>
+</info>
+
-<title>Parallel Mode</title>
<para> The libstdc++ parallel mode is an experimental parallel
implementation of many algorithms the C++ Standard Library.
@@ -35,8 +31,8 @@ specific compiler flag.
</para>
-<sect1 id="manual.ext.parallel_mode.intro" xreflabel="Intro">
- <title>Intro</title>
+<section xml:id="manual.ext.parallel_mode.intro" xreflabel="Intro"><info><title>Intro</title></info>
+
<para>The following library components in the include
<filename class="headerfile">numeric</filename> are included in the parallel mode:</para>
@@ -83,10 +79,10 @@ specific compiler flag.
<listitem><para><function>std::unique_copy</function></para></listitem>
</itemizedlist>
-</sect1>
+</section>
-<sect1 id="manual.ext.parallel_mode.semantics" xreflabel="Semantics">
- <title>Semantics</title>
+<section xml:id="manual.ext.parallel_mode.semantics" xreflabel="Semantics"><info><title>Semantics</title></info>
+
<para> The parallel mode STL algorithms are currently not exception-safe,
i.e. user-defined functors must not throw exceptions.
@@ -100,13 +96,13 @@ it is not possible to call parallel STL algorithm in
concurrent threads, either.
It might work with other compilers, though.</para>
-</sect1>
+</section>
-<sect1 id="manual.ext.parallel_mode.using" xreflabel="Using">
- <title>Using</title>
+<section xml:id="manual.ext.parallel_mode.using" xreflabel="Using"><info><title>Using</title></info>
+
-<sect2 id="parallel_mode.using.prereq_flags">
- <title>Prerequisite Compiler Flags</title>
+<section xml:id="parallel_mode.using.prereq_flags"><info><title>Prerequisite Compiler Flags</title></info>
+
<para>
Any use of parallel functionality requires additional compiler
@@ -114,7 +110,7 @@ It might work with other compilers, though.</para>
not difficult: just compile your application with the compiler
flag <literal>-fopenmp</literal>. This will link
in <code>libgomp</code>, the GNU
- OpenMP <ulink url="http://gcc.gnu.org/onlinedocs/libgomp">implementation</ulink>,
+ OpenMP <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/onlinedocs/libgomp">implementation</link>,
whose presence is mandatory.
</para>
@@ -129,10 +125,10 @@ In addition, hardware that supports atomic operations and a compiler
the GCC manual for more information.
</para>
-</sect2>
+</section>
-<sect2 id="parallel_mode.using.parallel_mode">
- <title>Using Parallel Mode</title>
+<section xml:id="parallel_mode.using.parallel_mode"><info><title>Using Parallel Mode</title></info>
+
<para>
To use the libstdc++ parallel mode, compile your application with
@@ -154,10 +150,10 @@ In addition, hardware that supports atomic operations and a compiler
translation units. Parallel mode functionality has distinct linkage,
and cannot be confused with normal mode symbols.
</para>
-</sect2>
+</section>
-<sect2 id="parallel_mode.using.specific">
- <title>Using Specific Parallel Components</title>
+<section xml:id="parallel_mode.using.specific"><info><title>Using Specific Parallel Components</title></info>
+
<para>When it is not feasible to recompile your entire application, or
only specific algorithms need to be parallel-aware, individual
@@ -199,13 +195,14 @@ flags for atomic operations.)
parallel algorithms that can be used in a similar manner:
</para>
-<table frame='all'>
+<table frame="all">
<title>Parallel Algorithms</title>
-<tgroup cols='4' align='left' colsep='1' rowsep='1'>
-<colspec colname='c1'></colspec>
-<colspec colname='c2'></colspec>
-<colspec colname='c3'></colspec>
-<colspec colname='c4'></colspec>
+
+<tgroup cols="4" align="left" colsep="1" rowsep="1">
+<colspec colname="c1"/>
+<colspec colname="c2"/>
+<colspec colname="c3"/>
+<colspec colname="c4"/>
<thead>
<row>
@@ -461,16 +458,16 @@ flags for atomic operations.)
</tgroup>
</table>
-</sect2>
+</section>
-</sect1>
+</section>
-<sect1 id="manual.ext.parallel_mode.design" xreflabel="Design">
- <title>Design</title>
+<section xml:id="manual.ext.parallel_mode.design" xreflabel="Design"><info><title>Design</title></info>
+
<para>
</para>
-<sect2 id="parallel_mode.design.intro" xreflabel="Intro">
- <title>Interface Basics</title>
+<section xml:id="parallel_mode.design.intro" xreflabel="Intro"><info><title>Interface Basics</title></info>
+
<para>
All parallel algorithms are intended to have signatures that are
@@ -536,14 +533,14 @@ overload is therefore missing.
</para>
-</sect2>
+</section>
-<sect2 id="parallel_mode.design.tuning" xreflabel="Tuning">
- <title>Configuration and Tuning</title>
+<section xml:id="parallel_mode.design.tuning" xreflabel="Tuning"><info><title>Configuration and Tuning</title></info>
+
-<sect3 id="parallel_mode.design.tuning.omp" xreflabel="OpenMP Environment">
- <title>Setting up the OpenMP Environment</title>
+<section xml:id="parallel_mode.design.tuning.omp" xreflabel="OpenMP Environment"><info><title>Setting up the OpenMP Environment</title></info>
+
<para>
Several aspects of the overall runtime environment can be manipulated
@@ -585,10 +582,10 @@ nested parallelism (<function>omp_set_nested</function>), schedule kind
documentation for more information.
</para>
-</sect3>
+</section>
-<sect3 id="parallel_mode.design.tuning.compile" xreflabel="Compile Switches">
- <title>Compile Time Switches</title>
+<section xml:id="parallel_mode.design.tuning.compile" xreflabel="Compile Switches"><info><title>Compile Time Switches</title></info>
+
<para>
To force an algorithm to execute sequentially, even though parallelism
@@ -662,10 +659,10 @@ Multiway mergesort comes with the two splitting strategies for multi-way
merging. The quicksort options cannot be used for <code>stable_sort</code>.
</para>
-</sect3>
+</section>
-<sect3 id="parallel_mode.design.tuning.settings" xreflabel="_Settings">
- <title>Run Time Settings and Defaults</title>
+<section xml:id="parallel_mode.design.tuning.settings" xreflabel="_Settings"><info><title>Run Time Settings and Defaults</title></info>
+
<para>
The default parallelization strategy, the choice of specific algorithm
@@ -729,8 +726,8 @@ i. e. it is a singleton. It can be read and written by calling
<code>__gnu_parallel::_Settings::set</code>, respectively.
Please note that the first call return a const object, so direct manipulation
is forbidden.
-See <ulink url="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a01005.html">
- <filename class="headerfile">settings.h</filename></ulink>
+See <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a01005.html">
+ <filename class="headerfile">settings.h</filename></link>
for complete details.
</para>
@@ -754,12 +751,12 @@ int main()
}
</programlisting>
-</sect3>
+</section>
-</sect2>
+</section>
-<sect2 id="parallel_mode.design.impl" xreflabel="Impl">
- <title>Implementation Namespaces</title>
+<section xml:id="parallel_mode.design.impl" xreflabel="Impl"><info><title>Implementation Namespaces</title></info>
+
<para> One namespace contain versions of code that are always
explicitly sequential:
@@ -787,12 +784,12 @@ related to the parallel mode on a per-namespace basis, can be found in
the generated source documentation.
</para>
-</sect2>
+</section>
-</sect1>
+</section>
-<sect1 id="manual.ext.parallel_mode.test" xreflabel="Testing">
- <title>Testing</title>
+<section xml:id="manual.ext.parallel_mode.test" xreflabel="Testing"><info><title>Testing</title></info>
+
<para>
Both the normal conformance and regression tests and the
@@ -830,28 +827,22 @@ the generated source documentation.
file, and can be generated by using the <code>make
doc-performance</code> rule in the testsuite's Makefile.
</para>
-</sect1>
+</section>
+
+<bibliography xml:id="parallel_mode.biblio"><info><title>Bibliography</title></info>
-<bibliography id="parallel_mode.biblio">
-<title>Bibliography</title>
<biblioentry>
- <title>
+ <citetitle>
Parallelization of Bulk Operations for STL Dictionaries
- </title>
+ </citetitle>
- <author>
- <firstname>Johannes</firstname>
- <surname>Singler</surname>
- </author>
- <author>
- <firstname>Leonor</firstname>
- <surname>Frias</surname>
- </author>
+ <author><personname><firstname>Johannes</firstname><surname>Singler</surname></personname></author>
+ <author><personname><firstname>Leonor</firstname><surname>Frias</surname></personname></author>
<copyright>
<year>2007</year>
- <holder></holder>
+ <holder/>
</copyright>
<publisher>
@@ -862,26 +853,17 @@ the generated source documentation.
</biblioentry>
<biblioentry>
- <title>
+ <citetitle>
The Multi-Core Standard Template Library
- </title>
-
- <author>
- <firstname>Johannes</firstname>
- <surname>Singler</surname>
- </author>
- <author>
- <firstname>Peter</firstname>
- <surname>Sanders</surname>
- </author>
- <author>
- <firstname>Felix</firstname>
- <surname>Putze</surname>
- </author>
+ </citetitle>
+
+ <author><personname><firstname>Johannes</firstname><surname>Singler</surname></personname></author>
+ <author><personname><firstname>Peter</firstname><surname>Sanders</surname></personname></author>
+ <author><personname><firstname>Felix</firstname><surname>Putze</surname></personname></author>
<copyright>
<year>2007</year>
- <holder></holder>
+ <holder/>
</copyright>
<publisher>
diff --git a/libstdc++-v3/doc/xml/manual/prerequisites.xml b/libstdc++-v3/doc/xml/manual/prerequisites.xml
index e85020f2563..5a51b9986e5 100644
--- a/libstdc++-v3/doc/xml/manual/prerequisites.xml
+++ b/libstdc++-v3/doc/xml/manual/prerequisites.xml
@@ -1,7 +1,8 @@
-<sect1 id="manual.intro.setup.prereq" xreflabel="Prerequisites">
+<section xmlns="http://docbook.org/ns/docbook" version="5.0"
+ xml:id="manual.intro.setup.prereq" xreflabel="Prerequisites">
<?dbhtml filename="prerequisites.html"?>
-<sect1info>
+<info><title>Prerequisites</title>
<keywordset>
<keyword>
ISO C++
@@ -10,17 +11,17 @@
Prerequisites
</keyword>
</keywordset>
-</sect1info>
+</info>
+
-<title>Prerequisites</title>
<para>
Because libstdc++ is part of GCC, the primary source for
installation instructions is
- <ulink url="http://gcc.gnu.org/install/">the GCC install page</ulink>.
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/install/">the GCC install page</link>.
In particular, list of prerequisite software needed to build the library
- <ulink url="http://gcc.gnu.org/install/prerequisites.html">
- starts with those requirements.</ulink> The same pages also list
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/install/prerequisites.html">
+ starts with those requirements.</link> The same pages also list
the tools you will need if you wish to modify the source.
</para>
@@ -31,8 +32,8 @@
<para>As of GCC 4.0.1 the minimum version of binutils required to build
libstdc++ is <code>2.15.90.0.1.1</code>. You can get snapshots
(as well as releases) of binutils from
- <ulink url="ftp://sources.redhat.com/pub/binutils/">
- ftp://sources.redhat.com/pub/binutils</ulink>.
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="ftp://sources.redhat.com/pub/binutils/">
+ ftp://sources.redhat.com/pub/binutils</link>.
Older releases of libstdc++ do not require such a recent version,
but to take full advantage of useful space-saving features and
bug-fixes you should use a recent binutils whenever possible.
@@ -156,4 +157,4 @@ zh_TW BIG5
</varlistentry>
</variablelist>
-</sect1>
+</section>
diff --git a/libstdc++-v3/doc/xml/manual/profile_mode.xml b/libstdc++-v3/doc/xml/manual/profile_mode.xml
index 5665d4e6477..cb4db6732a5 100644
--- a/libstdc++-v3/doc/xml/manual/profile_mode.xml
+++ b/libstdc++-v3/doc/xml/manual/profile_mode.xml
@@ -1,12 +1,8 @@
-<?xml version='1.0'?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
- "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
-[ ]>
-
-<chapter id="manual.ext.profile_mode" xreflabel="Profile Mode">
+<chapter xmlns="http://docbook.org/ns/docbook" version="5.0"
+ xml:id="manual.ext.profile_mode" xreflabel="Profile Mode">
<?dbhtml filename="profile_mode.html"?>
-<chapterinfo>
+<info><title>Profile Mode</title>
<keywordset>
<keyword>
C++
@@ -18,13 +14,13 @@
profile
</keyword>
</keywordset>
-</chapterinfo>
+</info>
+
-<title>Profile Mode</title>
-<sect1 id="manual.ext.profile_mode.intro" xreflabel="Intro">
- <title>Intro</title>
+<section xml:id="manual.ext.profile_mode.intro" xreflabel="Intro"><info><title>Intro</title></info>
+
<para>
<emphasis>Goal: </emphasis>Give performance improvement advice based on
recognition of suboptimal usage patterns of the standard library.
@@ -36,8 +32,8 @@
various components at interesting entry/exit points to/from the standard
library. Process trace, recognize suboptimal patterns, give advice.
For details, see
- <ulink url="http://dx.doi.org/10.1109/CGO.2009.36">paper presented at
- CGO 2009</ulink>.
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://dx.doi.org/10.1109/CGO.2009.36">paper presented at
+ CGO 2009</link>.
</para>
<para>
<emphasis>Strengths: </emphasis>
@@ -71,8 +67,8 @@
</para>
-<sect2 id="manual.ext.profile_mode.using" xreflabel="Using">
- <title>Using the Profile Mode</title>
+<section xml:id="manual.ext.profile_mode.using" xreflabel="Using"><info><title>Using the Profile Mode</title></info>
+
<para>
This is the anticipated common workflow for program <code>foo.cc</code>:
@@ -155,10 +151,10 @@ vector-size: improvement = 3: call stack = 0x804842c ...
at a higher abstraction level.
</para>
-</sect2>
+</section>
-<sect2 id="manual.ext.profile_mode.tuning" xreflabel="Tuning">
- <title>Tuning the Profile Mode</title>
+<section xml:id="manual.ext.profile_mode.tuning" xreflabel="Tuning"><info><title>Tuning the Profile Mode</title></info>
+
<para>Compile time switches and environment variables (see also file
profiler.h). Unless specified otherwise, they can be set at compile time
@@ -214,21 +210,22 @@ vector-size: improvement = 3: call stack = 0x804842c ...
</itemizedlist>
</para>
-</sect2>
+</section>
-</sect1>
+</section>
-<sect1 id="manual.ext.profile_mode.design" xreflabel="Design">
- <title>Design</title>
+<section xml:id="manual.ext.profile_mode.design" xreflabel="Design"><info><title>Design</title></info>
+
<para>
</para>
-<table frame='all'>
+<table frame="all">
<title>Profile Code Location</title>
-<tgroup cols='2' align='left' colsep='1' rowsep='1'>
-<colspec colname='c1'></colspec>
-<colspec colname='c2'></colspec>
+
+<tgroup cols="2" align="left" colsep="1" rowsep="1">
+<colspec colname="c1"/>
+<colspec colname="c2"/>
<thead>
<row>
@@ -258,9 +255,8 @@ vector-size: improvement = 3: call stack = 0x804842c ...
<para>
</para>
-<sect2 id="manual.ext.profile_mode.design.wrapper"
- xreflabel="Wrapper">
-<title>Wrapper Model</title>
+<section xml:id="manual.ext.profile_mode.design.wrapper" xreflabel="Wrapper"><info><title>Wrapper Model</title></info>
+
<para>
In order to get our instrumented library version included instead of the
release one,
@@ -285,12 +281,11 @@ vector-size: improvement = 3: call stack = 0x804842c ...
not allowed. Mixing them at compile time will result in preprocessor errors.
Mixing them at link time is undefined.
</para>
-</sect2>
+</section>
+
+<section xml:id="manual.ext.profile_mode.design.instrumentation" xreflabel="Instrumentation"><info><title>Instrumentation</title></info>
-<sect2 id="manual.ext.profile_mode.design.instrumentation"
- xreflabel="Instrumentation">
-<title>Instrumentation</title>
<para>
Instead of instrumenting every public entry and exit point,
we chose to add instrumentation on demand, as needed
@@ -313,12 +308,11 @@ vector-size: improvement = 3: call stack = 0x804842c ...
All the instrumentation on/off compile time switches live in
<code>include/profile/profiler.h</code>.
</para>
-</sect2>
+</section>
+
+<section xml:id="manual.ext.profile_mode.design.rtlib" xreflabel="Run Time Behavior"><info><title>Run Time Behavior</title></info>
-<sect2 id="manual.ext.profile_mode.design.rtlib"
- xreflabel="Run Time Behavior">
-<title>Run Time Behavior</title>
<para>
For practical reasons, the instrumentation library processes the trace
partially
@@ -339,15 +333,14 @@ vector-size: improvement = 3: call stack = 0x804842c ...
<para>
For details, see
- <ulink url="http://dx.doi.org/10.1109/CGO.2009.36">paper presented at
- CGO 2009</ulink>.
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://dx.doi.org/10.1109/CGO.2009.36">paper presented at
+ CGO 2009</link>.
</para>
-</sect2>
+</section>
-<sect2 id="manual.ext.profile_mode.design.analysis"
- xreflabel="Analysis and Diagnostics">
-<title>Analysis and Diagnostics</title>
+<section xml:id="manual.ext.profile_mode.design.analysis" xreflabel="Analysis and Diagnostics"><info><title>Analysis and Diagnostics</title></info>
+
<para>
Final analysis takes place offline, and it is based entirely on the
generated trace and debugging info in the application binary.
@@ -357,12 +350,11 @@ vector-size: improvement = 3: call stack = 0x804842c ...
The input to the analysis is a table indexed by profile type and call stack.
The data type for each entry depends on the profile type.
</para>
-</sect2>
+</section>
+
+<section xml:id="manual.ext.profile_mode.design.cost-model" xreflabel="Cost Model"><info><title>Cost Model</title></info>
-<sect2 id="manual.ext.profile_mode.design.cost-model"
- xreflabel="Cost Model">
-<title>Cost Model</title>
<para>
While it is likely that cost models become complex as we get into
more sophisticated analysis, we will try to follow a simple set of rules
@@ -399,12 +391,11 @@ vector-size: improvement = 3: call stack = 0x804842c ...
care require a sorted container.</para></listitem>
</itemizedlist>
-</sect2>
+</section>
+
+<section xml:id="manual.ext.profile_mode.design.reports" xreflabel="Reports"><info><title>Reports</title></info>
-<sect2 id="manual.ext.profile_mode.design.reports"
- xreflabel="Reports">
-<title>Reports</title>
<para>
There are two types of reports. First, if we recognize a pattern for which
we have a substitute that is likely to give better performance, we print
@@ -419,12 +410,11 @@ which have the worst data locality in actual traversals.
Although this does not offer a solution,
it helps the user focus on the key problems and ignore the uninteresting ones.
</para>
-</sect2>
+</section>
-<sect2 id="manual.ext.profile_mode.design.testing"
- xreflabel="Testing">
-<title>Testing</title>
+<section xml:id="manual.ext.profile_mode.design.testing" xreflabel="Testing"><info><title>Testing</title></info>
+
<para>
First, we want to make sure we preserve the behavior of the release mode.
You can just type <code>"make check-profile"</code>, which
@@ -436,13 +426,12 @@ it helps the user focus on the key problems and ignore the uninteresting ones.
Each diagnostic must come with at least two tests, one for false positives
and one for false negatives.
</para>
-</sect2>
+</section>
+
+</section>
-</sect1>
+<section xml:id="manual.ext.profile_mode.api" xreflabel="API"><info><title>Extensions for Custom Containers</title></info>
-<sect1 id="manual.ext.profile_mode.api"
- xreflabel="API">
-<title>Extensions for Custom Containers</title>
<para>
Many large projects use their own data structures instead of the ones in the
@@ -453,12 +442,11 @@ it helps the user focus on the key problems and ignore the uninteresting ones.
<code>profiler.h</code> (look for "Instrumentation hooks").
</para>
-</sect1>
+</section>
+
+<section xml:id="manual.ext.profile_mode.cost_model" xreflabel="Cost Model"><info><title>Empirical Cost Model</title></info>
-<sect1 id="manual.ext.profile_mode.cost_model"
- xreflabel="Cost Model">
-<title>Empirical Cost Model</title>
<para>
Currently, the cost model uses formulas with predefined relative weights
@@ -479,17 +467,15 @@ it helps the user focus on the key problems and ignore the uninteresting ones.
generic parameters.
</para>
-</sect1>
+</section>
-<sect1 id="manual.ext.profile_mode.implementation"
- xreflabel="Implementation">
-<title>Implementation Issues</title>
+<section xml:id="manual.ext.profile_mode.implementation" xreflabel="Implementation"><info><title>Implementation Issues</title></info>
-<sect2 id="manual.ext.profile_mode.implementation.stack"
- xreflabel="Stack Traces">
-<title>Stack Traces</title>
+
+<section xml:id="manual.ext.profile_mode.implementation.stack" xreflabel="Stack Traces"><info><title>Stack Traces</title></info>
+
<para>
Accurate stack traces are needed during profiling since we group events by
call context and dynamic instance. Without accurate traces, diagnostics
@@ -503,12 +489,11 @@ it helps the user focus on the key problems and ignore the uninteresting ones.
to 0 if you are willing to give up call context information, or to a small
positive value to reduce run time overhead.
</para>
-</sect2>
+</section>
+
+<section xml:id="manual.ext.profile_mode.implementation.symbols" xreflabel="Symbolization"><info><title>Symbolization of Instruction Addresses</title></info>
-<sect2 id="manual.ext.profile_mode.implementation.symbols"
- xreflabel="Symbolization">
-<title>Symbolization of Instruction Addresses</title>
<para>
The profiling and analysis phases use only instruction addresses.
An external utility such as addr2line is needed to postprocess the result.
@@ -516,12 +501,11 @@ it helps the user focus on the key problems and ignore the uninteresting ones.
This would require access to symbol tables, debug information tables,
external programs or libraries and other system dependent information.
</para>
-</sect2>
+</section>
-<sect2 id="manual.ext.profile_mode.implementation.concurrency"
- xreflabel="Concurrency">
-<title>Concurrency</title>
+<section xml:id="manual.ext.profile_mode.implementation.concurrency" xreflabel="Concurrency"><info><title>Concurrency</title></info>
+
<para>
Our current model is simplistic, but precise.
We cannot afford to approximate because some of our diagnostics require
@@ -529,24 +513,22 @@ it helps the user focus on the key problems and ignore the uninteresting ones.
During profiling, we keep a single information table per diagnostic.
There is a single lock per information table.
</para>
-</sect2>
+</section>
+
+<section xml:id="manual.ext.profile_mode.implementation.stdlib-in-proflib" xreflabel="Using the Standard Library in the Runtime Library"><info><title>Using the Standard Library in the Instrumentation Implementation</title></info>
-<sect2 id="manual.ext.profile_mode.implementation.stdlib-in-proflib"
- xreflabel="Using the Standard Library in the Runtime Library">
-<title>Using the Standard Library in the Instrumentation Implementation</title>
<para>
As much as we would like to avoid uses of libstdc++ within our
instrumentation library, containers such as unordered_map are very
appealing. We plan to use them as long as they are named properly
to avoid ambiguity.
</para>
-</sect2>
+</section>
+
+<section xml:id="manual.ext.profile_mode.implementation.malloc-hooks" xreflabel="Malloc Hooks"><info><title>Malloc Hooks</title></info>
-<sect2 id="manual.ext.profile_mode.implementation.malloc-hooks"
- xreflabel="Malloc Hooks">
-<title>Malloc Hooks</title>
<para>
User applications/libraries can provide malloc hooks.
When the implementation of the malloc hooks uses stdlibc++, there can
@@ -563,12 +545,11 @@ it helps the user focus on the key problems and ignore the uninteresting ones.
XXX: A definitive solution to this problem would be for the profile extension
to use a custom allocator internally, and perhaps not to use libstdc++.
</para>
-</sect2>
+</section>
-<sect2 id="manual.ext.profile_mode.implementation.construction-destruction"
- xreflabel="Construction and Destruction of Global Objects">
-<title>Construction and Destruction of Global Objects</title>
+<section xml:id="manual.ext.profile_mode.implementation.construction-destruction" xreflabel="Construction and Destruction of Global Objects"><info><title>Construction and Destruction of Global Objects</title></info>
+
<para>
The profiling library state is initialized at the first call to a profiling
method. This allows us to record the construction of all global objects.
@@ -576,18 +557,16 @@ it helps the user focus on the key problems and ignore the uninteresting ones.
by a function registered by <code>atexit</code>, thus invoked by
<code>exit</code>.
</para>
-</sect2>
+</section>
+
+</section>
+
-</sect1>
+<section xml:id="manual.ext.profile_mode.developer" xreflabel="Developer Information"><info><title>Developer Information</title></info>
-<sect1 id="manual.ext.profile_mode.developer"
- xreflabel="Developer Information">
-<title>Developer Information</title>
+<section xml:id="manual.ext.profile_mode.developer.bigpic" xreflabel="Big Picture"><info><title>Big Picture</title></info>
-<sect2 id="manual.ext.profile_mode.developer.bigpic"
- xreflabel="Big Picture">
-<title>Big Picture</title>
<para>The profile mode headers are included with
<code>-D_GLIBCXX_PROFILE</code> through preprocessor directives in
@@ -609,11 +588,10 @@ it helps the user focus on the key problems and ignore the uninteresting ones.
<code>-D_GLIBCXX_PROFILE_...</code> compiler option.
</para>
-</sect2>
+</section>
+
+<section xml:id="manual.ext.profile_mode.developer.howto" xreflabel="How To Add A Diagnostic"><info><title>How To Add A Diagnostic</title></info>
-<sect2 id="manual.ext.profile_mode.developer.howto"
- xreflabel="How To Add A Diagnostic">
-<title>How To Add A Diagnostic</title>
<para>Let's say the diagnostic name is "magic".
</para>
@@ -684,11 +662,11 @@ it helps the user focus on the key problems and ignore the uninteresting ones.
<para>Add documentation in file <code>doc/xml/manual/profile_mode.xml</code>.
</para>
-</sect2>
-</sect1>
+</section>
+</section>
+
+<section xml:id="manual.ext.profile_mode.diagnostics"><info><title>Diagnostics</title></info>
-<sect1 id="manual.ext.profile_mode.diagnostics">
-<title>Diagnostics</title>
<para>
The table below presents all the diagnostics we intend to implement.
@@ -712,16 +690,17 @@ it helps the user focus on the key problems and ignore the uninteresting ones.
specific needs or time budgets.
</para>
-<table frame='all'>
+<table frame="all">
<title>Profile Diagnostics</title>
-<tgroup cols='7' align='left' colsep='1' rowsep='1'>
-<colspec colname='c1'></colspec>
-<colspec colname='c2'></colspec>
-<colspec colname='c3'></colspec>
-<colspec colname='c4'></colspec>
-<colspec colname='c5'></colspec>
-<colspec colname='c6'></colspec>
-<colspec colname='c7'></colspec>
+
+<tgroup cols="7" align="left" colsep="1" rowsep="1">
+<colspec colname="c1"/>
+<colspec colname="c2"/>
+<colspec colname="c3"/>
+<colspec colname="c4"/>
+<colspec colname="c5"/>
+<colspec colname="c6"/>
+<colspec colname="c7"/>
<thead>
<row>
@@ -735,145 +714,145 @@ it helps the user focus on the key problems and ignore the uninteresting ones.
</thead>
<tbody>
<row>
- <entry><ulink url="#manual.ext.profile_mode.analysis.containers">
- CONTAINERS</ulink></entry>
- <entry><ulink url="#manual.ext.profile_mode.analysis.hashtable_too_small">
- HASHTABLE_TOO_SMALL</ulink></entry>
+ <entry><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#manual.ext.profile_mode.analysis.containers">
+ CONTAINERS</link></entry>
+ <entry><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#manual.ext.profile_mode.analysis.hashtable_too_small">
+ HASHTABLE_TOO_SMALL</link></entry>
<entry>10</entry>
<entry>1</entry>
- <entry></entry>
+ <entry/>
<entry>10</entry>
<entry>yes</entry>
</row>
<row>
- <entry></entry>
- <entry><ulink url="#manual.ext.profile_mode.analysis.hashtable_too_large">
- HASHTABLE_TOO_LARGE</ulink></entry>
+ <entry/>
+ <entry><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#manual.ext.profile_mode.analysis.hashtable_too_large">
+ HASHTABLE_TOO_LARGE</link></entry>
<entry>5</entry>
<entry>1</entry>
- <entry></entry>
+ <entry/>
<entry>10</entry>
<entry>yes</entry>
</row>
<row>
- <entry></entry>
- <entry><ulink url="#manual.ext.profile_mode.analysis.inefficient_hash">
- INEFFICIENT_HASH</ulink></entry>
+ <entry/>
+ <entry><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#manual.ext.profile_mode.analysis.inefficient_hash">
+ INEFFICIENT_HASH</link></entry>
<entry>7</entry>
<entry>3</entry>
- <entry></entry>
+ <entry/>
<entry>10</entry>
<entry>yes</entry>
</row>
<row>
- <entry></entry>
- <entry><ulink url="#manual.ext.profile_mode.analysis.vector_too_small">
- VECTOR_TOO_SMALL</ulink></entry>
+ <entry/>
+ <entry><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#manual.ext.profile_mode.analysis.vector_too_small">
+ VECTOR_TOO_SMALL</link></entry>
<entry>8</entry>
<entry>1</entry>
- <entry></entry>
+ <entry/>
<entry>10</entry>
<entry>yes</entry>
</row>
<row>
- <entry></entry>
- <entry><ulink url="#manual.ext.profile_mode.analysis.vector_too_large">
- VECTOR_TOO_LARGE</ulink></entry>
+ <entry/>
+ <entry><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#manual.ext.profile_mode.analysis.vector_too_large">
+ VECTOR_TOO_LARGE</link></entry>
<entry>5</entry>
<entry>1</entry>
- <entry></entry>
+ <entry/>
<entry>10</entry>
<entry>yes</entry>
</row>
<row>
- <entry></entry>
- <entry><ulink url="#manual.ext.profile_mode.analysis.vector_to_hashtable">
- VECTOR_TO_HASHTABLE</ulink></entry>
+ <entry/>
+ <entry><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#manual.ext.profile_mode.analysis.vector_to_hashtable">
+ VECTOR_TO_HASHTABLE</link></entry>
<entry>7</entry>
<entry>7</entry>
- <entry></entry>
+ <entry/>
<entry>10</entry>
<entry>no</entry>
</row>
<row>
- <entry></entry>
- <entry><ulink url="#manual.ext.profile_mode.analysis.hashtable_to_vector">
- HASHTABLE_TO_VECTOR</ulink></entry>
+ <entry/>
+ <entry><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#manual.ext.profile_mode.analysis.hashtable_to_vector">
+ HASHTABLE_TO_VECTOR</link></entry>
<entry>7</entry>
<entry>7</entry>
- <entry></entry>
+ <entry/>
<entry>10</entry>
<entry>no</entry>
</row>
<row>
- <entry></entry>
- <entry><ulink url="#manual.ext.profile_mode.analysis.vector_to_list">
- VECTOR_TO_LIST</ulink></entry>
+ <entry/>
+ <entry><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#manual.ext.profile_mode.analysis.vector_to_list">
+ VECTOR_TO_LIST</link></entry>
<entry>8</entry>
<entry>5</entry>
- <entry></entry>
+ <entry/>
<entry>10</entry>
<entry>yes</entry>
</row>
<row>
- <entry></entry>
- <entry><ulink url="#manual.ext.profile_mode.analysis.list_to_vector">
- LIST_TO_VECTOR</ulink></entry>
+ <entry/>
+ <entry><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#manual.ext.profile_mode.analysis.list_to_vector">
+ LIST_TO_VECTOR</link></entry>
<entry>10</entry>
<entry>5</entry>
- <entry></entry>
+ <entry/>
<entry>10</entry>
<entry>no</entry>
</row>
<row>
- <entry></entry>
- <entry><ulink url="#manual.ext.profile_mode.analysis.assoc_ord_to_unord">
- ORDERED_TO_UNORDERED</ulink></entry>
+ <entry/>
+ <entry><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#manual.ext.profile_mode.analysis.assoc_ord_to_unord">
+ ORDERED_TO_UNORDERED</link></entry>
<entry>10</entry>
<entry>5</entry>
- <entry></entry>
+ <entry/>
<entry>10</entry>
<entry>only map/unordered_map</entry>
</row>
<row>
- <entry><ulink url="#manual.ext.profile_mode.analysis.algorithms">
- ALGORITHMS</ulink></entry>
- <entry><ulink url="#manual.ext.profile_mode.analysis.algorithms.sort">
- SORT</ulink></entry>
+ <entry><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#manual.ext.profile_mode.analysis.algorithms">
+ ALGORITHMS</link></entry>
+ <entry><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#manual.ext.profile_mode.analysis.algorithms.sort">
+ SORT</link></entry>
<entry>7</entry>
<entry>8</entry>
- <entry></entry>
+ <entry/>
<entry>7</entry>
<entry>no</entry>
</row>
<row>
- <entry><ulink url="#manual.ext.profile_mode.analysis.locality">
- LOCALITY</ulink></entry>
- <entry><ulink url="#manual.ext.profile_mode.analysis.locality.sw_prefetch">
- SOFTWARE_PREFETCH</ulink></entry>
+ <entry><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#manual.ext.profile_mode.analysis.locality">
+ LOCALITY</link></entry>
+ <entry><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#manual.ext.profile_mode.analysis.locality.sw_prefetch">
+ SOFTWARE_PREFETCH</link></entry>
<entry>8</entry>
<entry>8</entry>
- <entry></entry>
+ <entry/>
<entry>5</entry>
<entry>no</entry>
</row>
<row>
- <entry></entry>
- <entry><ulink url="#manual.ext.profile_mode.analysis.locality.linked">
- RBTREE_LOCALITY</ulink></entry>
+ <entry/>
+ <entry><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#manual.ext.profile_mode.analysis.locality.linked">
+ RBTREE_LOCALITY</link></entry>
<entry>4</entry>
<entry>8</entry>
- <entry></entry>
+ <entry/>
<entry>5</entry>
<entry>no</entry>
</row>
<row>
- <entry></entry>
- <entry><ulink url="#manual.ext.profile_mode.analysis.mthread.false_share">
- FALSE_SHARING</ulink></entry>
+ <entry/>
+ <entry><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#manual.ext.profile_mode.analysis.mthread.false_share">
+ FALSE_SHARING</link></entry>
<entry>8</entry>
<entry>10</entry>
- <entry></entry>
+ <entry/>
<entry>10</entry>
<entry>no</entry>
</row>
@@ -881,9 +860,8 @@ it helps the user focus on the key problems and ignore the uninteresting ones.
</tgroup>
</table>
-<sect2 id="manual.ext.profile_mode.analysis.template"
- xreflabel="Template">
-<title>Diagnostic Template</title>
+<section xml:id="manual.ext.profile_mode.analysis.template" xreflabel="Template"><info><title>Diagnostic Template</title></info>
+
<itemizedlist>
<listitem><para><emphasis>Switch:</emphasis>
<code>_GLIBCXX_PROFILE_&lt;diagnostic&gt;</code>.
@@ -912,21 +890,19 @@ advice sample
</programlisting>
</para></listitem>
</itemizedlist>
-</sect2>
+</section>
+
+<section xml:id="manual.ext.profile_mode.analysis.containers" xreflabel="Containers"><info><title>Containers</title></info>
-<sect2 id="manual.ext.profile_mode.analysis.containers"
- xreflabel="Containers">
-<title>Containers</title>
<para>
<emphasis>Switch:</emphasis>
<code>_GLIBCXX_PROFILE_CONTAINERS</code>.
</para>
-<sect3 id="manual.ext.profile_mode.analysis.hashtable_too_small"
- xreflabel="Hashtable Too Small">
-<title>Hashtable Too Small</title>
+<section xml:id="manual.ext.profile_mode.analysis.hashtable_too_small" xreflabel="Hashtable Too Small"><info><title>Hashtable Too Small</title></info>
+
<itemizedlist>
<listitem><para><emphasis>Switch:</emphasis>
<code>_GLIBCXX_PROFILE_HASHTABLE_TOO_SMALL</code>.
@@ -964,12 +940,11 @@ foo.cc:1: advice: Changing initial unordered_set size from 10 to 1000000 saves 1
</programlisting>
</para></listitem>
</itemizedlist>
-</sect3>
+</section>
-<sect3 id="manual.ext.profile_mode.analysis.hashtable_too_large"
- xreflabel="Hashtable Too Large">
-<title>Hashtable Too Large</title>
+<section xml:id="manual.ext.profile_mode.analysis.hashtable_too_large" xreflabel="Hashtable Too Large"><info><title>Hashtable Too Large</title></info>
+
<itemizedlist>
<listitem><para><emphasis>Switch:</emphasis>
<code>_GLIBCXX_PROFILE_HASHTABLE_TOO_LARGE</code>.
@@ -1010,11 +985,10 @@ bytes of memory and M iteration steps.
</programlisting>
</para></listitem>
</itemizedlist>
-</sect3>
+</section>
+
+<section xml:id="manual.ext.profile_mode.analysis.inefficient_hash" xreflabel="Inefficient Hash"><info><title>Inefficient Hash</title></info>
-<sect3 id="manual.ext.profile_mode.analysis.inefficient_hash"
- xreflabel="Inefficient Hash">
-<title>Inefficient Hash</title>
<itemizedlist>
<listitem><para><emphasis>Switch:</emphasis>
<code>_GLIBCXX_PROFILE_INEFFICIENT_HASH</code>.
@@ -1057,11 +1031,10 @@ class dumb_hash {
</programlisting>
</para></listitem>
</itemizedlist>
-</sect3>
+</section>
+
+<section xml:id="manual.ext.profile_mode.analysis.vector_too_small" xreflabel="Vector Too Small"><info><title>Vector Too Small</title></info>
-<sect3 id="manual.ext.profile_mode.analysis.vector_too_small"
- xreflabel="Vector Too Small">
-<title>Vector Too Small</title>
<itemizedlist>
<listitem><para><emphasis>Switch:</emphasis>
<code>_GLIBCXX_PROFILE_VECTOR_TOO_SMALL</code>.
@@ -1098,11 +1071,10 @@ copying 4000000 bytes and 20 memory allocations and deallocations.
</programlisting>
</para></listitem>
</itemizedlist>
-</sect3>
+</section>
+
+<section xml:id="manual.ext.profile_mode.analysis.vector_too_large" xreflabel="Vector Too Large"><info><title>Vector Too Large</title></info>
-<sect3 id="manual.ext.profile_mode.analysis.vector_too_large"
- xreflabel="Vector Too Large">
-<title>Vector Too Large</title>
<itemizedlist>
<listitem><para><emphasis>Switch:</emphasis>
<code>_GLIBCXX_PROFILE_VECTOR_TOO_LARGE</code>
@@ -1140,11 +1112,10 @@ bytes of memory and may reduce the number of cache and TLB misses.
</programlisting>
</para></listitem>
</itemizedlist>
-</sect3>
+</section>
+
+<section xml:id="manual.ext.profile_mode.analysis.vector_to_hashtable" xreflabel="Vector to Hashtable"><info><title>Vector to Hashtable</title></info>
-<sect3 id="manual.ext.profile_mode.analysis.vector_to_hashtable"
- xreflabel="Vector to Hashtable">
-<title>Vector to Hashtable</title>
<itemizedlist>
<listitem><para><emphasis>Switch:</emphasis>
<code>_GLIBCXX_PROFILE_VECTOR_TO_HASHTABLE</code>.
@@ -1187,11 +1158,10 @@ comparisons.
</programlisting>
</para></listitem>
</itemizedlist>
-</sect3>
+</section>
+
+<section xml:id="manual.ext.profile_mode.analysis.hashtable_to_vector" xreflabel="Hashtable to Vector"><info><title>Hashtable to Vector</title></info>
-<sect3 id="manual.ext.profile_mode.analysis.hashtable_to_vector"
- xreflabel="Hashtable to Vector">
-<title>Hashtable to Vector</title>
<itemizedlist>
<listitem><para><emphasis>Switch:</emphasis>
<code>_GLIBCXX_PROFILE_HASHTABLE_TO_VECTOR</code>.
@@ -1232,11 +1202,10 @@ indirections and may achieve better data locality.
</programlisting>
</para></listitem>
</itemizedlist>
-</sect3>
+</section>
+
+<section xml:id="manual.ext.profile_mode.analysis.vector_to_list" xreflabel="Vector to List"><info><title>Vector to List</title></info>
-<sect3 id="manual.ext.profile_mode.analysis.vector_to_list"
- xreflabel="Vector to List">
-<title>Vector to List</title>
<itemizedlist>
<listitem><para><emphasis>Switch:</emphasis>
<code>_GLIBCXX_PROFILE_VECTOR_TO_LIST</code>.
@@ -1278,11 +1247,10 @@ operations.
</programlisting>
</para></listitem>
</itemizedlist>
-</sect3>
+</section>
+
+<section xml:id="manual.ext.profile_mode.analysis.list_to_vector" xreflabel="List to Vector"><info><title>List to Vector</title></info>
-<sect3 id="manual.ext.profile_mode.analysis.list_to_vector"
- xreflabel="List to Vector">
-<title>List to Vector</title>
<itemizedlist>
<listitem><para><emphasis>Switch:</emphasis>
<code>_GLIBCXX_PROFILE_LIST_TO_VECTOR</code>.
@@ -1321,11 +1289,10 @@ memory references.
</programlisting>
</para></listitem>
</itemizedlist>
-</sect3>
+</section>
+
+<section xml:id="manual.ext.profile_mode.analysis.list_to_slist" xreflabel="List to Forward List"><info><title>List to Forward List (Slist)</title></info>
-<sect3 id="manual.ext.profile_mode.analysis.list_to_slist"
- xreflabel="List to Forward List">
-<title>List to Forward List (Slist)</title>
<itemizedlist>
<listitem><para><emphasis>Switch:</emphasis>
<code>_GLIBCXX_PROFILE_LIST_TO_SLIST</code>.
@@ -1367,11 +1334,10 @@ foo.cc:1: advice: Change "list" to "forward_list".
</programlisting>
</para></listitem>
</itemizedlist>
-</sect3>
+</section>
+
+<section xml:id="manual.ext.profile_mode.analysis.assoc_ord_to_unord" xreflabel="Ordered to Unordered Associative Container"><info><title>Ordered to Unordered Associative Container</title></info>
-<sect3 id="manual.ext.profile_mode.analysis.assoc_ord_to_unord"
- xreflabel="Ordered to Unordered Associative Container">
-<title>Ordered to Unordered Associative Container</title>
<itemizedlist>
<listitem><para><emphasis>Switch:</emphasis>
<code>_GLIBCXX_PROFILE_ORDERED_TO_UNORDERED</code>.
@@ -1410,23 +1376,21 @@ foo.cc:1: advice: Change "list" to "forward_list".
</programlisting>
</para></listitem>
</itemizedlist>
-</sect3>
+</section>
+
+</section>
-</sect2>
+<section xml:id="manual.ext.profile_mode.analysis.algorithms" xreflabel="Algorithms"><info><title>Algorithms</title></info>
-<sect2 id="manual.ext.profile_mode.analysis.algorithms"
- xreflabel="Algorithms">
-<title>Algorithms</title>
<para><emphasis>Switch:</emphasis>
<code>_GLIBCXX_PROFILE_ALGORITHMS</code>.
</para>
-<sect3 id="manual.ext.profile_mode.analysis.algorithms.sort"
- xreflabel="Sorting">
-<title>Sort Algorithm Performance</title>
+<section xml:id="manual.ext.profile_mode.analysis.algorithms.sort" xreflabel="Sorting"><info><title>Sort Algorithm Performance</title></info>
+
<itemizedlist>
<listitem><para><emphasis>Switch:</emphasis>
<code>_GLIBCXX_PROFILE_SORT</code>.
@@ -1437,10 +1401,10 @@ foo.cc:1: advice: Change "list" to "forward_list".
</para></listitem>
<listitem><para><emphasis>Fundamentals:</emphasis>
See papers:
- <ulink url="http://portal.acm.org/citation.cfm?doid=1065944.1065981">
- A framework for adaptive algorithm selection in STAPL</ulink> and
- <ulink url="http://ieeexplore.ieee.org/search/wrapper.jsp?arnumber=4228227">
- Optimizing Sorting with Machine Learning Algorithms</ulink>.
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://portal.acm.org/citation.cfm?doid=1065944.1065981">
+ A framework for adaptive algorithm selection in STAPL</link> and
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://ieeexplore.ieee.org/search/wrapper.jsp?arnumber=4228227">
+ Optimizing Sorting with Machine Learning Algorithms</link>.
</para></listitem>
<listitem><para><emphasis>Sample runtime reduction:</emphasis>60%.
</para></listitem>
@@ -1459,22 +1423,20 @@ foo.cc:1: advice: Change "list" to "forward_list".
</programlisting>
</para></listitem>
</itemizedlist>
-</sect3>
+</section>
-</sect2>
+</section>
-<sect2 id="manual.ext.profile_mode.analysis.locality"
- xreflabel="Data Locality">
-<title>Data Locality</title>
+<section xml:id="manual.ext.profile_mode.analysis.locality" xreflabel="Data Locality"><info><title>Data Locality</title></info>
+
<para><emphasis>Switch:</emphasis>
<code>_GLIBCXX_PROFILE_LOCALITY</code>.
</para>
-<sect3 id="manual.ext.profile_mode.analysis.locality.sw_prefetch"
- xreflabel="Need Software Prefetch">
-<title>Need Software Prefetch</title>
+<section xml:id="manual.ext.profile_mode.analysis.locality.sw_prefetch" xreflabel="Need Software Prefetch"><info><title>Need Software Prefetch</title></info>
+
<itemizedlist>
<listitem><para><emphasis>Switch:</emphasis>
<code>_GLIBCXX_PROFILE_SOFTWARE_PREFETCH</code>.
@@ -1532,11 +1494,10 @@ foo.cc:7: advice: Insert prefetch instruction.
</programlisting>
</para></listitem>
</itemizedlist>
-</sect3>
+</section>
+
+<section xml:id="manual.ext.profile_mode.analysis.locality.linked" xreflabel="Linked Structure Locality"><info><title>Linked Structure Locality</title></info>
-<sect3 id="manual.ext.profile_mode.analysis.locality.linked"
- xreflabel="Linked Structure Locality">
-<title>Linked Structure Locality</title>
<itemizedlist>
<listitem><para><emphasis>Switch:</emphasis>
<code>_GLIBCXX_PROFILE_RBTREE_LOCALITY</code>.
@@ -1548,8 +1509,8 @@ foo.cc:7: advice: Insert prefetch instruction.
<listitem><para><emphasis>Fundamentals:</emphasis>Allocation can be tuned
to a specific traversal pattern, to result in better data locality.
See paper:
- <ulink url="http://www.springerlink.com/content/8085744l00x72662/">
- Custom Memory Allocation for Free</ulink>.
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.springerlink.com/content/8085744l00x72662/">
+ Custom Memory Allocation for Free</link>.
</para></listitem>
<listitem><para><emphasis>Sample runtime reduction:</emphasis>30%.
</para></listitem>
@@ -1593,14 +1554,13 @@ the allocation sequence or switching to a structure conscious allocator.
</programlisting>
</para></listitem>
</itemizedlist>
-</sect3>
+</section>
-</sect2>
+</section>
-<sect2 id="manual.ext.profile_mode.analysis.mthread"
- xreflabel="Multithreaded Data Access">
-<title>Multithreaded Data Access</title>
+<section xml:id="manual.ext.profile_mode.analysis.mthread" xreflabel="Multithreaded Data Access"><info><title>Multithreaded Data Access</title></info>
+
<para>
The diagnostics in this group are not meant to be implemented short term.
@@ -1612,9 +1572,8 @@ the allocation sequence or switching to a structure conscious allocator.
<code>_GLIBCXX_PROFILE_MULTITHREADED</code>.
</para>
-<sect3 id="manual.ext.profile_mode.analysis.mthread.ddtest"
- xreflabel="Dependence Violations at Container Level">
-<title>Data Dependence Violations at Container Level</title>
+<section xml:id="manual.ext.profile_mode.analysis.mthread.ddtest" xreflabel="Dependence Violations at Container Level"><info><title>Data Dependence Violations at Container Level</title></info>
+
<itemizedlist>
<listitem><para><emphasis>Switch:</emphasis>
<code>_GLIBCXX_PROFILE_DDTEST</code>.
@@ -1638,9 +1597,9 @@ the allocation sequence or switching to a structure conscious allocator.
Keep a shadow for each container. Record iterator dereferences and
container member accesses. Issue advice for elements referenced by
multiple threads.
- See paper: <ulink url="http://portal.acm.org/citation.cfm?id=207110.207148">
+ See paper: <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://portal.acm.org/citation.cfm?id=207110.207148">
The LRPD test: speculative run-time parallelization of loops with
- privatization and reduction parallelization</ulink>.
+ privatization and reduction parallelization</link>.
</para></listitem>
<listitem><para><emphasis>Cost model:</emphasis>
Number of accesses to elements referenced from multiple threads
@@ -1650,11 +1609,10 @@ the allocation sequence or switching to a structure conscious allocator.
</programlisting>
</para></listitem>
</itemizedlist>
-</sect3>
+</section>
+
+<section xml:id="manual.ext.profile_mode.analysis.mthread.false_share" xreflabel="False Sharing"><info><title>False Sharing</title></info>
-<sect3 id="manual.ext.profile_mode.analysis.mthread.false_share"
- xreflabel="False Sharing">
-<title>False Sharing</title>
<itemizedlist>
<listitem><para><emphasis>Switch:</emphasis>
<code>_GLIBCXX_PROFILE_FALSE_SHARING</code>.
@@ -1699,14 +1657,13 @@ sharing in multithreaded access at foo.cc:4. Detected N shared cache lines.
</programlisting>
</para></listitem>
</itemizedlist>
-</sect3>
+</section>
-</sect2>
+</section>
-<sect2 id="manual.ext.profile_mode.analysis.statistics"
- xreflabel="Statistics">
-<title>Statistics</title>
+<section xml:id="manual.ext.profile_mode.analysis.statistics" xreflabel="Statistics"><info><title>Statistics</title></info>
+
<para>
<emphasis>Switch:</emphasis>
@@ -1726,32 +1683,26 @@ sharing in multithreaded access at foo.cc:4. Detected N shared cache lines.
of each operation actually performed on the container.
</para>
-</sect2>
+</section>
+
+</section>
-</sect1>
+<bibliography xml:id="profile_mode.biblio"><info><title>Bibliography</title></info>
-<bibliography id="profile_mode.biblio">
-<title>Bibliography</title>
<biblioentry>
- <title>
+ <citetitle>
Perflint: A Context Sensitive Performance Advisor for C++ Programs
- </title>
+ </citetitle>
- <author>
- <firstname>Lixia</firstname>
- <surname>Liu</surname>
- </author>
- <author>
- <firstname>Silvius</firstname>
- <surname>Rus</surname>
- </author>
+ <author><personname><firstname>Lixia</firstname><surname>Liu</surname></personname></author>
+ <author><personname><firstname>Silvius</firstname><surname>Rus</surname></personname></author>
<copyright>
<year>2009</year>
- <holder></holder>
+ <holder/>
</copyright>
<publisher>
diff --git a/libstdc++-v3/doc/xml/manual/shared_ptr.xml b/libstdc++-v3/doc/xml/manual/shared_ptr.xml
index 70e000dcc5b..4ef5f72b6a6 100644
--- a/libstdc++-v3/doc/xml/manual/shared_ptr.xml
+++ b/libstdc++-v3/doc/xml/manual/shared_ptr.xml
@@ -1,7 +1,8 @@
-<section id="std.util.memory.shared_ptr" xreflabel="shared_ptr">
+<section xmlns="http://docbook.org/ns/docbook" version="5.0"
+ xml:id="std.util.memory.shared_ptr" xreflabel="shared_ptr">
<?dbhtml filename="shared_ptr.html"?>
-<sectioninfo>
+<info><title>shared_ptr</title>
<keywordset>
<keyword>
ISO C++
@@ -10,17 +11,17 @@
shared_ptr
</keyword>
</keywordset>
-</sectioninfo>
+</info>
+
-<title>shared_ptr</title>
<para>
The shared_ptr class template stores a pointer, usually obtained via new,
and implements shared ownership semantics.
</para>
-<section id="shared_ptr.req">
-<title>Requirements</title>
+<section xml:id="shared_ptr.req"><info><title>Requirements</title></info>
+
<para>
</para>
@@ -43,8 +44,8 @@ and implements shared ownership semantics.
</para>
</section>
-<section id="shared_ptr.design_issues">
-<title>Design Issues</title>
+<section xml:id="shared_ptr.design_issues"><info><title>Design Issues</title></info>
+
<para>
@@ -67,11 +68,11 @@ technique known as type erasure.
</section>
-<section id="shared_ptr.impl">
-<title>Implementation</title>
+<section xml:id="shared_ptr.impl"><info><title>Implementation</title></info>
- <section>
- <title>Class Hierarchy</title>
+
+ <section><info><title>Class Hierarchy</title></info>
+
<para>
A <classname>shared_ptr&lt;T&gt;</classname> contains a pointer of
@@ -88,7 +89,7 @@ resource.
<term><classname>_Sp_counted_base&lt;Lp&gt;</classname></term>
<listitem>
<para>
-The base of the hierarchy is parameterized on the lock policy alone.
+The base of the hierarchy is parameterized on the lock policy (see below.)
_Sp_counted_base doesn't depend on the type of pointer being managed,
it only maintains the reference counts and calls virtual functions when
the counts drop to zero. The managed object is destroyed when the last
@@ -158,18 +159,8 @@ that simplifies the implementation slightly.
</section>
- <section>
- <title>Thread Safety</title>
-
- <para>
-The interface of <classname>tr1::shared_ptr</classname> was extended for C++0x
-with support for rvalue-references and the other features from
-N2351. As with other libstdc++ headers shared by TR1 and C++0x,
-boost_shared_ptr.h uses conditional compilation, based on the macros
-<constant>_GLIBCXX_INCLUDE_AS_CXX0X</constant> and
-<constant>_GLIBCXX_INCLUDE_AS_TR1</constant>, to enable and disable
-features.
- </para>
+ <section><info><title>Thread Safety</title></info>
+
<para>
C++0x-only features are: rvalue-ref/move support, allocator support,
@@ -180,8 +171,8 @@ deprecated in C++0x mode.
<para>
The
-<ulink url="http://boost.org/libs/smart_ptr/shared_ptr.htm#ThreadSafety">Thread
-Safety</ulink> section of the Boost shared_ptr documentation says "shared_ptr
+<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://boost.org/libs/smart_ptr/shared_ptr.htm#ThreadSafety">Thread
+Safety</link> section of the Boost shared_ptr documentation says "shared_ptr
objects offer the same level of thread safety as built-in types."
The implementation must ensure that concurrent updates to separate shared_ptr
instances are correct even when those instances share a reference count e.g.
@@ -234,8 +225,8 @@ Policy below for details.
</section>
- <section>
- <title>Selecting Lock Policy</title>
+ <section><info><title>Selecting Lock Policy</title></info>
+
<para>
</para>
@@ -264,8 +255,8 @@ available policies are:
</para>
<para>
Selected when GCC supports a builtin atomic compare-and-swap operation
-on the target processor (see <ulink url="http://gcc.gnu.org/onlinedocs/gcc/Atomic-Builtins.html">Atomic
-Builtins</ulink>.) The reference counts are maintained using a lock-free
+on the target processor (see <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/onlinedocs/gcc/Atomic-Builtins.html">Atomic
+Builtins</link>.) The reference counts are maintained using a lock-free
algorithm and GCC's atomic builtins, which provide the required memory
synchronisation.
</para>
@@ -302,27 +293,35 @@ used when libstdc++ is built without <literal>--enable-threads</literal>.
</para>
</section>
- <section>
- <title>Dual C++0x and TR1 Implementation</title>
+ <section><info><title>Dual C++0x and TR1 Implementation</title></info>
+
+
+<para>
+The interface of <classname>tr1::shared_ptr</classname> was extended for C++0x
+with support for rvalue-references and the other features from N2351.
+The <classname>_Sp_counted_base</classname> base class is implemented in
+<filename>tr1/boost_sp_shared_count.h</filename> and is common to the TR1
+and C++0x versions of <classname>shared_ptr</classname>.
+</para>
<para>
The classes derived from <classname>_Sp_counted_base</classname> (see Class Hierarchy
-below) and <classname>__shared_count</classname> are implemented separately for C++0x
-and TR1, in <filename>bits/boost_sp_shared_count.h</filename> and
-<filename>tr1/boost_sp_shared_count.h</filename> respectively. All other classes
-including <classname>_Sp_counted_base</classname> are shared by both implementations.
+above) and <classname>__shared_count</classname> are implemented separately for C++0x
+and TR1, in <filename>bits/shared_ptr.h</filename> and
+<filename>tr1/shared_ptr.h</filename> respectively.
</para>
<para>
The TR1 implementation is considered relatively stable, so is unlikely to
change unless bug fixes require it. If the code that is common to both
C++0x and TR1 modes needs to diverge further then it might be necessary to
-duplicate additional classes and only make changes to the C++0x versions.
+duplicate <classname>_Sp_counted_base</classname> and only make changes to
+the C++0x version.
</para>
</section>
-<section>
-<title>Related functions and classes</title>
+<section><info><title>Related functions and classes</title></info>
+
<variablelist>
@@ -414,25 +413,25 @@ the following types, depending on how the shared_ptr is constructed.
</listitem>
-->
-<section id="shared_ptr.using">
-<title>Use</title>
+<section xml:id="shared_ptr.using"><info><title>Use</title></info>
+
- <section>
- <title>Examples</title>
+ <section><info><title>Examples</title></info>
+
<para>
Examples of use can be found in the testsuite, under
- <filename class="directory">testsuite/tr1/2_general_utilities/shared_ptr</filename>.
+ <filename class="directory">testsuite/tr1/2_general_utilities/shared_ptr</filename>,
+ <filename class="directory">testsuite/20_util/shared_ptr</filename>
+ and
+ <filename class="directory">testsuite/20_util/weak_ptr</filename>.
</para>
</section>
- <section>
- <title>Unresolved Issues</title>
+ <section><info><title>Unresolved Issues</title></info>
+
<para>
- The resolution to C++ Standard Library issue <ulink url="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#674">674</ulink>,
- "shared_ptr interface changes for consistency with N1856" will
- need to be implemented after it is accepted into the working
- paper. Issue <ulink url="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#743">743</ulink>
- might also require changes.
+ The <emphasis><classname>shared_ptr</classname> atomic access</emphasis>
+ clause in the C++0x working draft is not implemented in GCC.
</para>
<para>
@@ -476,17 +475,12 @@ the following types, depending on how the shared_ptr is constructed.
would alter the ABI.
</para>
- <para>
- Exposing the alias constructor in TR1 mode could simplify the
- *_pointer_cast functions. Constructor could be private in TR1
- mode, with the cast functions as friends.
- </para>
</section>
</section>
-<section id="shared_ptr.ack">
-<title>Acknowledgments</title>
+<section xml:id="shared_ptr.ack"><info><title>Acknowledgments</title></info>
+
<para>
The original authors of the Boost shared_ptr, which is really nice
@@ -497,56 +491,48 @@ the following types, depending on how the shared_ptr is constructed.
</section>
-<bibliography id="shared_ptr.biblio">
-<title>Bibliography</title>
+<bibliography xml:id="shared_ptr.biblio"><info><title>Bibliography</title></info>
+
<biblioentry>
- <biblioid class="uri">
- <ulink url="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2351.htm">
- <citetitle>
- Improving shared_ptr for C++0x, Revision 2
- </citetitle>
- </ulink>
+ <biblioid xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2351.htm" class="uri">
</biblioid>
+ <citetitle>
+ Improving shared_ptr for C++0x, Revision 2
+ </citetitle>
<subtitle>
N2351
</subtitle>
</biblioentry>
<biblioentry>
- <biblioid class="uri">
- <ulink url="http://open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2456.html">
- <citetitle>
- C++ Standard Library Active Issues List
- </citetitle>
- </ulink>
+ <biblioid xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2456.html" class="uri">
</biblioid>
+ <citetitle>
+ C++ Standard Library Active Issues List
+ </citetitle>
<subtitle>
N2456
</subtitle>
</biblioentry>
<biblioentry>
- <biblioid class="uri">
- <ulink url="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2461.pdf">
- <citetitle>
- Working Draft, Standard for Programming Language C++
- </citetitle>
- </ulink>
+ <biblioid xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2461.pdf" class="uri">
</biblioid>
+ <citetitle>
+ Working Draft, Standard for Programming Language C++
+ </citetitle>
<subtitle>
N2461
</subtitle>
</biblioentry>
<biblioentry>
- <biblioid class="uri">
- <ulink url="http://boost.org/libs/smart_ptr/shared_ptr.htm">shared_ptr
- <citetitle>
- Boost C++ Libraries documentation, shared_ptr
- </citetitle>
- </ulink>
+ <biblioid xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://boost.org/libs/smart_ptr/shared_ptr.htm" class="uri">shared_ptr
</biblioid>
+ <citetitle>
+ Boost C++ Libraries documentation, shared_ptr
+ </citetitle>
<subtitle>
N2461
</subtitle>
diff --git a/libstdc++-v3/doc/xml/manual/spine.xml b/libstdc++-v3/doc/xml/manual/spine.xml
index edb650c879c..2ff83bd8e57 100644
--- a/libstdc++-v3/doc/xml/manual/spine.xml
+++ b/libstdc++-v3/doc/xml/manual/spine.xml
@@ -1,19 +1,14 @@
-<?xml version='1.0'?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
- "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
-[ ]>
-
-<book id="manual-index">
+<book xmlns="http://docbook.org/ns/docbook" version="5.0" xml:id="manual-index">
<?dbhtml dir="manual"?>
<?dbhtml filename="spine.html"?>
-<title>The GNU C++ Library</title>
-<bookinfo>
+
+<info>
<copyright>
<year>2009</year>
<year>2010</year>
<holder>
- <ulink url="http://www.fsf.org">FSF</ulink>
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.fsf.org">FSF</link>
</holder>
</copyright>
<legalnotice>
@@ -21,117 +16,98 @@
<link linkend="manual.intro.status.license">License</link>
</para>
</legalnotice>
-</bookinfo>
+</info>
<!-- Part 01 : Intro -->
-<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
- parse="xml" href="intro.xml">
+<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="intro.xml">
</xi:include>
<!-- Part 02 : Standard Contents -->
-<part id="manual.std" xreflabel="Standard Contents">
-<title>
+<part xml:id="manual.std" xreflabel="Standard Contents"><info><title>
Standard Contents
-</title>
+</title></info>
+
<!-- Chapter 01 : Support -->
-<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
- parse="xml" href="support.xml">
+<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="support.xml">
</xi:include>
<!-- Chapter 02 : Diagnostics -->
-<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
- parse="xml" href="diagnostics.xml">
+<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="diagnostics.xml">
</xi:include>
<!-- Chapter 03 : Utilities -->
-<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
- parse="xml" href="utilities.xml">
+<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="utilities.xml">
</xi:include>
<!-- Chapter 04 : Strings -->
-<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
- parse="xml" href="strings.xml">
+<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="strings.xml">
</xi:include>
<!-- Chapter 05 : Localization -->
-<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
- parse="xml" href="localization.xml">
+<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="localization.xml">
</xi:include>
<!-- Chapter 06 : Containers -->
-<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
- parse="xml" href="containers.xml">
+<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="containers.xml">
</xi:include>
<!-- Chapter 07 : Iterators -->
-<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
- parse="xml" href="iterators.xml">
+<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="iterators.xml">
</xi:include>
<!-- Chapter 08 : Algorithms -->
-<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
- parse="xml" href="algorithms.xml">
+<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="algorithms.xml">
</xi:include>
<!-- Chapter 09 : Numerics -->
-<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
- parse="xml" href="numerics.xml">
+<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="numerics.xml">
</xi:include>
<!-- Chapter 10 : Input Output -->
-<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
- parse="xml" href="io.xml">
+<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="io.xml">
</xi:include>
<!-- Chapter 11 : Atomics -->
-<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
- parse="xml" href="atomics.xml">
+<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="atomics.xml">
</xi:include>
<!-- Chapter 12 : Concurrency -->
-<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
- parse="xml" href="concurrency.xml">
+<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="concurrency.xml">
</xi:include>
</part>
<!-- Part 03 : Extensions -->
-<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
- parse="xml" href="extensions.xml">
+<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="extensions.xml">
</xi:include>
<!-- Part 04 : Appendices -->
-<part id="appendix" xreflabel="Appendices">
-<title>
+<part xml:id="appendix" xreflabel="Appendices"><info><title>
Appendices
-</title>
+</title></info>
+
<!-- Appendix A -->
-<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
- parse="xml" href="appendix_contributing.xml">
+<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="appendix_contributing.xml">
</xi:include>
<!-- Appendix B -->
-<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
- parse="xml" href="appendix_porting.xml">
+<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="appendix_porting.xml">
</xi:include>
<!-- Appendix C -->
-<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
- parse="xml" href="appendix_free.xml">
+<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="appendix_free.xml">
</xi:include>
<!-- Appendix D -->
-<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
- parse="xml" href="../gnu/gpl-3.0.xml">
+<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="../gnu/gpl-3.0.xml">
</xi:include>
<!-- Appendix E -->
-<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
- parse="xml" href="../gnu/fdl-1.3.xml">
+<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="../gnu/fdl-1.3.xml">
</xi:include>
</part>
diff --git a/libstdc++-v3/doc/xml/manual/status_cxx1998.xml b/libstdc++-v3/doc/xml/manual/status_cxx1998.xml
index c5e63fa977e..67f6f891df0 100644
--- a/libstdc++-v3/doc/xml/manual/status_cxx1998.xml
+++ b/libstdc++-v3/doc/xml/manual/status_cxx1998.xml
@@ -1,7 +1,8 @@
-<sect2 id="status.iso.1998" xreflabel="ISO C++ 1998">
+<section xmlns="http://docbook.org/ns/docbook" version="5.0"
+ xml:id="status.iso.1998" xreflabel="ISO C++ 1998">
<?dbhtml filename="status_iso_cxx1998.html"?>
-<sect2info>
+<info><title>C++ 1998/2003</title>
<keywordset>
<keyword>
ISO C++
@@ -10,12 +11,11 @@
1998
</keyword>
</keywordset>
-</sect2info>
+</info>
-<title>C++ 1998/2003</title>
-<sect3 id="iso.1998.status" xreflabel="Implementation Status">
- <title>Implementation Status</title>
+<section xml:id="iso.1998.status" xreflabel="Implementation Status">
+<info><title>Implementation Status</title></info>
<para>
This status table is based on the table of contents of ISO/IEC 14882:2003.
@@ -35,13 +35,14 @@ particular release.
Broken/Partial
<?dbhtml bgcolor="#B0B0B0" ?>
-->
-<table frame='all'>
-<title>C++ 1998/2003 Implementation Status</title>
-<tgroup cols='4' align='left' colsep='0' rowsep='1'>
-<colspec colname='c1'></colspec>
-<colspec colname='c2'></colspec>
-<colspec colname='c3'></colspec>
-<colspec colname='c4'></colspec>
+<table frame="all">
+ <title>C++ 1998/2003 Implementation Status</title>
+
+<tgroup cols="4" align="left" colsep="0" rowsep="1">
+<colspec colname="c1"/>
+<colspec colname="c2"/>
+<colspec colname="c3"/>
+<colspec colname="c4"/>
<thead>
<row>
<entry>Section</entry>
@@ -65,25 +66,25 @@ particular release.
<entry>18.1</entry>
<entry>Types</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>18.2</entry>
<entry>Implementation properties</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>18.2.1</entry>
<entry>Numeric Limits</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>18.2.1.1</entry>
<entry>Class template <code>numeric_limits</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>18.2.1.2</entry>
@@ -104,85 +105,85 @@ particular release.
<entry>18.2.1.5</entry>
<entry><code>numeric_limits</code> specializations</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>18.2.2</entry>
<entry>C Library</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>18.3</entry>
<entry>Start and termination</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>18.4</entry>
<entry>Dynamic memory management</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>18.5</entry>
<entry>Type identification</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>18.5.1</entry>
<entry>Class type_info</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>18.5.2</entry>
<entry>Class bad_cast</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>18.5.3</entry>
<entry>Class bad_typeid</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>18.6</entry>
<entry>Exception handling</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>18.6.1</entry>
<entry>Class exception</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>18.6.2</entry>
<entry>Violation exception-specifications</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>18.6.3</entry>
<entry>Abnormal termination</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>18.6.4</entry>
<entry><code>uncaught_exception</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>18.7</entry>
<entry>Other runtime support</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>
@@ -196,19 +197,19 @@ particular release.
<entry>19.1</entry>
<entry>Exception classes</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>19.2</entry>
<entry>Assertions</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>19.3</entry>
<entry>Error numbers</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>
@@ -222,139 +223,139 @@ particular release.
<entry>20.1</entry>
<entry>Requirements</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.2</entry>
<entry>Utility components</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>20.2.1</entry>
<entry>Operators</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.2.2</entry>
<entry><code>pair</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.3</entry>
<entry>Function objects</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>20.3.1</entry>
<entry>Base</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.3.2</entry>
<entry>Arithmetic operation</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.3.3</entry>
<entry>Comparisons</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.3.4</entry>
<entry>Logical operations</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.3.5</entry>
<entry>Negators</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.3.6</entry>
<entry>Binders</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.3.7</entry>
<entry>Adaptors for pointers to functions</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.3.8</entry>
<entry>Adaptors for pointers to members</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.4</entry>
<entry>Memory</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>20.4.1</entry>
<entry>The default allocator</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.4.2</entry>
<entry>Raw storage iterator</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.4.3</entry>
<entry>Temporary buffers</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.4.4</entry>
<entry>Specialized algorithms</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.4.4.1</entry>
<entry><code>uninitialized_copy</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.4.4.2</entry>
<entry><code>uninitialized_fill</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.4.4.3</entry>
<entry><code>uninitialized_fill_n</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.4.5</entry>
<entry>Class template <code>auto_ptr</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.4.6</entry>
<entry>C library</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>
@@ -367,50 +368,50 @@ particular release.
<row>
<entry>21.1</entry>
<entry>Character traits</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>21.1.1</entry>
<entry>Character traits requirements</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>21.1.2</entry>
<entry>traits typedef</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>21.1.3</entry>
<entry><code>char_traits</code> specializations</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>21.1.3.1</entry>
<entry>struct <code>char_traits&lt;char&gt;</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>21.1.3.2</entry>
<entry>struct <code>char_traits&lt;wchar_t&gt;</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>21.2</entry>
<entry>String classes</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>21.3</entry>
<entry>Class template <code>basic_string</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>21.4</entry>
@@ -429,158 +430,158 @@ particular release.
<row>
<entry>22.1</entry>
<entry>Locales</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>22.1.1</entry>
<entry>Class <code>locale</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>22.1.2</entry>
<entry><code>locale</code> globals</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>22.1.3</entry>
<entry>Convenience interfaces</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>22.1.3.1</entry>
<entry>Character classification</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>22.1.3.2</entry>
<entry>Character conversions</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>22.2</entry>
<entry>Standard locale categories</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>22.2.1</entry>
<entry><code>ctype</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>22.2.2</entry>
<entry>Numeric</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>22.2.2.1</entry>
<entry><code>num_get</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>22.2.2.2</entry>
<entry><code>num_put</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>22.2.3</entry>
<entry><code>num_punct</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>22.2.4</entry>
<entry><code>collate</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>22.2.5</entry>
<entry>Time</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>22.2.5.1</entry>
<entry><code>time_get</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>22.2.5.2</entry>
<entry><code>time_get_byname</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>22.2.5.3</entry>
<entry><code>time_put</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>22.2.5.3</entry>
<entry><code>time_put_byname</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>22.2.6</entry>
<entry>Monetary</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>22.2.6.1</entry>
<entry><code>money_get</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>22.2.6.2</entry>
<entry><code>money_put</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>22.2.6.3</entry>
<entry><code>money_punct</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>22.2.6.4</entry>
<entry><code>money_punct_byname</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>22.2.7</entry>
<entry><code>messages</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>22.2.8</entry>
<entry>Program-defined facets</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>22.3</entry>
<entry>C Library Locales</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>
@@ -594,91 +595,91 @@ particular release.
<entry>23.1</entry>
<entry>Container requirements</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>23.2</entry>
<entry>Sequence containers</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>23.2.1</entry>
<entry>Class template <code>deque</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>23.2.2</entry>
<entry>Class template <code>list</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>23.2.3</entry>
<entry>Adaptors</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>23.2.3.1</entry>
<entry>Class template <code>queue</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>23.2.3.2</entry>
<entry>Class template <code>priority_queue</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>23.2.3.3</entry>
<entry>Class template <code>stack</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>23.2.4</entry>
<entry>Class template <code>vector</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>23.2.5</entry>
<entry>Class <code>vector&lt;bool&gt;</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>23.3</entry>
<entry>Associative containers</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>23.3.1</entry>
<entry>Class template <code>map</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>23.3.2</entry>
<entry>Class template <code>multimap</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>23.3.3</entry>
<entry>Class template <code>set</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>23.3.4</entry>
<entry>Class template <code>multiset</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>
@@ -692,67 +693,67 @@ particular release.
<entry>24.1</entry>
<entry>Requirements</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>24.2</entry>
<entry>Header <code>&lt;iterator&gt;</code> synopsis</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>24.3</entry>
<entry>Iterator primitives</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>24.4</entry>
<entry>Predefined iterators and Iterator adaptors</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>24.4.1</entry>
<entry>Reverse iterators</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>24.4.2</entry>
<entry>Insert iterators</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>24.5</entry>
<entry>Stream iterators</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>24.5.1</entry>
<entry>Class template <code>istream_iterator</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>24.5.2</entry>
<entry>Class template <code>ostream_iterator</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>24.5.3</entry>
<entry>Class template <code>istreambuf_iterator</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>24.5.4</entry>
<entry>Class template <code>ostreambuf_iterator</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>
@@ -766,25 +767,25 @@ particular release.
<entry>25.1</entry>
<entry>Non-modifying sequence operations</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>25.2</entry>
<entry>Mutating sequence operations</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>25.3</entry>
<entry>Sorting and related operations</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>25.4</entry>
<entry>C library algorithms</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>
@@ -798,115 +799,115 @@ particular release.
<entry>26.1</entry>
<entry>Numeric type requirements</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>26.2</entry>
<entry>Complex numbers</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>26.3</entry>
<entry>Numeric arrays</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>26.3.1</entry>
<entry>Header <code>&lt;valarray&gt;</code> synopsis</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>26.3.2</entry>
<entry>Class template <code>valarray</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>26.3.3</entry>
<entry><code>valarray</code> non-member operations</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>26.3.4</entry>
<entry>Class <code>slice</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>26.3.5</entry>
<entry>Class template <code>slice_array</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>26.3.6</entry>
<entry>Class <code>gslice</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>26.3.7</entry>
<entry>Class template <code>gslice_array</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>26.3.8</entry>
<entry>Class template <code>mask_array</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>26.3.9</entry>
<entry>Class template <code>indirect_array</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>26.4</entry>
<entry>Generalized numeric operations</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>26.4.1</entry>
<entry><code>accumulate</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>26.4.2</entry>
<entry><code>inner_product</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>26.4.3</entry>
<entry><code>partial_sum</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>26.4.4</entry>
<entry><code>adjacent_difference</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>26.4.5</entry>
<entry>iota</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>26.5</entry>
<entry>C Library</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>
@@ -920,61 +921,61 @@ particular release.
<entry>27.1</entry>
<entry>Requirements</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>27.2</entry>
<entry>Forward declarations</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>27.3</entry>
<entry>Standard iostream objects</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>27.3.1</entry>
<entry>Narrow stream objects</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>27.3.2</entry>
<entry>Wide stream objects</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>27.4</entry>
<entry>Iostreams base classes</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>27.5</entry>
<entry>Stream buffers</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>27.6</entry>
<entry>Formatting and manipulators</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>27.7</entry>
<entry>String-based streams</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>27.8</entry>
<entry>File-based streams</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>
@@ -987,53 +988,53 @@ particular release.
<row>
<entry>D.1</entry>
<entry>Increment operator with bool operand</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>D.2</entry>
<entry><code>static</code> keyword</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>D.3</entry>
<entry>Access declarations</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>D.4</entry>
<entry>Implicit conversion from const strings</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>D.5</entry>
<entry>C standard library headers</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>D.6</entry>
<entry>Old iostreams members</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>D.7</entry>
<entry>char* streams</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
</tbody>
</tgroup>
</table>
-</sect3>
+</section>
-<sect3 id="iso.1998.specific" xreflabel="Implementation Specific">
- <title>Implementation Specific Behavior</title>
+<section xml:id="iso.1998.specific" xreflabel="Implementation Specific"><info><title>Implementation Specific Behavior</title></info>
+
<para>
The ISO standard defines the following phrase:
@@ -1056,8 +1057,8 @@ particular release.
</blockquote>
<para>
We do so here, for the C++ library only. Behavior of the
- compiler, linker, runtime loader, and other elements of &quot;the
- implementation&quot; are documented elsewhere. Everything listed
+ compiler, linker, runtime loader, and other elements of "the
+ implementation" are documented elsewhere. Everything listed
in Annex B, Implementation Qualities, are also part of the
compiler, not the library.
</para>
@@ -1104,13 +1105,13 @@ particular release.
<code>std::type_info::name()</code> is the mangled type name (see the
previous entry for more).
</para>
- <para><emphasis>[20.1.5]/5</emphasis> <emphasis>&quot;Implementors are encouraged to
+ <para><emphasis>[20.1.5]/5</emphasis> <emphasis>"Implementors are encouraged to
supply libraries that can accept allocators that encapsulate more
general memory models and that support non-equal instances. In such
implementations, any requirements imposed on allocators by containers
beyond those requirements that appear in Table 32, and the semantics
of containers and algorithms when allocator instances compare
- non-equal, are implementation-defined.&quot;</emphasis> As yet we don't
+ non-equal, are implementation-defined."</emphasis> As yet we don't
have any allocators which compare non-equal, so we can't describe how
they behave.
</para>
@@ -1158,6 +1159,6 @@ particular release.
a get area exists will... whatever <code>fflush()</code> does, I think.
</para>
-</sect3>
+</section>
-</sect2>
+</section>
diff --git a/libstdc++-v3/doc/xml/manual/status_cxx200x.xml b/libstdc++-v3/doc/xml/manual/status_cxx200x.xml
index 718e47bb098..4a74ea7aa46 100644
--- a/libstdc++-v3/doc/xml/manual/status_cxx200x.xml
+++ b/libstdc++-v3/doc/xml/manual/status_cxx200x.xml
@@ -1,7 +1,8 @@
-<sect2 id="status.iso.200x" xreflabel="Status C++ 200x">
+<section xmlns="http://docbook.org/ns/docbook" version="5.0"
+ xml:id="status.iso.200x" xreflabel="Status C++ 200x">
<?dbhtml filename="status_iso_cxx200x.html"?>
-<sect2info>
+<info><title>C++ 200x</title>
<keywordset>
<keyword>
ISO C++
@@ -10,9 +11,7 @@
200x
</keyword>
</keywordset>
-</sect2info>
-
-<title>C++ 200x</title>
+</info>
<para>
This table is based on the table of contents of ISO/IEC
@@ -44,13 +43,14 @@ particular release.
Broken/Partial
<?dbhtml bgcolor="#B0B0B0" ?>
-->
-<table frame='all'>
+<table frame="all">
<title>C++ 200x Implementation Status</title>
-<tgroup cols='4' align='left' colsep='0' rowsep='1'>
-<colspec colname='c1'></colspec>
-<colspec colname='c2'></colspec>
-<colspec colname='c3'></colspec>
-<colspec colname='c4'></colspec>
+
+<tgroup cols="4" align="left" colsep="0" rowsep="1">
+<colspec colname="c1"/>
+<colspec colname="c2"/>
+<colspec colname="c3"/>
+<colspec colname="c4"/>
<thead>
<row>
<entry>Section</entry>
@@ -75,7 +75,7 @@ particular release.
<entry>18.1</entry>
<entry>General</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#B0B0B0" ?>
@@ -87,21 +87,21 @@ particular release.
<row>
<entry>18.3</entry>
<entry>Implementation properties</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>18.3.1</entry>
<entry>Numeric Limits</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>18.3.1.1</entry>
<entry>Class template <code>numeric_limits</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#B0B0B0" ?>
@@ -115,40 +115,40 @@ particular release.
<entry>18.3.1.3</entry>
<entry><code>float_round_style</code></entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>18.3.1.4</entry>
<entry><code>float_denorm_style</code></entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>18.3.1.5</entry>
<entry><code>numeric_limits</code> specializations</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>18.3.2</entry>
<entry>C Library</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>18.4</entry>
<entry>Integer types</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>18.4.1</entry>
<entry>Header <code>&lt;cstdint&gt;</code> synopsis</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#B0B0B0" ?>
@@ -161,104 +161,104 @@ particular release.
<entry>18.6</entry>
<entry>Dynamic memory management</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>18.7</entry>
<entry>Type identification</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>18.7.1</entry>
<entry>Class type_info</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>18.7.2</entry>
<entry>Class bad_cast</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>18.7.3</entry>
<entry>Class bad_typeid</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>18.8</entry>
<entry>Exception handling</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>18.8.1</entry>
<entry>Class exception</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>18.8.2</entry>
<entry>Violating exception-specifications</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>18.8.3</entry>
<entry>Abnormal termination</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>18.8.4</entry>
<entry><code>uncaught_exception</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>18.8.5</entry>
<entry>Exception Propagation</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>18.8.6</entry>
<entry><code>nested_exception</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>18.9</entry>
<entry>Initializer lists</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>18.9.1</entry>
<entry>Initializer list constructors</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>18.9.2</entry>
<entry>Initializer list access</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>18.9.3</entry>
<entry>Initializer list range access</entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>18.10</entry>
<entry>Other runtime support</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>
@@ -272,61 +272,61 @@ particular release.
<entry>19.1</entry>
<entry>General</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>19.2</entry>
<entry>Exception classes</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>19.3</entry>
<entry>Assertions</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>19.4</entry>
<entry>Error numbers</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>19.5</entry>
<entry>System error support</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>19.5.1</entry>
<entry>Class <code>error_category</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>19.5.2</entry>
<entry>Class <code>error_code</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>19.5.3</entry>
<entry>Class <code>error_condition</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>19.5.4</entry>
<entry>Comparison operators</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>19.5.5</entry>
<entry>Class <code>system_error</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>
@@ -339,56 +339,56 @@ particular release.
<row>
<entry>20.1</entry>
<entry>General</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>20.2</entry>
<entry>Requirements</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>20.3</entry>
<entry>Utility components</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>20.3.1</entry>
<entry>Operators</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.3.2</entry>
<entry>Swap</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.3.3</entry>
<entry><code>forward</code> and <code>move</code> helpers</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.3.4</entry>
<entry>Function template <code>declval</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.3.5</entry>
<entry>Pairs</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>20.3.5.1</entry>
<entry>In general</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#B0B0B0" ?>
@@ -401,33 +401,33 @@ particular release.
<entry>20.3.5.3</entry>
<entry>Tuple-like access to <code>pair</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>20.3.5.4</entry>
<entry><code>pair</code> range access</entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>20.3.5.5</entry>
<entry>Piecewise construction</entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.4</entry>
<entry>Tuples</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>20.4.1</entry>
<entry>In general</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#B0B0B0" ?>
@@ -445,74 +445,74 @@ particular release.
<row>
<entry>20.6</entry>
<entry>Compile-time rational arithmetic</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>20.6.1</entry>
<entry>Class template <code>ratio</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.6.2</entry>
<entry>Arithmetic on <code>ratio</code> types</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.6.3</entry>
<entry>Comparison of <code>ratio</code> types</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.6.4</entry>
<entry>SI types for <code>ratio</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.7</entry>
<entry>Metaprogramming and type traits</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>20.7.1</entry>
<entry>Requirements</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.7.2</entry>
<entry>Header <code>&lt;type_traits&gt;</code> synopsis</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>20.7.3</entry>
<entry>Helper classes</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.7.4</entry>
<entry>Unary Type Traits</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.7.4.1</entry>
<entry>Primary type categories</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.7.4.2</entry>
<entry>Composite type traits</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#B0B0B0" ?>
@@ -525,7 +525,7 @@ particular release.
<entry>20.7.5</entry>
<entry>Relationships between types</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#B0B0B0" ?>
@@ -538,274 +538,274 @@ particular release.
<entry>20.7.6.1</entry>
<entry>Const-volatile modifications</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.7.6.2</entry>
<entry>Reference modifications</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.7.6.3</entry>
<entry>Sign modifications</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.7.6.4</entry>
<entry>Array modifications</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.7.6.5</entry>
<entry>Pointer modifications</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.7.6.6</entry>
<entry>Other transformations</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.8</entry>
<entry>Function objects</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>20.8.1</entry>
<entry>Definitions</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.8.2</entry>
<entry>Requirements</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.8.3</entry>
<entry>Base</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.8.4</entry>
<entry>Class template <code>reference_wrapper</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.8.5</entry>
<entry>Arithmetic operation</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.8.6</entry>
<entry>Comparisons</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.8.7</entry>
<entry>Logical operations</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.8.8</entry>
<entry>Bitwise operations</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.8.9</entry>
<entry>Negators</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.8.10</entry>
<entry>Function template <code>bind</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.8.11</entry>
<entry>Adaptors for pointers to functions</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.8.12</entry>
<entry>Adaptors for pointers to members</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.8.13</entry>
<entry>Function template <code>mem_fn</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.8.14</entry>
<entry>Polymorphic function wrappers</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>20.8.14.1</entry>
<entry>Class <code>bad_function_call</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.8.14.2</entry>
<entry>Class template <code>function</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.8.15</entry>
<entry>Class template <code>hash</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.9</entry>
<entry>Memory</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>20.9.1</entry>
<entry>Allocator argument tag</entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>20.9.2</entry>
<entry><code>uses_allocator</code></entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>20.9.3</entry>
<entry>Pointer traits</entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>20.9.4</entry>
<entry>Allocator traits</entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.9.5</entry>
<entry>The default allocator</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>20.9.6</entry>
<entry>Scoped allocator adaptor</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>20.9.6.1</entry>
<entry>Scoped allocator adaptor member types</entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>20.9.6.2</entry>
<entry>Scoped allocator adaptor constructors</entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>20.9.6.3</entry>
<entry>Scoped allocator adaptor members</entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.9.7</entry>
<entry>Raw storage iterator</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.9.8</entry>
<entry>Temporary buffers</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.9.9</entry>
<entry>Specialized algorithms</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>20.9.9.1</entry>
<entry><code>addressof</code></entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.9.9.2</entry>
<entry><code>uninitialized_copy</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.9.9.3</entry>
<entry><code>uninitialized_fill</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.9.9.4</entry>
<entry><code>uninitialized_fill_n</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.9.10</entry>
<entry>Class template <code>unique_ptr</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.9.11</entry>
<entry>Smart pointers</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>20.9.11.1</entry>
<entry>Class <code>bad_weak_ptr</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.9.11.2</entry>
@@ -814,7 +814,7 @@ particular release.
<entry>
<para>
Uses code from
- <ulink url="http://www.boost.org/libs/smart_ptr/shared_ptr.htm">boost::shared_ptr</ulink>.
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.boost.org/libs/smart_ptr/shared_ptr.htm">boost::shared_ptr</link>.
</para>
</entry>
</row>
@@ -822,70 +822,70 @@ particular release.
<entry>20.9.11.3</entry>
<entry>Class template <code>weak_ptr</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.9.11.4</entry>
<entry>Class template <code>emable_shared_from_this</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#B0B0B0" ?>
<entry>20.9.11.5</entry>
<entry><code>shared_ptr</code> atomic access</entry>
<entry>Partial</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.9.11.6</entry>
<entry>Hash support</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#B0B0B0" ?>
<entry>20.9.12</entry>
<entry>Pointer safety</entry>
<entry>Partial</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>20.9.13</entry>
<entry>Align</entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.9.16</entry>
<entry>C library</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.10</entry>
<entry>Time utilities</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>20.10.1</entry>
<entry>Clock requirements</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.10.2</entry>
<entry>Time-related traits</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>20.10.2.1</entry>
<entry><code>treat_as_floating_point</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.10.2.2</entry>
@@ -897,7 +897,7 @@ particular release.
<entry>20.10.2.3</entry>
<entry>Specializations of <code>common_type</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.10.3</entry>
@@ -914,39 +914,39 @@ particular release.
<row>
<entry>20.10.5</entry>
<entry>Clocks</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>20.10.5.1</entry>
<entry>Class <code>system_clock</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.10.5.2</entry>
<entry>Class <code>monotonic_clock</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.10.5.3</entry>
<entry>Class <code>high_resolution_clock</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>20.11</entry>
<entry>Date and time functions</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>20.12</entry>
<entry>Class <code>type_index</code></entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>
@@ -960,31 +960,31 @@ particular release.
<entry>21.1</entry>
<entry>General</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>21.2</entry>
<entry>Character traits</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>21.2.1</entry>
<entry>Character traits requirements</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>21.2.2</entry>
<entry>traits typedefs</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>21.2.3</entry>
<entry><code>char_traits</code> specializations</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>21.2.3.1</entry>
@@ -1014,25 +1014,25 @@ particular release.
<entry>21.3</entry>
<entry>String classes</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>21.4</entry>
<entry>Class template <code>basic_string</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>21.5</entry>
<entry>Numeric Conversions</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>21.6</entry>
<entry>Hash support</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>21.7</entry>
@@ -1052,196 +1052,196 @@ particular release.
<entry>22.1</entry>
<entry>General</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>22.2</entry>
<entry>Header <code>&lt;locale&gt;</code> synopsis</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>22.3</entry>
<entry>Locales</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>22.3.1</entry>
<entry>Class <code>locale</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>22.3.2</entry>
<entry><code>locale</code> globals</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>22.3.3</entry>
<entry>Convenience interfaces</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>22.3.3.1</entry>
<entry>Character classification</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>22.3.3.2</entry>
<entry>Conversions</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>22.3.3.2.1</entry>
<entry>Character conversions</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>22.3.3.2.2</entry>
<entry><code>string</code> conversions</entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>22.3.3.2.3</entry>
<entry>Buffer conversions</entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>22.4</entry>
<entry>Standard <code>locale</code> categories</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>22.4.1</entry>
<entry>The <code>ctype</code> category</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>22.4.2</entry>
<entry>The numeric category</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>22.4.2.1</entry>
<entry><code>num_get</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>22.4.2.2</entry>
<entry><code>num_put</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>22.4.3</entry>
<entry>The numeric punctuation facet</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>22.4.4</entry>
<entry>The collate category</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>22.4.5</entry>
<entry>The time category</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>22.4.5.1</entry>
<entry>Class template <code>time_get</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>22.4.5.2</entry>
<entry>Class template <code>time_get_byname</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>22.4.5.3</entry>
<entry>Class template <code>time_put</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>22.4.5.3</entry>
<entry>Class template <code>time_put_byname</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>22.4.6</entry>
<entry>The monetary category</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>22.4.6.1</entry>
<entry>Class template <code>money_get</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>22.4.6.2</entry>
<entry>Class template <code>money_put</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>22.4.6.3</entry>
<entry>Class template <code>money_punct</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>22.4.6.4</entry>
<entry>Class template <code>money_punct_byname</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>22.4.7</entry>
<entry>The message retrieval category</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>22.4.8</entry>
<entry>Program-defined facets</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>22.5</entry>
<entry>Standard code conversion facets</entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>22.6</entry>
<entry>C Library Locales</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>
@@ -1254,50 +1254,50 @@ particular release.
<row>
<entry>23.1</entry>
<entry>General</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>23.2</entry>
<entry>Container requirements</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>23.2.1</entry>
<entry>General container requirements</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>23.2.2</entry>
<entry>Data races</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>23.2.3</entry>
<entry>Sequence containers</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>23.2.4</entry>
<entry>Associative containers</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>23.2.5</entry>
<entry>Unordered associative containers</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>23.3</entry>
<entry>Sequence containers</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>23.3.1</entry>
@@ -1309,115 +1309,115 @@ particular release.
<entry>23.3.2</entry>
<entry>Class template <code>deque</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>23.3.3</entry>
<entry>Class template <code>forward_list</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>23.3.4</entry>
<entry>Class template <code>list</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>23.3.5</entry>
<entry>Container adaptors</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>23.3.5.1</entry>
<entry>Class template <code>queue</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>23.3.5.2</entry>
<entry>Class template <code>priority_queue</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>23.3.5.3</entry>
<entry>Class template <code>stack</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>23.3.6</entry>
<entry>Class template <code>vector</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>23.3.7</entry>
<entry>Class <code>vector&lt;bool&gt;</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>23.4</entry>
<entry>Associative containers</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>23.4.1</entry>
<entry>Class template <code>map</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>23.4.2</entry>
<entry>Class template <code>multimap</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>23.4.3</entry>
<entry>Class template <code>set</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>23.4.4</entry>
<entry>Class template <code>multiset</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>23.5</entry>
<entry>Unordered associative containers</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>23.5.1</entry>
<entry>Class template <code>unordered_map</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>23.5.2</entry>
<entry>Class template <code>unordered_multimap</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>23.5.3</entry>
<entry>Class template <code>unordered_set</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>23.5.4</entry>
<entry>Class template <code>unordered_multiset</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>
@@ -1431,86 +1431,86 @@ particular release.
<entry>24.1</entry>
<entry>General</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>24.2</entry>
<entry>Iterator requirements</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>24.3</entry>
<entry>Header <code>&lt;iterator&gt;</code> synopsis</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>24.4</entry>
<entry>Iterator primitives</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>24.5</entry>
<entry>Iterator adaptors</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>24.5.1</entry>
<entry>Reverse iterators</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>24.5.2</entry>
<entry>Insert iterators</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>24.5.3</entry>
<entry>Move iterators</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>24.6</entry>
<entry>Stream iterators</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>24.6.1</entry>
<entry>Class template <code>istream_iterator</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>24.6.2</entry>
<entry>Class template <code>ostream_iterator</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>24.6.3</entry>
<entry>Class template <code>istreambuf_iterator</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>24.6.4</entry>
<entry>Class template <code>ostreambuf_iterator</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>24.6.5</entry>
<entry>range access</entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>
@@ -1523,32 +1523,32 @@ particular release.
<row>
<entry>25.1</entry>
<entry>General</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>25.2</entry>
<entry>Non-modifying sequence operations</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>25.3</entry>
<entry>Mutating sequence operations</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>25.4</entry>
<entry>Sorting and related operations</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>25.5</entry>
<entry>C library algorithms</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>
@@ -1562,19 +1562,19 @@ particular release.
<entry>26.1</entry>
<entry>General</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>26.2</entry>
<entry>Numeric type requirements</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>26.3</entry>
<entry>The floating-point environment</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>26.4</entry>
@@ -1585,26 +1585,26 @@ particular release.
<row>
<entry>26.5</entry>
<entry>Random number generation</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>26.5.1</entry>
<entry>Requirements</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>26.5.2</entry>
<entry>Header <code>&lt;random&gt;</code> synopsis</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>26.5.3</entry>
<entry>Random number engine class templates</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>26.5.3.1</entry>
@@ -1627,8 +1627,8 @@ particular release.
<row>
<entry>26.5.4</entry>
<entry>Random number engine adaptor class templates</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>26.5.4.1</entry>
@@ -1652,7 +1652,7 @@ particular release.
<entry>26.5.5</entry>
<entry>Engines and engine adaptors with predefined parameters</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>26.5.6</entry>
@@ -1663,285 +1663,285 @@ particular release.
<row>
<entry>26.5.7</entry>
<entry>Utilities</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>26.5.7.1</entry>
<entry>Class <code>seed_seq</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>26.5.7.2</entry>
<entry>Function template <code>generate_canonical</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>26.5.8</entry>
<entry>Random number distribution class templates</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>26.5.8.1</entry>
<entry>Uniform distributions</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>26.5.8.1.1</entry>
<entry>Class template <code>uniform_int_distribution</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>26.5.8.1.2</entry>
<entry>Class template <code>uniform_real_distribution</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>26.5.8.2</entry>
<entry>Bernoulli distributions</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>26.5.8.2.1</entry>
<entry>Class <code>bernoulli_distribution</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>26.5.8.2.2</entry>
<entry>Class template <code>binomial_distribution</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>26.5.8.2.3</entry>
<entry>Class template <code>geometric_distribution</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>26.5.8.2.4</entry>
<entry>Class template <code>negative_binomial_distribution</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>26.5.8.3</entry>
<entry>Poisson distributions</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>26.5.8.3.1</entry>
<entry>Class template <code>poisson_distribution</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>26.5.8.3.2</entry>
<entry>Class template <code>exponential_distribution</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>26.5.8.3.3</entry>
<entry>Class template <code>gamma_distribution</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>26.5.8.3.4</entry>
<entry>Class template <code>weibull_distribution</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>26.5.8.3.5</entry>
<entry>Class template <code>extreme_value_distribution</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>26.5.8.4</entry>
<entry>Normal distributions</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>26.5.8.4.1</entry>
<entry>Class template <code>normal_distribution</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>26.5.8.4.2</entry>
<entry>Class template <code>lognormal_distribution</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>26.5.8.4.3</entry>
<entry>Class template <code>chi_squared_distribution</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>26.5.8.4.4</entry>
<entry>Class template <code>cauchy_distribution</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>26.5.8.4.5</entry>
<entry>Class template <code>fisher_f_distribution</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>26.5.8.4.6</entry>
<entry>Class template <code>student_t_distribution</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>26.5.8.5</entry>
<entry>Sampling distributions</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>26.5.8.5.1</entry>
<entry>Class template <code>discrete_distribution</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>26.5.8.5.2</entry>
<entry>Class template <code>piecewise_constant_distribution</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>26.5.8.5.3</entry>
<entry>Class template <code>piecewise_linear_distribution</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>26.6</entry>
<entry>Numeric arrays</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>26.6.1</entry>
<entry>Header <code>&lt;valarray&gt;</code> synopsis</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>26.6.2</entry>
<entry>Class template <code>valarray</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>26.6.3</entry>
<entry><code>valarray</code> non-member operations</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>26.6.4</entry>
<entry>Class <code>slice</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>26.6.5</entry>
<entry>Class template <code>slice_array</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>26.6.6</entry>
<entry>The <code>gslice</code> class</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>26.6.7</entry>
<entry>Class template <code>gslice_array</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>26.6.8</entry>
<entry>Class template <code>mask_array</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>26.6.9</entry>
<entry>Class template <code>indirect_array</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>26.6.10</entry>
<entry><code>valarray</code> range access</entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>26.7</entry>
<entry>Generalized numeric operations</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>26.7.1</entry>
<entry><code>accumulate</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>26.7.2</entry>
<entry><code>inner_product</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>26.7.3</entry>
<entry><code>partial_sum</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>26.7.4</entry>
<entry><code>adjacent_difference</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>26.7.5</entry>
<entry>iota</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>26.8</entry>
<entry>C Library</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>
@@ -1955,86 +1955,90 @@ particular release.
<entry>27.1</entry>
<entry>General</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>27.2</entry>
<entry>Iostreams requirements</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>27.2.1</entry>
<entry>Imbue Limitations</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>27.2.2</entry>
<entry>Positioning Type Limitations</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#B0B0B0" ?>
<entry>27.2.3</entry>
<entry>Thread safety</entry>
<entry>Partial</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>27.3</entry>
<entry>Forward declarations</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>27.4</entry>
<entry>Standard iostream objects</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>27.4.1</entry>
<entry>Narrow stream objects</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>27.4.2</entry>
<entry>Wide stream objects</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
+ <?dbhtml bgcolor="#B0B0B0" ?>
<entry>27.5</entry>
<entry>Iostreams base classes</entry>
- <entry>Y</entry>
- <entry></entry>
+ <entry>Partial</entry>
+ <entry>Missing move and swap operations</entry>
</row>
<row>
<entry>27.6</entry>
<entry>Stream buffers</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
+ <?dbhtml bgcolor="#B0B0B0" ?>
<entry>27.7</entry>
<entry>Formatting and manipulators</entry>
- <entry>Y</entry>
- <entry></entry>
+ <entry>Partial</entry>
+ <entry>Missing move and swap operations</entry>
</row>
<row>
+ <?dbhtml bgcolor="#B0B0B0" ?>
<entry>27.8</entry>
<entry>String-based streams</entry>
- <entry>Y</entry>
- <entry></entry>
+ <entry>Partial</entry>
+ <entry>Missing move and swap operations</entry>
</row>
<row>
+ <?dbhtml bgcolor="#B0B0B0" ?>
<entry>27.9</entry>
<entry>File-based streams</entry>
- <entry>Y</entry>
- <entry></entry>
+ <entry>Partial</entry>
+ <entry>Missing move and swap operations</entry>
</row>
<row>
<entry>
@@ -2049,89 +2053,89 @@ particular release.
<entry>28.1</entry>
<entry>General</entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>28.2</entry>
<entry>Definitions</entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>28.3</entry>
<entry>Requirements</entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>28.4</entry>
<entry>Header <code>&lt;regex&gt;</code> synopsis</entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>28.5</entry>
<entry>Namespace <code>std::regex_constants</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>28.6</entry>
<entry>Class <code>regex_error</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#B0B0B0" ?>
<entry>28.7</entry>
<entry>Class template <code>regex_traits</code></entry>
<entry>Partial</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#B0B0B0" ?>
<entry>28.8</entry>
<entry>Class template <code>basic_regex</code></entry>
<entry>Partial</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#B0B0B0" ?>
<entry>28.9</entry>
<entry>Class template <code>sub_match</code></entry>
<entry>Partial</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#B0B0B0" ?>
<entry>28.10</entry>
<entry>Class template <code>match_results</code></entry>
<entry>Partial</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>28.11</entry>
<entry>Regular expression algorithms</entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>28.12</entry>
<entry>Regular expression Iterators</entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>28.13</entry>
<entry>Modified ECMAScript regular expression grammar</entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>
@@ -2145,20 +2149,20 @@ particular release.
<entry>29.1</entry>
<entry>General</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>29.2</entry>
<entry>Header <code>&lt;atomic&gt;</code> synopsis</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>29.3</entry>
<entry>Order and consistency</entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>29.4</entry>
@@ -2169,8 +2173,8 @@ particular release.
<row>
<entry>29.5</entry>
<entry>Atomic types</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>29.5.1</entry>
@@ -2194,20 +2198,20 @@ particular release.
<entry>29.6</entry>
<entry>Operations on atomic types</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>29.7</entry>
<entry>Flag Type and operations</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>29.8</entry>
<entry>Fences</entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>
@@ -2221,19 +2225,19 @@ particular release.
<entry>30.1</entry>
<entry>General</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>30.2</entry>
<entry>Requirements</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>30.3</entry>
<entry>Threads</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#B0B0B0" ?>
@@ -2246,79 +2250,79 @@ particular release.
<entry>30.3.2</entry>
<entry>Namespace <code>this_thread</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>30.4</entry>
<entry>Mutual exclusion</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>30.4.1</entry>
<entry>Mutex requirements</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>30.4.1.1</entry>
<entry>Class <code>mutex</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry>Missing constexpr</entry>
</row>
<row>
<entry>30.4.1.2</entry>
<entry>Class <code>recursive_mutex</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>30.4.2</entry>
<entry>Timed mutex requirements</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>30.4.2.1</entry>
<entry>Class <code>timed_mutex</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>30.4.2.2</entry>
<entry>Class <code>recursive_timed_mutex</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>30.4.3</entry>
<entry>Locks</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>30.4.3.1</entry>
<entry>Class template <code>lock_guard</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>30.4.3.2</entry>
<entry>Class template <code>unique_lock</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>30.4.4</entry>
<entry>Generic locking algorithms</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>30.4.5</entry>
<entry>Call once</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>30.4.5.1</entry>
@@ -2330,37 +2334,38 @@ particular release.
<entry>30.4.5.2</entry>
<entry><code>call_once</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
+ <?dbhtml bgcolor="#B0B0B0" ?>
<entry>30.5</entry>
<entry>Condition variables</entry>
- <entry></entry>
- <entry></entry>
+ <entry>Partial</entry>
+ <entry>Missing notify_all_at_thread_exit</entry>
</row>
<row>
<entry>30.5.1</entry>
<entry>Class <code>condition_variable</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>30.5.2</entry>
<entry>Class <code>condition_variable_any</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>30.6</entry>
<entry>Futures</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>30.6.1</entry>
<entry>Overview</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>30.6.2</entry>
@@ -2372,52 +2377,54 @@ particular release.
<entry>30.6.3</entry>
<entry>Class <code>future_error</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>30.6.4</entry>
<entry>Associated asynchronous state</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#B0B0B0" ?>
<entry>30.6.5</entry>
<entry>Class template <code>promise</code></entry>
<entry>Partial</entry>
- <entry>Missing <code>allocator_arg_t</code></entry>
+ <entry>Missing <code>allocator_arg_t</code> and set_*_at_thread_exit</entry>
</row>
<row>
+ <?dbhtml bgcolor="#B0B0B0" ?>
<entry>30.6.6</entry>
<entry>Class template <code>future</code></entry>
- <entry>Y</entry>
- <entry></entry>
+ <entry>Partial</entry>
+ <entry>Missing future_status</entry>
</row>
<row>
+ <?dbhtml bgcolor="#B0B0B0" ?>
<entry>30.6.7</entry>
<entry>Class template <code>shared_future</code></entry>
- <entry>Y</entry>
- <entry></entry>
+ <entry>Partial</entry>
+ <entry>Missing future_status</entry>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>30.6.8</entry>
<entry>Class template <code>atomic_future</code></entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>30.6.9</entry>
<entry>Function template <code>async</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#B0B0B0" ?>
<entry>30.6.10</entry>
<entry>Class template <code>packaged_task</code></entry>
<entry>Partial</entry>
- <entry>Missing <code>allocator_arg_t</code></entry>
+ <entry>Missing <code>allocator_arg_t</code> and make_ready_at_thread_exit</entry>
</row>
<row>
<entry>
@@ -2430,62 +2437,62 @@ particular release.
<row>
<entry>D.1</entry>
<entry>Increment operator with <code>bool</code> operand</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>D.2</entry>
<entry><code>static</code> keyword</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>D.3</entry>
<entry>Access declarations</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>D.4</entry>
<entry><code>register</code> keyword</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>D.5</entry>
<entry>Dynamic exception specifications</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>D.6</entry>
<entry>C standard library headers</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>D.7</entry>
<entry>Old iostreams members</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>D.8</entry>
<entry>char* streams</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>D.9</entry>
<entry>Binders</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>D.10</entry>
<entry><code>auto_ptr</code></entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
</tbody>
@@ -2493,4 +2500,4 @@ particular release.
</table>
-</sect2>
+</section>
diff --git a/libstdc++-v3/doc/xml/manual/status_cxxtr1.xml b/libstdc++-v3/doc/xml/manual/status_cxxtr1.xml
index 4d3650167e6..321c4ba269c 100644
--- a/libstdc++-v3/doc/xml/manual/status_cxxtr1.xml
+++ b/libstdc++-v3/doc/xml/manual/status_cxxtr1.xml
@@ -1,7 +1,8 @@
-<sect2 id="status.iso.tr1" xreflabel="Status C++ TR1">
+<section xmlns="http://docbook.org/ns/docbook" version="5.0"
+ xml:id="status.iso.tr1" xreflabel="Status C++ TR1">
<?dbhtml filename="status_iso_cxxtr1.html"?>
-<sect2info>
+<info><title>C++ TR1</title>
<keywordset>
<keyword>
ISO C++
@@ -10,9 +11,7 @@
tr1
</keyword>
</keywordset>
-</sect2info>
-
-<title>C++ TR1</title>
+</info>
<para>
This table is based on the table of contents of ISO/IEC DTR 19768
@@ -40,13 +39,14 @@ release.
Broken/Partial
<?dbhtml bgcolor="#B0B0B0" ?>
-->
-<table frame='all'>
+<table frame="all">
<title>C++ TR1 Implementation Status</title>
-<tgroup cols='4' align='left' colsep='0' rowsep='1'>
-<colspec colname='c1'></colspec>
-<colspec colname='c2'></colspec>
-<colspec colname='c3'></colspec>
-<colspec colname='c4'></colspec>
+
+<tgroup cols="4" align="left" colsep="0" rowsep="1">
+<colspec colname="c1"/>
+<colspec colname="c2"/>
+<colspec colname="c3"/>
+<colspec colname="c4"/>
<thead>
<row>
@@ -64,77 +64,77 @@ release.
<row>
<entry>2.1</entry>
<entry>Reference wrappers</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>2.1.1</entry>
<entry>Additions to header <code>&lt;functional&gt;</code> synopsis</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>2.1.2</entry>
<entry>Class template <code>reference_wrapper</code></entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>2.1.2.1</entry>
<entry><code>reference_wrapper</code> construct/copy/destroy</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>2.1.2.2</entry>
<entry><code>reference_wrapper</code> assignment</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>2.1.2.3</entry>
<entry><code>reference_wrapper</code> access</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>2.1.2.4</entry>
<entry><code>reference_wrapper</code> invocation</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>2.1.2.5</entry>
<entry><code>reference_wrapper</code> helper functions</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>2.2</entry>
<entry>Smart pointers</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>2.2.1</entry>
<entry>Additions to header <code>&lt;memory&gt;</code> synopsis</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>2.2.2</entry>
<entry>Class <code>bad_weak_ptr</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>2.2.3</entry>
<entry>Class template <code>shared_ptr</code></entry>
- <entry></entry>
+ <entry/>
<entry>
<para>
Uses code from
- <ulink url="http://www.boost.org/libs/smart_ptr/shared_ptr.htm">boost::shared_ptr</ulink>.
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.boost.org/libs/smart_ptr/shared_ptr.htm">boost::shared_ptr</link>.
</para>
</entry>
</row>
@@ -142,115 +142,115 @@ release.
<entry>2.2.3.1</entry>
<entry><code>shared_ptr</code> constructors</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>2.2.3.2</entry>
<entry><code>shared_ptr</code> destructor</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>2.2.3.3</entry>
<entry><code>shared_ptr</code> assignment</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>2.2.3.4</entry>
<entry><code>shared_ptr</code> modifiers</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>2.2.3.5</entry>
<entry><code>shared_ptr</code> observers</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>2.2.3.6</entry>
<entry><code>shared_ptr</code> comparison</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>2.2.3.7</entry>
<entry><code>shared_ptr</code> I/O</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>2.2.3.8</entry>
<entry><code>shared_ptr</code> specialized algorithms</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>2.2.3.9</entry>
<entry><code>shared_ptr</code> casts</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>2.2.3.10</entry>
<entry><code>get_deleter</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>2.2.4</entry>
<entry>Class template <code>weak_ptr</code></entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>2.2.4.1</entry>
<entry><code>weak_ptr</code> constructors</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>2.2.4.2</entry>
<entry><code>weak_ptr</code> destructor</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>2.2.4.3</entry>
<entry><code>weak_ptr</code> assignment</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>2.2.4.4</entry>
<entry><code>weak_ptr</code> modifiers</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>2.2.4.5</entry>
<entry><code>weak_ptr</code> observers</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>2.2.4.6</entry>
<entry><code>weak_ptr</code> comparison</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>2.2.4.7</entry>
<entry><code>weak_ptr</code> specialized algorithms</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>2.2.5</entry>
<entry>Class template <code>enable_shared_from_this</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry><emphasis>3</emphasis></entry>
@@ -260,133 +260,133 @@ release.
<entry>3.1</entry>
<entry>Definitions</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>3.2</entry>
<entry>Additions to <code>&lt;functional&gt; synopsis</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>3.3</entry>
<entry>Requirements</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>3.4</entry>
<entry>Function return types</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>3.5</entry>
<entry>Function template <code>mem_fn</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>3.6</entry>
<entry>Function object binders</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>3.6.1</entry>
<entry>Class template <code>is_bind_expression</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>3.6.2</entry>
<entry>Class template <code>is_placeholder</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>3.6.3</entry>
<entry>Function template <code>bind</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>3.6.4</entry>
<entry>Placeholders</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>3.7</entry>
<entry>Polymorphic function wrappers</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>3.7.1</entry>
- <entry>Class <code>bad_function_call<code></code></code></entry>
+ <entry>Class <code>bad_function_call</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>3.7.1.1</entry>
<entry><code>bad_function_call</code> constructor</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>3.7.2</entry>
<entry>Class template <code>function</code></entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>3.7.2.1</entry>
<entry><code>function</code> construct/copy/destroy</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>3.7.2.2</entry>
<entry><code>function</code> modifiers</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>3.7.2.3</entry>
<entry><code>function</code> capacity</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>3.7.2.4</entry>
<entry><code>function</code> invocation</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>3.7.2.5</entry>
<entry><code>function</code> target access</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>3.7.2.6</entry>
<entry>undefined operators</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>3.7.2.7</entry>
<entry>null pointer comparison operators</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>3.7.2.8</entry>
<entry>specialized algorithms</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry><emphasis>4</emphasis></entry>
@@ -396,97 +396,97 @@ release.
<entry>4.1</entry>
<entry>Requirements</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>4.2</entry>
<entry>Header <code>&lt;type_traits&gt;</code> synopsis</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>4.3</entry>
<entry>Helper classes</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>4.4</entry>
<entry>General Requirements</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>4.5</entry>
<entry>Unary Type Traits</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>4.5.1</entry>
<entry>Primary Type Categories</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>4.5.2</entry>
<entry>Composite type traits</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>4.5.3</entry>
<entry>Type properties</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>4.6</entry>
<entry>Relationships between types</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>4.7</entry>
<entry>Transformations between types</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>4.7.1</entry>
<entry>Const-volatile modifications</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>4.7.2</entry>
<entry>Reference modifications</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>4.7.3</entry>
<entry>Array modifications</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>4.7.4</entry>
<entry>Pointer modifications</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>4.8</entry>
<entry>Other transformations</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>4.9</entry>
<entry>Implementation requirements</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry><emphasis>5</emphasis></entry>
@@ -495,62 +495,62 @@ release.
<row>
<entry>5.1</entry>
<entry>Random number generation</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>5.1.1</entry>
<entry>Requirements</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>5.1.2</entry>
<entry>Header <code>&lt;random&gt;</code> synopsis</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>5.1.3</entry>
<entry>Class template <code>variate_generator</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>5.1.4</entry>
<entry>Random number engine class templates</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>5.1.4.1</entry>
<entry>Class template <code>linear_congruential</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>5.1.4.2</entry>
<entry>Class template <code>mersenne_twister</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>5.1.4.3</entry>
<entry>Class template <code>subtract_with_carry</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>5.1.4.4</entry>
<entry>Class template <code>subtract_with_carry_01</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>5.1.4.5</entry>
<entry>Class template <code>discard_block</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>5.1.4.6</entry>
@@ -562,229 +562,229 @@ release.
<entry>5.1.5</entry>
<entry>Engines with predefined parameters</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>5.1.6</entry>
<entry>Class <code>random_device</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>5.1.7</entry>
<entry>Random distribution class templates</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>5.1.7.1</entry>
<entry>Class template <code>uniform_int</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>5.1.7.2</entry>
<entry>Class <code>bernoulli_distribution</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>5.1.7.3</entry>
<entry>Class template <code>geometric_distribution</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>5.1.7.4</entry>
<entry>Class template <code>poisson_distribution</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>5.1.7.5</entry>
<entry>Class template <code>binomial_distribution</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>5.1.7.6</entry>
<entry>Class template <code>uniform_real</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>5.1.7.7</entry>
<entry>Class template <code>exponential_distribution</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>5.1.7.8</entry>
<entry>Class template <code>normal_distribution</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>5.1.7.9</entry>
<entry>Class template <code>gamma_distribution</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>5.2</entry>
<entry>Mathematical special functions</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>5.2.1</entry>
<entry>Additions to header <code>&lt;cmath&gt;</code> synopsis</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>5.2.1.1</entry>
<entry>associated Laguerre polynomials</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>5.2.1.2</entry>
<entry>associated Legendre functions</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>5.2.1.3</entry>
<entry>beta function</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>5.2.1.4</entry>
<entry>(complete) elliptic integral of the first kind</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>5.2.1.5</entry>
<entry>(complete) elliptic integral of the second kind</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>5.2.1.6</entry>
<entry>(complete) elliptic integral of the third kind</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>5.2.1.7</entry>
<entry>confluent hypergeometric functions</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>5.2.1.8</entry>
<entry>regular modified cylindrical Bessel functions</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>5.2.1.9</entry>
<entry>cylindrical Bessel functions (of the first kind)</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>5.2.1.10</entry>
<entry>irregular modified cylindrical Bessel functions</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>5.2.1.11</entry>
<entry>cylindrical Neumann functions</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>5.2.1.12</entry>
<entry>(incomplete) elliptic integral of the first kind</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>5.2.1.13</entry>
<entry>(incomplete) elliptic integral of the second kind</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>5.2.1.14</entry>
<entry>(incomplete) elliptic integral of the third kind</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>5.2.1.15</entry>
<entry>exponential integral</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>5.2.1.16</entry>
<entry>Hermite polynomials</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>5.2.1.17</entry>
<entry>hypergeometric functions</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>5.2.1.18</entry>
<entry>Laguerre polynomials</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>5.2.1.19</entry>
<entry>Legendre polynomials</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>5.2.1.20</entry>
<entry>Riemann zeta function</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>5.2.1.21</entry>
<entry>spherical Bessel functions (of the first kind)</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>5.2.1.22</entry>
<entry>spherical associated Legendre functions</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>5.2.1.23</entry>
<entry>spherical Neumann functions</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>5.2.2</entry>
<entry>Additions to header <code>&lt;math.h&gt;</code> synopsis</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry><emphasis>6</emphasis></entry>
@@ -794,236 +794,236 @@ release.
<entry>6.1</entry>
<entry>Tuple types</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>6.1.1</entry>
<entry>Header <code>&lt;tuple&gt;</code> synopsis</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>6.1.2</entry>
<entry>Additions to header <code>&lt;utility&gt;</code> synopsis</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>6.1.3</entry>
<entry>Class template <code>tuple</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>6.1.3.1</entry>
<entry>Construction</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>6.1.3.2</entry>
<entry>Tuple creation functions</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>6.1.3.3</entry>
<entry>Tuple helper classes</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>6.1.3.4</entry>
<entry>Element access</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>6.1.3.5</entry>
<entry>Relational operators</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>6.1.4</entry>
<entry>Pairs</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>6.2</entry>
<entry>Fixed size array</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>6.2.1</entry>
<entry>Header <code>&lt;array&gt;</code> synopsis</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>6.2.2</entry>
<entry>Class template <code>array</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>6.2.2.1</entry>
<entry><code>array</code> constructors, copy, and assignment</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>6.2.2.2</entry>
<entry><code>array</code> specialized algorithms</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>6.2.2.3</entry>
<entry><code>array</code> size</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>6.2.2.4</entry>
<entry>Zero sized <code>array</code>s</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>6.2.2.5</entry>
<entry>Tuple interface to class template <code>array</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>6.3</entry>
<entry>Unordered associative containers</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>6.3.1</entry>
<entry>Unordered associative container requirements</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>6.3.1.1</entry>
<entry>Exception safety guarantees</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>6.3.2</entry>
<entry>Additions to header <code>&lt;functional&gt;</code> synopsis</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>6.3.3</entry>
<entry>Class template <code>hash</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>6.3.4</entry>
<entry>Unordered associative container classes</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>6.3.4.1</entry>
<entry>Header <code>&lt;unordered_set&gt;</code> synopsis</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>6.3.4.2</entry>
<entry>Header <code>&lt;unordered_map&gt;</code> synopsis</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>6.3.4.3</entry>
<entry>Class template <code>unordered_set</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>6.3.4.3.1</entry>
<entry><code>unordered_set</code> constructors</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>6.3.4.3.2</entry>
<entry><code>unordered_set</code> swap</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>6.3.4.4</entry>
<entry>Class template <code>unordered_map</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>6.3.4.4.1</entry>
<entry><code>unordered_map</code> constructors</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>6.3.4.4.2</entry>
<entry><code>unordered_map</code> element access</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>6.3.4.4.3</entry>
<entry><code>unordered_map</code> swap</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>6.3.4.5</entry>
- <entry>Class template <code>unordered_multiset<code></code></code></entry>
+ <entry>Class template <code>unordered_multiset</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>6.3.4.5.1</entry>
<entry><code>unordered_multiset</code> constructors</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>6.3.4.5.2</entry>
<entry><code>unordered_multiset</code> swap</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>6.3.4.6</entry>
<entry>Class template <code>unordered_multimap</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>6.3.4.6.1</entry>
<entry><code>unordered_multimap</code> constructors</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>6.3.4.6.2</entry>
<entry><code>unordered_multimap</code> swap</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry><emphasis>7</emphasis></entry>
@@ -1034,322 +1034,322 @@ release.
<entry>7.1</entry>
<entry>Definitions</entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>7.2</entry>
<entry>Requirements</entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>7.3</entry>
<entry>Regular expressions summary</entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>7.4</entry>
<entry>Header <code>&lt;regex&gt;</code> synopsis</entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>7.5</entry>
<entry>Namespace <code>tr1::regex_constants</code></entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>7.5.1</entry>
<entry>Bitmask Type <code>syntax_option_type</code></entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>7.5.2</entry>
<entry>Bitmask Type <code>regex_constants::match_flag_type</code></entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>7.5.3</entry>
<entry>Implementation defined <code>error_type</code></entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>7.6</entry>
<entry>Class <code>regex_error</code></entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>7.7</entry>
<entry>Class template <code>regex_traits</code></entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>7.8</entry>
<entry>Class template <code>basic_regex</code></entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>7.8.1</entry>
<entry><code>basic_regex</code> constants</entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>7.8.2</entry>
<entry><code>basic_regex</code> constructors</entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>7.8.3</entry>
<entry><code>basic_regex</code> assign</entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>7.8.4</entry>
<entry><code>basic_regex</code> constant operations</entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>7.8.5</entry>
<entry><code>basic_regex</code> locale</entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>7.8.6</entry>
<entry><code>basic_regex</code> swap</entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>7.8.7</entry>
<entry><code>basic_regex</code> non-member functions</entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>7.8.7.1</entry>
<entry><code>basic_regex</code> non-member swap</entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>7.9</entry>
<entry>Class template <code>sub_match</code></entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>7.9.1</entry>
<entry><code>sub_match</code> members</entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>7.9.2</entry>
<entry><code>sub_match</code> non-member operators</entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>7.10</entry>
<entry>Class template <code>match_results</code></entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>7.10.1</entry>
<entry><code>match_results</code> constructors</entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>7.10.2</entry>
<entry><code>match_results</code> size</entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>7.10.3</entry>
<entry><code>match_results</code> element access</entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>7.10.4</entry>
<entry><code>match_results</code> formatting</entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>7.10.5</entry>
<entry><code>match_results</code> allocator</entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>7.10.6</entry>
<entry><code>match_results</code> swap</entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>7.11</entry>
<entry>Regular expression algorithms</entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>7.11.1</entry>
<entry>exceptions</entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>7.11.2</entry>
<entry><code>regex_match</code></entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>7.11.3</entry>
<entry><code>regex_search</code></entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>7.11.4</entry>
<entry><code>regex_replace</code></entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>7.12</entry>
<entry>Regular expression Iterators</entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>7.12.1</entry>
<entry>Class template <code>regex_iterator</code></entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>7.12.1.1</entry>
<entry><code>regex_iterator</code> constructors</entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>7.12.1.2</entry>
<entry><code>regex_iterator</code> comparisons</entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>7.12.1.3</entry>
<entry><code>regex_iterator</code> dereference</entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>7.12.1.4</entry>
<entry><code>regex_iterator</code> increment</entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>7.12.2</entry>
<entry>Class template <code>regex_token_iterator</code></entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>7.12.2.1</entry>
<entry><code>regex_token_iterator</code> constructors</entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>7.12.2.2</entry>
<entry><code>regex_token_iterator</code> comparisons</entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>7.12.2.3</entry>
<entry><code>regex_token_iterator</code> dereference</entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>7.12.2.4</entry>
<entry><code>regex_token_iterator</code> increment</entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>7.13</entry>
<entry>Modified ECMAScript regular expression grammar</entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry><emphasis>8</emphasis></entry>
@@ -1359,61 +1359,61 @@ release.
<entry>8.1</entry>
<entry>Additions to header <code>&lt;complex&gt;</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>8.1.1</entry>
<entry>Synopsis</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>8.1.2</entry>
<entry>Function <code>acos</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>8.1.3</entry>
<entry>Function <code>asin</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>8.1.4</entry>
<entry>Function <code>atan</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>8.1.5</entry>
<entry>Function <code>acosh</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>8.1.6</entry>
<entry>Function <code>asinh</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>8.1.7</entry>
<entry>Function <code>atanh</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>8.1.8</entry>
<entry>Function <code>fabs</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>8.1.9</entry>
<entry>Additional Overloads</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
@@ -1433,88 +1433,88 @@ release.
<entry>8.4</entry>
<entry>Additions to header <code>&lt;cctype&gt;</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>8.4.1</entry>
<entry>Synopsis</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>8.4.2</entry>
<entry>Function <code>isblank</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>8.5</entry>
<entry>Additions to header <code>&lt;ctype.h&gt;</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>8.6</entry>
<entry>Header <code>&lt;cfenv&gt;</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>8.6.1</entry>
<entry>Synopsis</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>8.6.2</entry>
<entry>Definitions</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>8.7</entry>
<entry>Header <code>&lt;fenv.h&gt;</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>8.8</entry>
<entry>Additions to header <code>&lt;cfloat&gt;</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>8.9</entry>
<entry>Additions to header <code>&lt;float.h&gt;</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>8.10</entry>
<entry>Additions to header <code>&lt;ios&gt;</code></entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>8.10.1</entry>
<entry>Synopsis</entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>8.10.2</entry>
<entry>Function <code>hexfloat</code></entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>8.11</entry>
<entry>Header <code>&lt;cinttypes&gt;</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>8.11.1</entry>
@@ -1526,56 +1526,56 @@ release.
<entry>8.11.2</entry>
<entry>Definitions</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>8.12</entry>
<entry>Header <code>&lt;inttypes.h&gt;</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>8.13</entry>
<entry>Additions to header <code>&lt;climits&gt;</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>8.14</entry>
<entry>Additions to header <code>&lt;limits.h&gt;</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>8.15</entry>
<entry>Additions to header <code>&lt;locale&gt;</code></entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>8.16</entry>
<entry>Additions to header <code>&lt;cmath&gt;</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>8.16.1</entry>
<entry>Synopsis</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>8.16.2</entry>
<entry>Definitions</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>8.16.3</entry>
<entry>Function template definitions</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>8.16.4</entry>
@@ -1587,73 +1587,73 @@ release.
<entry>8.17</entry>
<entry>Additions to header <code>&lt;math.h&gt;</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>8.18</entry>
<entry>Additions to header <code>&lt;cstdarg&gt;</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>8.19</entry>
<entry>Additions to header <code>&lt;stdarg.h&gt;</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>8.20</entry>
<entry>The header <code>&lt;cstdbool&gt;</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>8.21</entry>
<entry>The header <code>&lt;stdbool.h&gt;</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>8.22</entry>
<entry>The header <code>&lt;cstdint&gt;</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>8.22.1</entry>
<entry>Synopsis</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>8.22.2</entry>
<entry>Definitions</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>8.23</entry>
<entry>The header <code>&lt;stdint.h&gt;</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>8.24</entry>
<entry>Additions to header <code>&lt;cstdio&gt;</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>8.24.1</entry>
<entry>Synopsis</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>8.24.2</entry>
<entry>Definitions</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>8.24.3</entry>
@@ -1665,43 +1665,43 @@ release.
<entry>8.24.4</entry>
<entry>Additions to header <code>&lt;stdio.h&gt;</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>8.25</entry>
<entry>Additions to header <code>&lt;cstdlib&gt;</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>8.25.1</entry>
<entry>Synopsis</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>8.25.2</entry>
<entry>Definitions</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>8.25.3</entry>
<entry>Function <code>abs</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>8.25.4</entry>
<entry>Function <code>div</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>8.26</entry>
<entry>Additions to header <code>&lt;stdlib.h&gt;</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>8.27</entry>
@@ -1725,19 +1725,19 @@ release.
<entry>8.30</entry>
<entry>Additions to header <code>&lt;cwchar&gt;</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>8.30.1</entry>
<entry>Synopsis</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>8.30.2</entry>
<entry>Definitions</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>8.30.3</entry>
@@ -1749,34 +1749,34 @@ release.
<entry>8.31</entry>
<entry>Additions to header <code>&lt;wchar.h&gt;</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>8.32</entry>
<entry>Additions to header <code>&lt;cwctype&gt;</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>8.32.1</entry>
<entry>Synopsis</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>8.32.2</entry>
<entry>Function <code>iswblank</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>8.33</entry>
<entry>Additions to header <code>&lt;wctype.h&gt;</code></entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
</tbody>
</tgroup>
</table>
-</sect2>
+</section>
diff --git a/libstdc++-v3/doc/xml/manual/status_cxxtr24733.xml b/libstdc++-v3/doc/xml/manual/status_cxxtr24733.xml
index f3b29b9bf36..997e76be18f 100644
--- a/libstdc++-v3/doc/xml/manual/status_cxxtr24733.xml
+++ b/libstdc++-v3/doc/xml/manual/status_cxxtr24733.xml
@@ -1,15 +1,14 @@
-<sect2 id="status.iso.tr24733" xreflabel="Status C++ TR24733">
+<section xmlns="http://docbook.org/ns/docbook" version="5.0"
+ xml:id="status.iso.tr24733" xreflabel="Status C++ TR24733">
<?dbhtml filename="status_iso_cxxtr24733.html"?>
-<sect2info>
+<info><title>C++ TR 24733</title>
<keywordset>
<keyword>
TR 24733
</keyword>
</keywordset>
-</sect2info>
-
-<title>C++ TR 24733</title>
+</info>
<para>
This table is based on the table of contents of
@@ -32,13 +31,14 @@ particular release.
Broken/Partial
<?dbhtml bgcolor="#B0B0B0" ?>
-->
-<table frame='all'>
+<table frame="all">
<title>C++ TR 24733 Implementation Status</title>
-<tgroup cols='4' align='left' colsep='0' rowsep='1'>
-<colspec colname='c1'></colspec>
-<colspec colname='c2'></colspec>
-<colspec colname='c3'></colspec>
-<colspec colname='c4'></colspec>
+
+<tgroup cols="4" align="left" colsep="0" rowsep="1">
+<colspec colname="c1"/>
+<colspec colname="c2"/>
+<colspec colname="c3"/>
+<colspec colname="c4"/>
<thead>
<row>
<entry>Section</entry>
@@ -88,14 +88,14 @@ particular release.
<row>
<entry>3.1</entry>
<entry>Characteristics of decimal floating-point types</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>3.2</entry>
<entry>Decimal Types</entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#B0B0B0" ?>
@@ -129,157 +129,157 @@ particular release.
<entry>3.2.5</entry>
<entry>Initialization from coefficient and exponent</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>3.2.6</entry>
<entry>Conversion to generic floating-point type</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>3.2.7</entry>
<entry>Unary arithmetic operators</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>3.2.8</entry>
<entry>Binary arithmetic operators</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>3.2.9</entry>
<entry>Comparison operators</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>3.2.10</entry>
<entry>Formatted input</entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>3.2.11</entry>
<entry>Formatted output</entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>3.3</entry>
<entry>Additions to header <code>limits</code></entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>3.4</entry>
<entry>Headers <code>cfloat</code> and <code>float.h</code></entry>
- <entry></entry>
- <entry></entry>
+ <entry/>
+ <entry/>
</row>
<row>
<entry>3.4.2</entry>
<entry>Additions to header <code>cfloat</code> synopsis</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#B0B0B0" ?>
<entry>3.4.3</entry>
<entry>Additions to header <code>float.h</code> synopsis</entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>3.4.4</entry>
<entry>Maximum finite value</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>3.4.5</entry>
<entry>Epsilon</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>3.4.6</entry>
<entry>Minimum positive normal value</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>3.4.7</entry>
<entry>Minimum positive subnormal value</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<entry>3.4.8</entry>
<entry>Evaluation format</entry>
<entry>Y</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>3.5</entry>
<entry>Additions to <code>cfenv</code> and <code>fenv.h</code></entry>
<entry>Outside the scope of GCC</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>3.6</entry>
<entry>Additions to <code>cmath</code> and <code>math.h</code></entry>
<entry>Outside the scope of GCC</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>3.7</entry>
<entry>Additions to <code>cstdio</code> and <code>stdio.h</code></entry>
<entry>Outside the scope of GCC</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>3.8</entry>
<entry>Additions to <code>cstdlib</code> and <code>stdlib.h</code></entry>
<entry>Outside the scope of GCC</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>3.9</entry>
<entry>Additions to <code>cwchar</code> and <code>wchar.h</code></entry>
<entry>Outside the scope of GCC</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>3.10</entry>
<entry>Facets</entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>3.11</entry>
<entry>Type traits</entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
<?dbhtml bgcolor="#C8B0B0" ?>
<entry>3.12</entry>
<entry>Hash functions</entry>
<entry>N</entry>
- <entry></entry>
+ <entry/>
</row>
<row>
@@ -296,4 +296,4 @@ particular release.
</table>
-</sect2>
+</section>
diff --git a/libstdc++-v3/doc/xml/manual/strings.xml b/libstdc++-v3/doc/xml/manual/strings.xml
index 8eb9b49a1be..4d9fc64f766 100644
--- a/libstdc++-v3/doc/xml/manual/strings.xml
+++ b/libstdc++-v3/doc/xml/manual/strings.xml
@@ -1,12 +1,11 @@
-<?xml version='1.0'?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
- "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
-[ ]>
-
-<chapter id="std.strings" xreflabel="Strings">
+<chapter xmlns="http://docbook.org/ns/docbook" version="5.0"
+ xml:id="std.strings" xreflabel="Strings">
<?dbhtml filename="strings.html"?>
-<chapterinfo>
+<info><title>
+ Strings
+ <indexterm><primary>Strings</primary></indexterm>
+</title>
<keywordset>
<keyword>
ISO C++
@@ -15,25 +14,20 @@
library
</keyword>
</keywordset>
-</chapterinfo>
-
-<title>
- Strings
- <indexterm><primary>Strings</primary></indexterm>
-</title>
+</info>
<!-- Sect1 01 : Character Traits -->
<!-- Sect1 02 : String Classes -->
-<sect1 id="std.strings.string" xreflabel="string">
- <title>String Classes</title>
+<section xml:id="std.strings.string" xreflabel="string"><info><title>String Classes</title></info>
+
- <sect2 id="strings.string.simple" xreflabel="Simple Transformations">
- <title>Simple Transformations</title>
+ <section xml:id="strings.string.simple" xreflabel="Simple Transformations"><info><title>Simple Transformations</title></info>
+
<para>
Here are Standard, simple, and portable ways to perform common
transformations on a <code>string</code> instance, such as
- &quot;convert to all upper case.&quot; The word transformations
+ "convert to all upper case." The word transformations
is especially apt, because the standard template function
<code>transform&lt;&gt;</code> is used.
</para>
@@ -90,8 +84,8 @@
are overloaded names (declared in <code>&lt;cctype&gt;</code> and
<code>&lt;locale&gt;</code>) so the template-arguments for
<code>transform&lt;&gt;</code> cannot be deduced, as explained in
- <ulink url="http://gcc.gnu.org/ml/libstdc++/2002-11/msg00180.html">this
- message</ulink>.
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/ml/libstdc++/2002-11/msg00180.html">this
+ message</link>.
<!-- section 14.8.2.4 clause 16 in ISO 14882:1998 -->
At minimum, you can write short wrappers like
</para>
@@ -122,14 +116,14 @@
optimize named temporaries out of existence.
</para>
- </sect2>
- <sect2 id="strings.string.case" xreflabel="Case Sensitivity">
- <title>Case Sensitivity</title>
+ </section>
+ <section xml:id="strings.string.case" xreflabel="Case Sensitivity"><info><title>Case Sensitivity</title></info>
+
<para>
</para>
<para>The well-known-and-if-it-isn't-well-known-it-ought-to-be
- <ulink url="http://www.gotw.ca/gotw/">Guru of the Week</ulink>
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.gotw.ca/gotw/">Guru of the Week</link>
discussions held on Usenet covered this topic in January of 1998.
Briefly, the challenge was, <quote>write a 'ci_string' class which
is identical to the standard 'string' class, but is
@@ -149,34 +143,33 @@
<para>The solution is surprisingly easy. The original answer was
posted on Usenet, and a revised version appears in Herb Sutter's
- book <emphasis>Exceptional C++</emphasis> and on his website as <ulink url="http://www.gotw.ca/gotw/029.htm">GotW 29</ulink>.
+ book <emphasis>Exceptional C++</emphasis> and on his website as <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.gotw.ca/gotw/029.htm">GotW 29</link>.
</para>
<para>See? Told you it was easy!</para>
<para>
<emphasis>Added June 2000:</emphasis> The May 2000 issue of C++
- Report contains a fascinating <ulink
- url="http://lafstern.org/matt/col2_new.pdf"> article</ulink> by
+ Report contains a fascinating <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://lafstern.org/matt/col2_new.pdf"> article</link> by
Matt Austern (yes, <emphasis>the</emphasis> Matt Austern) on why
case-insensitive comparisons are not as easy as they seem, and
why creating a class is the <emphasis>wrong</emphasis> way to go
about it in production code. (The GotW answer mentions one of
the principle difficulties; his article mentions more.)
</para>
- <para>Basically, this is &quot;easy&quot; only if you ignore some things,
+ <para>Basically, this is "easy" only if you ignore some things,
things which may be too important to your program to ignore. (I chose
to ignore them when originally writing this entry, and am surprised
that nobody ever called me on it...) The GotW question and answer
remain useful instructional tools, however.
</para>
<para><emphasis>Added September 2000:</emphasis> James Kanze provided a link to a
- <ulink url="http://www.unicode.org/reports/tr21/tr21-5.html">Unicode
- Technical Report discussing case handling</ulink>, which provides some
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.unicode.org/reports/tr21/tr21-5.html">Unicode
+ Technical Report discussing case handling</link>, which provides some
very good information.
</para>
- </sect2>
- <sect2 id="strings.string.character_types" xreflabel="Arbitrary Characters">
- <title>Arbitrary Character Types</title>
+ </section>
+ <section xml:id="strings.string.character_types" xreflabel="Arbitrary Characters"><info><title>Arbitrary Character Types</title></info>
+
<para>
</para>
@@ -231,24 +224,24 @@
built-in types.
</para>
<para>If you want to use your own special character class, then you have
- <ulink url="http://gcc.gnu.org/ml/libstdc++/2002-08/msg00163.html">a lot
- of work to do</ulink>, especially if you with to use i18n features
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/ml/libstdc++/2002-08/msg00163.html">a lot
+ of work to do</link>, especially if you with to use i18n features
(facets require traits information but don't have a traits argument).
</para>
- <para>Another example of how to specialize char_traits was given <ulink url="http://gcc.gnu.org/ml/libstdc++/2002-08/msg00260.html">on the
- mailing list</ulink> and at a later date was put into the file <code>
+ <para>Another example of how to specialize char_traits was given <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/ml/libstdc++/2002-08/msg00260.html">on the
+ mailing list</link> and at a later date was put into the file <code>
include/ext/pod_char_traits.h</code>. We agree
that the way it's used with basic_string (scroll down to main())
- doesn't look nice, but that's because <ulink url="http://gcc.gnu.org/ml/libstdc++/2002-08/msg00236.html">the
- nice-looking first attempt</ulink> turned out to <ulink url="http://gcc.gnu.org/ml/libstdc++/2002-08/msg00242.html">not
- be conforming C++</ulink>, due to the rule that CharT must be a POD.
+ doesn't look nice, but that's because <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/ml/libstdc++/2002-08/msg00236.html">the
+ nice-looking first attempt</link> turned out to <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/ml/libstdc++/2002-08/msg00242.html">not
+ be conforming C++</link>, due to the rule that CharT must be a POD.
(See how tricky this is?)
</para>
- </sect2>
+ </section>
- <sect2 id="strings.string.token" xreflabel="Tokenizing">
- <title>Tokenizing</title>
+ <section xml:id="strings.string.token" xreflabel="Tokenizing"><info><title>Tokenizing</title></info>
+
<para>
</para>
<para>The Standard C (and C++) function <code>strtok()</code> leaves a lot to
@@ -256,7 +249,7 @@
destroys the character string on which it operates, and it requires
you to handle all the memory problems. But it does let the client
code decide what to use to break the string into pieces; it allows
- you to choose the &quot;whitespace,&quot; so to speak.
+ you to choose the "whitespace," so to speak.
</para>
<para>A C++ implementation lets us keep the good things and fix those
annoyances. The implementation here is more intuitive (you only
@@ -345,9 +338,9 @@ stringtok(Container &amp;container, string const &amp;in,
</para>
- </sect2>
- <sect2 id="strings.string.shrink" xreflabel="Shrink to Fit">
- <title>Shrink to Fit</title>
+ </section>
+ <section xml:id="strings.string.shrink" xreflabel="Shrink to Fit"><info><title>Shrink to Fit</title></info>
+
<para>
</para>
<para>From GCC 3.4 calling <code>s.reserve(res)</code> on a
@@ -372,10 +365,10 @@ stringtok(Container &amp;container, string const &amp;in,
</para>
- </sect2>
+ </section>
- <sect2 id="strings.string.Cstring" xreflabel="CString (MFC)">
- <title>CString (MFC)</title>
+ <section xml:id="strings.string.Cstring" xreflabel="CString (MFC)"><info><title>CString (MFC)</title></info>
+
<para>
</para>
@@ -387,8 +380,8 @@ stringtok(Container &amp;container, string const &amp;in,
are relying on special functions offered by the CString class.
</para>
<para>Things are not as bad as they seem. In
- <ulink url="http://gcc.gnu.org/ml/gcc/1999-04n/msg00236.html">this
- message</ulink>, Joe Buck points out a few very important things:
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/ml/gcc/1999-04n/msg00236.html">this
+ message</link>, Joe Buck points out a few very important things:
</para>
<itemizedlist>
<listitem><para>The Standard <code>string</code> supports all the operations
@@ -485,8 +478,8 @@ stringtok(Container &amp;container, string const &amp;in,
</para></listitem>
</itemizedlist>
- </sect2>
-</sect1>
+ </section>
+</section>
<!-- Sect1 03 : Interacting with C -->
diff --git a/libstdc++-v3/doc/xml/manual/support.xml b/libstdc++-v3/doc/xml/manual/support.xml
index 8035efc38f6..2cb7205bd44 100644
--- a/libstdc++-v3/doc/xml/manual/support.xml
+++ b/libstdc++-v3/doc/xml/manual/support.xml
@@ -1,12 +1,11 @@
-<?xml version='1.0'?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
- "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
-[ ]>
-
-<chapter id="std.support" xreflabel="Support">
+<chapter xmlns="http://docbook.org/ns/docbook" version="5.0"
+ xml:id="std.support" xreflabel="Support">
<?dbhtml filename="support.html"?>
-<chapterinfo>
+<info><title>
+ Support
+ <indexterm><primary>Support</primary></indexterm>
+</title>
<keywordset>
<keyword>
ISO C++
@@ -15,12 +14,7 @@
library
</keyword>
</keywordset>
-</chapterinfo>
-
-<title>
- Support
- <indexterm><primary>Support</primary></indexterm>
-</title>
+</info>
<para>
This part deals with the functions called and objects created
@@ -34,11 +28,11 @@
kind of support a C++ program gets from the Standard Library.
</para>
-<sect1 id="std.support.types" xreflabel="Types">
+<section xml:id="std.support.types" xreflabel="Types"><info><title>Types</title></info>
<?dbhtml filename="fundamental_types.html"?>
- <title>Types</title>
- <sect2 id="std.support.types.fundamental" xreflabel="Fundamental Types">
- <title>Fundamental Types</title>
+
+ <section xml:id="std.support.types.fundamental" xreflabel="Fundamental Types"><info><title>Fundamental Types</title></info>
+
<para>
C++ has the following builtin types:
</para>
@@ -98,9 +92,9 @@
instead, use a POD.
</para>
- </sect2>
- <sect2 id="std.support.types.numeric_limits" xreflabel="Numeric Properties">
- <title>Numeric Properties</title>
+ </section>
+ <section xml:id="std.support.types.numeric_limits" xreflabel="Numeric Properties"><info><title>Numeric Properties</title></info>
+
<para>
@@ -108,8 +102,7 @@
traits classes to give access to various implementation
defined-aspects of the fundamental types. The traits classes --
fourteen in total -- are all specializations of the template class
- <classname>numeric_limits</classname>, documented <ulink
- url="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00593.html">here</ulink>
+ <classname>numeric_limits</classname>, documented <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00593.html">here</link>
and defined as follows:
</para>
@@ -153,10 +146,10 @@
static const float_round_style round_style;
};
</programlisting>
- </sect2>
+ </section>
- <sect2 id="std.support.types.null" xreflabel="NULL">
- <title>NULL</title>
+ <section xml:id="std.support.types.null" xreflabel="NULL"><info><title>NULL</title></info>
+
<para>
The only change that might affect people is the type of
<constant>NULL</constant>: while it is required to be a macro,
@@ -180,25 +173,24 @@
<constant>NULL</constant> is always a pointer.)
</para>
- <para>In his book <ulink
- url="http://www.awprofessional.com/titles/0-201-92488-9/"><emphasis>Effective
- C++</emphasis></ulink>, Scott Meyers points out that the best way
+ <para>In his book <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.awprofessional.com/titles/0-201-92488-9/"><emphasis>Effective
+ C++</emphasis></link>, Scott Meyers points out that the best way
to solve this problem is to not overload on pointer-vs-integer
types to begin with. He also offers a way to make your own magic
<constant>NULL</constant> that will match pointers before it
matches integers.
</para>
<para>See
- <ulink url="http://www.awprofessional.com/titles/0-201-31015-5/">the
- Effective C++ CD example</ulink>
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.awprofessional.com/titles/0-201-31015-5/">the
+ Effective C++ CD example</link>
</para>
- </sect2>
+ </section>
-</sect1>
+</section>
-<sect1 id="std.support.memory" xreflabel="Dynamic Memory">
+<section xml:id="std.support.memory" xreflabel="Dynamic Memory"><info><title>Dynamic Memory</title></info>
<?dbhtml filename="dynamic_memory.html"?>
- <title>Dynamic Memory</title>
+
<para>
There are six flavors each of <function>new</function> and
<function>delete</function>, so make certain that you're using the right
@@ -211,7 +203,7 @@
people are used to using
</para></listitem>
<listitem><para>
- Single object &quot;nothrow&quot; form, returning NULL on errors
+ Single object "nothrow" form, returning NULL on errors
</para></listitem>
<listitem><para>
Array <function>new</function>, throwing
@@ -276,16 +268,15 @@
<classname>bad_alloc</classname> is derived from the base <classname>exception</classname>
class defined in Sect1 19.
</para>
-</sect1>
+</section>
-<sect1 id="std.support.termination" xreflabel="Termination">
+<section xml:id="std.support.termination" xreflabel="Termination"><info><title>Termination</title></info>
<?dbhtml filename="termination.html"?>
- <title>Termination</title>
- <sect2 id="support.termination.handlers" xreflabel="Termination Handlers">
- <title>Termination Handlers</title>
+
+ <section xml:id="support.termination.handlers" xreflabel="Termination Handlers"><info><title>Termination Handlers</title></info>
+
<para>
- Not many changes here to <filename
- class="headerfile">cstdlib</filename>. You should note that the
+ Not many changes here to <filename class="headerfile">cstdlib</filename>. You should note that the
<function>abort()</function> function does not call the
destructors of automatic nor static objects, so if you're
depending on those to do cleanup, it isn't going to happen.
@@ -298,7 +289,7 @@
funky, too, until you look closer. Basically, three points to
remember are:
</para>
- <orderedlist>
+ <orderedlist inheritnum="ignore" continuation="restarts">
<listitem>
<para>
Static objects are destroyed in reverse order of their creation.
@@ -342,11 +333,11 @@
those slots. If you think you may run out, we recommend using
the <function>xatexit</function>/<function>xexit</function> combination from <literal>libiberty</literal>, which has no such limit.
</para>
- </sect2>
+ </section>
- <sect2 id="support.termination.verbose" xreflabel="Verbose Terminate Handler">
+ <section xml:id="support.termination.verbose" xreflabel="Verbose Terminate Handler"><info><title>Verbose Terminate Handler</title></info>
<?dbhtml filename="verbose_termination.html"?>
- <title>Verbose Terminate Handler</title>
+
<para>
If you are having difficulty with uncaught exceptions and want a
little bit of help debugging the causes of the core dumps, you can
@@ -446,7 +437,7 @@ int main(int argc)
an unspecified manner.
</para>
- </sect2>
-</sect1>
+ </section>
+</section>
</chapter>
diff --git a/libstdc++-v3/doc/xml/manual/test.xml b/libstdc++-v3/doc/xml/manual/test.xml
index 6c0f266d349..006ff332086 100644
--- a/libstdc++-v3/doc/xml/manual/test.xml
+++ b/libstdc++-v3/doc/xml/manual/test.xml
@@ -1,7 +1,8 @@
-<sect1 id="manual.intro.setup.test" xreflabel="Testing">
+<section xmlns="http://docbook.org/ns/docbook" version="5.0"
+ xml:id="manual.intro.setup.test" xreflabel="Testing">
<?dbhtml filename="test.html"?>
-<sect1info>
+<info><title>Test</title>
<keywordset>
<keyword>
ISO C++
@@ -25,20 +26,18 @@
exception safety
</keyword>
</keywordset>
-</sect1info>
-
-<title>Test</title>
+</info>
<para>
The libstdc++ testsuite includes testing for standard conformance,
regressions, ABI, and performance.
</para>
-<sect2 id="test.organization" xreflabel="Test Organization">
-<title>Organization</title>
+<section xml:id="test.organization" xreflabel="Test Organization"><info><title>Organization</title></info>
+
+
+<section xml:id="test.organization.layout" xreflabel="Directory Layout"><info><title>Directory Layout</title></info>
-<sect3 id="test.organization.layout" xreflabel="Directory Layout">
-<title>Directory Layout</title>
<para>
The directory <emphasis>libsrcdir/testsuite</emphasis> contains the
@@ -131,11 +130,11 @@ util Files for libtestc++, utilities and testing routines.
All new tests should be written with the policy of one test
case, one file in mind.
</para>
-</sect3>
+</section>
+
+<section xml:id="test.organization.naming" xreflabel="Naming Conventions"><info><title>Naming Conventions</title></info>
-<sect3 id="test.organization.naming" xreflabel="Naming Conventions">
-<title>Naming Conventions</title>
<para>
In addition, there are some special names and suffixes that are
@@ -225,15 +224,15 @@ cat 27_io/objects/char/3_xin.in | a.out
</listitem>
</itemizedlist>
-</sect3>
-</sect2>
+</section>
+</section>
-<sect2 id="test.run" xreflabel="Running the Testsuite">
-<title>Running the Testsuite</title>
+<section xml:id="test.run" xreflabel="Running the Testsuite"><info><title>Running the Testsuite</title></info>
- <sect3 id="test.run.basic">
- <title>Basic</title>
+
+ <section xml:id="test.run.basic"><info><title>Basic</title></info>
+
<para>
You can check the status of the build without installing it
@@ -259,18 +258,16 @@ cat 27_io/objects/char/3_xin.in | a.out
<para>
Archives of test results for various versions and platforms are
- available on the GCC website in the <ulink
- url="http://gcc.gnu.org/gcc-4.3/buildstat.html">build
- status</ulink> section of each individual release, and are also
- archived on a daily basis on the <ulink
- url="http://gcc.gnu.org/ml/gcc-testresults/current">gcc-testresults</ulink>
+ available on the GCC website in the <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/gcc-4.3/buildstat.html">build
+ status</link> section of each individual release, and are also
+ archived on a daily basis on the <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/ml/gcc-testresults/current">gcc-testresults</link>
mailing list. Please check either of these places for a similar
combination of source version, operating system, and host CPU.
</para>
- </sect3>
+ </section>
- <sect3 id="test.run.variations">
- <title>Variations</title>
+ <section xml:id="test.run.variations"><info><title>Variations</title></info>
+
<para>
There are several options for running tests, including testing
the regression tests, testing a subset of the regression tests,
@@ -470,13 +467,12 @@ runtest --tool libstdc++ --srcdir=/path/to/gcc/libstdc++-v3/testsuite
please email the main libstdc++ mailing list if you see
something odd or have questions.
</para>
- </sect3>
+ </section>
- <sect3 id="test.run.permutations">
- <title>Permutations</title>
+ <section xml:id="test.run.permutations"><info><title>Permutations</title></info>
+
<para>
- To run the libstdc++ test suite under the <link
- linkend="manual.ext.debug_mode">debug mode</link>, edit
+ To run the libstdc++ test suite under the <link linkend="manual.ext.debug_mode">debug mode</link>, edit
<filename>libstdc++-v3/scripts/testsuite_flags</filename> to add the
compile-time flag <constant>-D_GLIBCXX_DEBUG</constant> to the
result printed by the <literal>--build-cxx</literal>
@@ -500,11 +496,11 @@ runtest --tool libstdc++ --srcdir=/path/to/gcc/libstdc++-v3/testsuite
set to <constant>-D_GLIBCXX_DEBUG</constant> or
<constant>-D_GLIBCXX_PARALLEL</constant>.
</para>
- </sect3>
-</sect2>
+ </section>
+</section>
+
+<section xml:id="test.new_tests"><info><title>Writing a new test case</title></info>
-<sect2 id="test.new_tests">
-<title>Writing a new test case</title>
<para>
The first step in making a new test case is to choose the correct
@@ -632,14 +628,14 @@ up in the normal.exp file.
<para>
More examples can be found in the libstdc++-v3/testsuite/*/*.cc files.
</para>
-</sect2>
+</section>
+
+<section xml:id="test.harness" xreflabel="Test Harness and Utilities"><info><title>Test Harness and Utilities</title></info>
-<sect2 id="test.harness" xreflabel="Test Harness and Utilities">
-<title>Test Harness and Utilities</title>
-<sect3 id="test.harness.dejagnu">
-<title>Dejagnu Harness Details</title>
+<section xml:id="test.harness.dejagnu"><info><title>Dejagnu Harness Details</title></info>
+
<para>
Underlying details of testing for conformance and regressions are
abstracted via the GNU Dejagnu package. This is similar to the
@@ -682,10 +678,10 @@ board" information unique to this library. This is currently unused and sets
only default variables.
</para>
-</sect3>
+</section>
+
+<section xml:id="test.harness.utils"><info><title>Utilities</title></info>
-<sect3 id="test.harness.utils">
-<title>Utilities</title>
<para>
</para>
<para>
@@ -800,24 +796,24 @@ only default variables.
</itemizedlist>
</listitem>
</itemizedlist>
-</sect3>
+</section>
-</sect2>
+</section>
-<sect2 id="test.special">
-<title>Special Topics</title>
+<section xml:id="test.special"><info><title>Special Topics</title></info>
-<sect3 id="test.exception.safety">
-<title>
+
+<section xml:id="test.exception.safety"><info><title>
Qualifying Exception Safety Guarantees
<indexterm>
<primary>Test</primary>
<secondary>Exception Safety</secondary>
</indexterm>
-</title>
+</title></info>
+
+
+<section xml:id="test.exception.safety.overview"><info><title>Overview</title></info>
-<sect4 id="test.exception.safety.overview">
-<title>Overview</title>
<para>
Testing is composed of running a particular test sequence,
@@ -856,13 +852,13 @@ only default variables.
potential error paths have been exercised in a sequential
manner.
</para>
-</sect4>
+</section>
-<sect4 id="test.exception.safety.status">
-<title>
+<section xml:id="test.exception.safety.status"><info><title>
Existing tests
-</title>
+</title></info>
+
<itemizedlist>
<listitem>
@@ -924,13 +920,13 @@ as the allocator type.
</para>
</listitem>
</itemizedlist>
-</sect4>
+</section>
-<sect4 id="test.exception.safety.containers">
-<title>
+<section xml:id="test.exception.safety.containers"><info><title>
C++0x Requirements Test Sequence Descriptions
-</title>
+</title></info>
+
<itemizedlist>
<listitem>
@@ -1030,10 +1026,10 @@ C++0x Requirements Test Sequence Descriptions
</listitem>
</itemizedlist>
-</sect4>
+</section>
-</sect3>
+</section>
-</sect2>
+</section>
-</sect1>
+</section>
diff --git a/libstdc++-v3/doc/xml/manual/using.xml b/libstdc++-v3/doc/xml/manual/using.xml
index bb6077c4e19..e3400a678c1 100644
--- a/libstdc++-v3/doc/xml/manual/using.xml
+++ b/libstdc++-v3/doc/xml/manual/using.xml
@@ -1,21 +1,15 @@
-<?xml version='1.0'?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
- "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
-[ ]>
-
-<chapter id="manual.intro.using" xreflabel="Using">
+<chapter xmlns="http://docbook.org/ns/docbook" version="5.0"
+ xml:id="manual.intro.using" xreflabel="Using">
+ <info><title>Using</title></info>
<?dbhtml filename="using.html"?>
-<title>Using</title>
-
-
- <sect1 id="manual.intro.using.flags" xreflabel="Flags">
- <title>Command Options</title>
+ <section xml:id="manual.intro.using.flags" xreflabel="Flags"><info><title>Command Options</title></info>
+
<para>
The set of features available in the GNU C++ library is shaped
by
- several <ulink url="http://gcc.gnu.org/onlinedocs/gcc-4.3.2//gcc/Invoking-GCC.html">GCC
- Command Options</ulink>. Options that impact libstdc++ are
+ several <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/onlinedocs/gcc-4.3.2//gcc/Invoking-GCC.html">GCC
+ Command Options</link>. Options that impact libstdc++ are
enumerated and detailed in the table below.
</para>
@@ -23,11 +17,12 @@
By default, <command>g++</command> is equivalent to <command>g++ -std=gnu++98</command>. The standard library also defaults to this dialect.
</para>
- <table frame='all'>
+ <table frame="all">
<title>C++ Command Options</title>
-<tgroup cols='2' align='left' colsep='1' rowsep='1'>
-<colspec colname='c1'></colspec>
-<colspec colname='c2'></colspec>
+
+<tgroup cols="2" align="left" colsep="1" rowsep="1">
+<colspec colname="c1"/>
+<colspec colname="c2"/>
<thead>
<row>
@@ -82,19 +77,19 @@
</tgroup>
</table>
- </sect1>
+ </section>
- <sect1 id="manual.intro.using.headers" xreflabel="Headers">
+ <section xml:id="manual.intro.using.headers" xreflabel="Headers"><info><title>Headers</title></info>
<?dbhtml filename="using_headers.html"?>
- <title>Headers</title>
+
- <sect2 id="manual.intro.using.headers.all" xreflabel="Header Files">
- <title>Header Files</title>
+ <section xml:id="manual.intro.using.headers.all" xreflabel="Header Files"><info><title>Header Files</title></info>
+
<para>
The C++ standard specifies the entire set of header files that
must be available to all hosted implementations. Actually, the
- word &quot;files&quot; is a misnomer, since the contents of the
+ word "files" is a misnomer, since the contents of the
headers don't necessarily have to be in any kind of external
file. The only rule is that when one <code>#include</code>'s a
header, the contents of that header become available, no matter
@@ -121,14 +116,15 @@
C++98/03 include files. These are available in the default compilation mode, i.e. <code>-std=c++98</code> or <code>-std=gnu++98</code>.
</para>
-<table frame='all'>
+<table frame="all">
<title>C++ 1998 Library Headers</title>
-<tgroup cols='5' align='left' colsep='1' rowsep='1'>
-<colspec colname='c1'></colspec>
-<colspec colname='c2'></colspec>
-<colspec colname='c3'></colspec>
-<colspec colname='c4'></colspec>
-<colspec colname='c5'></colspec>
+
+<tgroup cols="5" align="left" colsep="1" rowsep="1">
+<colspec colname="c1"/>
+<colspec colname="c2"/>
+<colspec colname="c3"/>
+<colspec colname="c4"/>
+<colspec colname="c5"/>
<tbody>
<row>
<entry><filename class="headerfile">algorithm</filename></entry>
@@ -180,15 +176,16 @@
</tgroup>
</table>
-<para></para>
-<table frame='all'>
+<para/>
+<table frame="all">
<title>C++ 1998 Library Headers for C Library Facilities</title>
-<tgroup cols='5' align='left' colsep='1' rowsep='1'>
-<colspec colname='c1'></colspec>
-<colspec colname='c2'></colspec>
-<colspec colname='c3'></colspec>
-<colspec colname='c4'></colspec>
-<colspec colname='c5'></colspec>
+
+<tgroup cols="5" align="left" colsep="1" rowsep="1">
+<colspec colname="c1"/>
+<colspec colname="c2"/>
+<colspec colname="c3"/>
+<colspec colname="c4"/>
+<colspec colname="c5"/>
<tbody>
<row>
<entry><filename class="headerfile">cassert</filename></entry>
@@ -225,15 +222,16 @@ C++0x include files. These are only available in C++0x compilation
mode, i.e. <literal>-std=c++0x</literal> or <literal>-std=gnu++0x</literal>.
</para>
-<para></para>
-<table frame='all'>
+<para/>
+<table frame="all">
<title>C++ 200x Library Headers</title>
-<tgroup cols='5' align='left' colsep='1' rowsep='1'>
-<colspec colname='c1'></colspec>
-<colspec colname='c2'></colspec>
-<colspec colname='c3'></colspec>
-<colspec colname='c4'></colspec>
-<colspec colname='c5'></colspec>
+
+<tgroup cols="5" align="left" colsep="1" rowsep="1">
+<colspec colname="c1"/>
+<colspec colname="c2"/>
+<colspec colname="c3"/>
+<colspec colname="c4"/>
+<colspec colname="c5"/>
<tbody>
<row>
@@ -309,16 +307,17 @@ mode, i.e. <literal>-std=c++0x</literal> or <literal>-std=gnu++0x</literal>.
</tgroup>
</table>
-<para></para>
+<para/>
-<table frame='all'>
+<table frame="all">
<title>C++ 200x Library Headers for C Library Facilities</title>
-<tgroup cols='5' align='left' colsep='1' rowsep='1'>
-<colspec colname='c1'></colspec>
-<colspec colname='c2'></colspec>
-<colspec colname='c3'></colspec>
-<colspec colname='c4'></colspec>
-<colspec colname='c5'></colspec>
+
+<tgroup cols="5" align="left" colsep="1" rowsep="1">
+<colspec colname="c1"/>
+<colspec colname="c2"/>
+<colspec colname="c3"/>
+<colspec colname="c4"/>
+<colspec colname="c5"/>
<tbody>
<row>
<entry><filename class="headerfile">cassert</filename></entry>
@@ -368,14 +367,15 @@ mode, i.e. <literal>-std=c++0x</literal> or <literal>-std=gnu++0x</literal>.
In addition, TR1 includes as:
</para>
-<table frame='all'>
+<table frame="all">
<title>C++ TR 1 Library Headers</title>
-<tgroup cols='5' align='left' colsep='1' rowsep='1'>
-<colspec colname='c1'></colspec>
-<colspec colname='c2'></colspec>
-<colspec colname='c3'></colspec>
-<colspec colname='c4'></colspec>
-<colspec colname='c5'></colspec>
+
+<tgroup cols="5" align="left" colsep="1" rowsep="1">
+<colspec colname="c1"/>
+<colspec colname="c2"/>
+<colspec colname="c3"/>
+<colspec colname="c4"/>
+<colspec colname="c5"/>
<tbody>
<row>
@@ -400,17 +400,18 @@ mode, i.e. <literal>-std=c++0x</literal> or <literal>-std=gnu++0x</literal>.
</tgroup>
</table>
-<para></para>
+<para/>
-<table frame='all'>
+<table frame="all">
<title>C++ TR 1 Library Headers for C Library Facilities</title>
-<tgroup cols='5' align='left' colsep='1' rowsep='1'>
-<colspec colname='c1'></colspec>
-<colspec colname='c2'></colspec>
-<colspec colname='c3'></colspec>
-<colspec colname='c4'></colspec>
-<colspec colname='c5'></colspec>
+
+<tgroup cols="5" align="left" colsep="1" rowsep="1">
+<colspec colname="c1"/>
+<colspec colname="c2"/>
+<colspec colname="c3"/>
+<colspec colname="c4"/>
+<colspec colname="c5"/>
<tbody>
<row>
@@ -445,10 +446,11 @@ compiler supports scalar decimal floating-point types defined via
<code>__attribute__((mode(SD|DD|LD)))</code>.
</para>
-<table frame='all'>
+<table frame="all">
<title>C++ TR 24733 Decimal Floating-Point Header</title>
-<tgroup cols='1' align='left' colsep='1' rowsep='1'>
-<colspec colname='c1'></colspec>
+
+<tgroup cols="1" align="left" colsep="1" rowsep="1">
+<colspec colname="c1"/>
<tbody>
<row>
<entry><filename class="headerfile">decimal/decimal</filename></entry>
@@ -461,11 +463,12 @@ compiler supports scalar decimal floating-point types defined via
Also included are files for the C++ ABI interface:
</para>
-<table frame='all'>
+<table frame="all">
<title>C++ ABI Headers</title>
-<tgroup cols='2' align='left' colsep='1' rowsep='1'>
-<colspec colname='c1'></colspec>
-<colspec colname='c2'></colspec>
+
+<tgroup cols="2" align="left" colsep="1" rowsep="1">
+<colspec colname="c1"/>
+<colspec colname="c2"/>
<tbody>
<row><entry><filename class="headerfile">cxxabi.h</filename></entry><entry><filename class="headerfile">cxxabi_forced.h</filename></entry></row>
</tbody>
@@ -476,14 +479,15 @@ compiler supports scalar decimal floating-point types defined via
And a large variety of extensions.
</para>
-<table frame='all'>
+<table frame="all">
<title>Extension Headers</title>
-<tgroup cols='5' align='left' colsep='1' rowsep='1'>
-<colspec colname='c1'></colspec>
-<colspec colname='c2'></colspec>
-<colspec colname='c3'></colspec>
-<colspec colname='c4'></colspec>
-<colspec colname='c5'></colspec>
+
+<tgroup cols="5" align="left" colsep="1" rowsep="1">
+<colspec colname="c1"/>
+<colspec colname="c2"/>
+<colspec colname="c3"/>
+<colspec colname="c4"/>
+<colspec colname="c5"/>
<tbody>
<row>
@@ -536,16 +540,17 @@ compiler supports scalar decimal floating-point types defined via
</tgroup>
</table>
-<para></para>
+<para/>
-<table frame='all'>
+<table frame="all">
<title>Extension Debug Headers</title>
-<tgroup cols='5' align='left' colsep='1' rowsep='1'>
-<colspec colname='c1'></colspec>
-<colspec colname='c2'></colspec>
-<colspec colname='c3'></colspec>
-<colspec colname='c4'></colspec>
-<colspec colname='c5'></colspec>
+
+<tgroup cols="5" align="left" colsep="1" rowsep="1">
+<colspec colname="c1"/>
+<colspec colname="c2"/>
+<colspec colname="c3"/>
+<colspec colname="c4"/>
+<colspec colname="c5"/>
<tbody>
<row>
@@ -567,15 +572,16 @@ compiler supports scalar decimal floating-point types defined via
</tgroup>
</table>
-<para></para>
+<para/>
-<table frame='all'>
+<table frame="all">
<title>Extension Profile Headers</title>
-<tgroup cols='4' align='left' colsep='1' rowsep='1'>
-<colspec colname='c1'></colspec>
-<colspec colname='c2'></colspec>
-<colspec colname='c3'></colspec>
-<colspec colname='c4'></colspec>
+
+<tgroup cols="4" align="left" colsep="1" rowsep="1">
+<colspec colname="c1"/>
+<colspec colname="c2"/>
+<colspec colname="c3"/>
+<colspec colname="c4"/>
<tbody>
<row>
@@ -596,13 +602,14 @@ compiler supports scalar decimal floating-point types defined via
</tgroup>
</table>
-<para></para>
+<para/>
-<table frame='all'>
+<table frame="all">
<title>Extension Parallel Headers</title>
-<tgroup cols='2' align='left' colsep='1' rowsep='1'>
-<colspec colname='c1'></colspec>
-<colspec colname='c2'></colspec>
+
+<tgroup cols="2" align="left" colsep="1" rowsep="1">
+<colspec colname="c1"/>
+<colspec colname="c2"/>
<tbody>
<row>
<entry><filename class="headerfile">parallel/algorithm</filename></entry>
@@ -612,10 +619,10 @@ compiler supports scalar decimal floating-point types defined via
</tgroup>
</table>
- </sect2>
+ </section>
- <sect2 id="manual.intro.using.headers.mixing" xreflabel="Mixing Headers">
- <title>Mixing Headers</title>
+ <section xml:id="manual.intro.using.headers.mixing" xreflabel="Mixing Headers"><info><title>Mixing Headers</title></info>
+
<para> A few simple rules.
</para>
@@ -655,10 +662,10 @@ same translation unit:
<para> Several parts of C++0x diverge quite substantially from TR1 predecessors.
</para>
- </sect2>
+ </section>
- <sect2 id="manual.intro.using.headers.cheaders" xreflabel="C Headers and">
- <title>The C Headers and <code>namespace std</code></title>
+ <section xml:id="manual.intro.using.headers.cheaders" xreflabel="C Headers and"><info><title>The C Headers and <code>namespace std</code></title></info>
+
<para>
The standard specifies that if one includes the C-style header
@@ -682,10 +689,10 @@ used uniformly, instead of a combination
of <code>std::sinf</code>, <code>std::sin</code>,
and <code>std::sinl</code>.
</para>
- </sect2>
+ </section>
- <sect2 id="manual.intro.using.headers.pre" xreflabel="Precompiled Headers">
- <title>Precompiled Headers</title>
+ <section xml:id="manual.intro.using.headers.pre" xreflabel="Precompiled Headers"><info><title>Precompiled Headers</title></info>
+
<para>There are three base header files that are provided. They can be
@@ -754,18 +761,18 @@ g++ -Winvalid-pch -I. -include stdc++.h -H -g -O2 hello.cc -o test.exe
</programlisting>
<para>The exclamation point to the left of the <code>stdc++.h.gch</code> listing means that the generated PCH file was used, and thus the </para>
-<para></para>
+<para/>
-<para> Detailed information about creating precompiled header files can be found in the GCC <ulink url="http://gcc.gnu.org/onlinedocs/gcc/Precompiled-Headers.html">documentation</ulink>.
+<para> Detailed information about creating precompiled header files can be found in the GCC <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/onlinedocs/gcc/Precompiled-Headers.html">documentation</link>.
</para>
- </sect2>
- </sect1>
+ </section>
+ </section>
- <sect1 id="manual.intro.using.macros" xreflabel="Macros">
+ <section xml:id="manual.intro.using.macros" xreflabel="Macros"><info><title>Macros</title></info>
<?dbhtml filename="using_macros.html"?>
- <title>Macros</title>
+
<para>
All library macros begin with <code>_GLIBCXX_</code>.
@@ -863,8 +870,7 @@ g++ -Winvalid-pch -I. -include stdc++.h -H -g -O2 hello.cc -o test.exe
<code>--enable-concept-checks</code>. When defined, performs
compile-time checking on certain template instantiations to
detect violations of the requirements of the standard. This
- is described in more detail <link
- linkend="manual.ext.compile_checks">here</link>.
+ is described in more detail <link linkend="manual.ext.compile_checks">here</link>.
</para>
</listitem></varlistentry>
@@ -901,14 +907,14 @@ g++ -Winvalid-pch -I. -include stdc++.h -H -g -O2 hello.cc -o test.exe
</listitem></varlistentry>
</variablelist>
- </sect1>
+ </section>
- <sect1 id="manual.intro.using.namespaces" xreflabel="Namespaces">
+ <section xml:id="manual.intro.using.namespaces" xreflabel="Namespaces"><info><title>Namespaces</title></info>
<?dbhtml filename="using_namespaces.html"?>
- <title>Namespaces</title>
+
- <sect2 id="manual.intro.using.namespaces.all" xreflabel="Available Namespaces">
- <title>Available Namespaces</title>
+ <section xml:id="manual.intro.using.namespaces.all" xreflabel="Available Namespaces"><info><title>Available Namespaces</title></info>
+
@@ -937,14 +943,14 @@ and <code>__gnu_pbds</code>.
</para></listitem>
</itemizedlist>
-<para> A complete list of implementation namespaces (including namespace contents) is available in the generated source <ulink url="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/namespaces.html">documentation</ulink>.
+<para> A complete list of implementation namespaces (including namespace contents) is available in the generated source <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/namespaces.html">documentation</link>.
</para>
- </sect2>
+ </section>
- <sect2 id="manual.intro.using.namespaces.std" xreflabel="namespace std">
- <title>namespace std</title>
+ <section xml:id="manual.intro.using.namespaces.std" xreflabel="namespace std"><info><title>namespace std</title></info>
+
<para>
@@ -967,10 +973,10 @@ cases where the qualified verbiage becomes unwieldy.)
</listitem>
</itemizedlist>
- </sect2>
+ </section>
- <sect2 id="manual.intro.using.namespaces.comp" xreflabel="Using Namespace Composition">
- <title>Using Namespace Composition</title>
+ <section xml:id="manual.intro.using.namespaces.comp" xreflabel="Using Namespace Composition"><info><title>Using Namespace Composition</title></info>
+
<para>
Best practice in programming suggests sequestering new data or
@@ -1005,22 +1011,22 @@ namespace gtk
<code>std::string</code> does not get imported into
the global namespace. Additionally, a more elaborate arrangement can be made for backwards compatibility and portability, whereby the
<code>using</code>-declarations can wrapped in macros that
- are set based on autoconf-tests to either &quot;&quot; or i.e. <code>using
+ are set based on autoconf-tests to either "" or i.e. <code>using
std::string;</code> (depending on whether the system has
libstdc++ in <code>std::</code> or not). (ideas from
Llewelly and Karl Nelson)
</para>
- </sect2>
- </sect1>
+ </section>
+ </section>
- <sect1 id="manual.intro.using.linkage" xreflabel="Linkage">
+ <section xml:id="manual.intro.using.linkage" xreflabel="Linkage"><info><title>Linking</title></info>
<?dbhtml filename="using_dynamic_or_shared.html"?>
- <title>Linking</title>
+
- <sect2 id="manual.intro.using.linkage.freestanding" xreflabel="Freestanding">
- <title>Almost Nothing</title>
+ <section xml:id="manual.intro.using.linkage.freestanding" xreflabel="Freestanding"><info><title>Almost Nothing</title></info>
+
<para>
Or as close as it gets: freestanding. This is a minimal
configuration, with only partial support for the standard
@@ -1121,10 +1127,10 @@ namespace gtk
identified above is actually used at compile time. Violations
are diagnosed as undefined symbols at link time.
</para>
- </sect2>
+ </section>
- <sect2 id="manual.intro.using.linkage.dynamic" xreflabel="Dynamic and Shared">
- <title>Finding Dynamic or Shared Libraries</title>
+ <section xml:id="manual.intro.using.linkage.dynamic" xreflabel="Dynamic and Shared"><info><title>Finding Dynamic or Shared Libraries</title></info>
+
<para>
If the only library built is the static library
@@ -1139,10 +1145,10 @@ namespace gtk
</para>
<para>
A quick read of the relevant part of the GCC
- manual, <ulink url="http://gcc.gnu.org/onlinedocs/gcc/Invoking-G_002b_002b.html#Invoking-G_002b_002b">Compiling
- C++ Programs</ulink>, specifies linking against a C++
+ manual, <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/onlinedocs/gcc/Invoking-G_002b_002b.html#Invoking-G_002b_002b">Compiling
+ C++ Programs</link>, specifies linking against a C++
library. More details from the
- GCC <ulink url="http://gcc.gnu.org/faq.html#rpath">FAQ</ulink>,
+ GCC <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/faq.html#rpath">FAQ</link>,
which states <emphasis>GCC does not, by default, specify a
location so that the dynamic linker can find dynamic libraries at
runtime.</emphasis>
@@ -1177,19 +1183,19 @@ A quick read of the relevant part of the GCC
<listitem>
<para>
GNU ld (default on Linux):
- <literal>-Wl,-rpath,<filename class="directory">destdir</filename>/lib</literal>
+ <literal>-Wl,-rpath,</literal><filename class="directory">destdir/lib</filename>
</para>
</listitem>
<listitem>
<para>
IRIX ld:
- <literal>-Wl,-rpath,<filename class="directory">destdir</filename>/lib</literal>
+ <literal>-Wl,-rpath,</literal><filename class="directory">destdir/lib</filename>
</para>
</listitem>
<listitem>
<para>
Solaris ld:
- <literal>-Wl,-R<filename class="directory">destdir</filename>/lib</literal>
+ <literal>-Wl,-R</literal><filename class="directory">destdir/lib</filename>
</para>
</listitem>
</itemizedlist>
@@ -1225,13 +1231,13 @@ A quick read of the relevant part of the GCC
create your executables, these details are taken care of for
you.
</para>
- </sect2>
- </sect1>
+ </section>
+ </section>
- <sect1 id="manual.intro.using.concurrency" xreflabel="Concurrency">
+ <section xml:id="manual.intro.using.concurrency" xreflabel="Concurrency"><info><title>Concurrency</title></info>
<?dbhtml filename="using_concurrency.html"?>
- <title>Concurrency</title>
+
<para>This section discusses issues surrounding the proper compilation
of multithreaded applications which use the Standard C++
@@ -1239,8 +1245,8 @@ A quick read of the relevant part of the GCC
standard does not address matters of multithreaded applications.
</para>
- <sect2 id="manual.intro.using.concurrency.prereq" xreflabel="Thread Prereq">
- <title>Prerequisites</title>
+ <section xml:id="manual.intro.using.concurrency.prereq" xreflabel="Thread Prereq"><info><title>Prerequisites</title></info>
+
<para>All normal disclaimers aside, multithreaded C++ application are
only supported when libstdc++ and all user code was built with
@@ -1274,14 +1280,14 @@ A quick read of the relevant part of the GCC
in ``gcc -dumpspecs'' (look at lib and cpp entries).
</para>
- </sect2>
+ </section>
- <sect2 id="manual.intro.using.concurrency.thread_safety" xreflabel="Thread Safety">
- <title>Thread Safety</title>
+ <section xml:id="manual.intro.using.concurrency.thread_safety" xreflabel="Thread Safety"><info><title>Thread Safety</title></info>
+
<para>
-We currently use the <ulink url="http://www.sgi.com/tech/stl/thread_safety.html">SGI STL</ulink> definition of thread safety.
+We currently use the <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.sgi.com/tech/stl/thread_safety.html">SGI STL</link> definition of thread safety.
</para>
@@ -1315,9 +1321,8 @@ gcc version 4.1.2 20070925 (Red Hat 4.1.2-33)
Requisite command-line flags are used for atomic operations
and threading. Examples of this include <code>-pthread</code>
and <code>-march=native</code>, although specifics vary
- depending on the host environment. See <ulink
- url="http://gcc.gnu.org/onlinedocs/gcc/Option-Summary.html">Machine
- Dependent Options</ulink>.
+ depending on the host environment. See <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/onlinedocs/gcc/Option-Summary.html">Machine
+ Dependent Options</link>.
</para>
</listitem>
<listitem>
@@ -1366,20 +1371,20 @@ gcc version 4.1.2 20070925 (Red Hat 4.1.2-33)
</para>
- </sect2>
- <sect2 id="manual.intro.using.concurrency.atomics" xreflabel="Atomics">
- <title>Atomics</title>
+ </section>
+ <section xml:id="manual.intro.using.concurrency.atomics" xreflabel="Atomics"><info><title>Atomics</title></info>
+
<para>
</para>
- </sect2>
+ </section>
- <sect2 id="manual.intro.using.concurrency.io" xreflabel="IO">
- <title>IO</title>
+ <section xml:id="manual.intro.using.concurrency.io" xreflabel="IO"><info><title>IO</title></info>
+
<para>This gets a bit tricky. Please read carefully, and bear with me.
</para>
- <sect3 id="concurrency.io.structure" xreflabel="Structure">
- <title>Structure</title>
+ <section xml:id="concurrency.io.structure" xreflabel="Structure"><info><title>Structure</title></info>
+
<para>A wrapper
type called <code>__basic_file</code> provides our abstraction layer
for the <code>std::filebuf</code> classes. Nearly all decisions dealing
@@ -1390,18 +1395,18 @@ gcc version 4.1.2 20070925 (Red Hat 4.1.2-33)
level is akin to providing locking within containers, and is not done
for the same reasons (see the links above).
</para>
- </sect3>
+ </section>
- <sect3 id="concurrency.io.defaults" xreflabel="Defaults">
- <title>Defaults</title>
+ <section xml:id="concurrency.io.defaults" xreflabel="Defaults"><info><title>Defaults</title></info>
+
<para>The __basic_file type is simply a collection of small wrappers around
the C stdio layer (again, see the link under Structure). We do no
locking ourselves, but simply pass through to calls to <code>fopen</code>,
<code>fwrite</code>, and so forth.
</para>
- <para>So, for 3.0, the question of &quot;is multithreading safe for I/O&quot;
- must be answered with, &quot;is your platform's C library threadsafe
- for I/O?&quot; Some are by default, some are not; many offer multiple
+ <para>So, for 3.0, the question of "is multithreading safe for I/O"
+ must be answered with, "is your platform's C library threadsafe
+ for I/O?" Some are by default, some are not; many offer multiple
implementations of the C library with varying tradeoffs of threadsafety
and efficiency. You, the programmer, are always required to take care
with multiple threads.
@@ -1420,10 +1425,10 @@ gcc version 4.1.2 20070925 (Red Hat 4.1.2-33)
inside an <code>std::ofstream</code>), you need to guard such accesses
like any other critical shared resource.
</para>
- </sect3>
+ </section>
- <sect3 id="concurrency.io.future" xreflabel="Future">
- <title>Future</title>
+ <section xml:id="concurrency.io.future" xreflabel="Future"><info><title>Future</title></info>
+
<para> A
second choice may be available for I/O implementations: libio. This is
disabled by default, and in fact will not currently work due to other
@@ -1434,11 +1439,11 @@ gcc version 4.1.2 20070925 (Red Hat 4.1.2-33)
type is basically derived from FILE. (The real situation is more
complex than that... it's derived from an internal type used to
implement FILE. See libio/libioP.h to see scary things done with
- vtbls.) The result is that there is no &quot;layer&quot; of C stdio
+ vtbls.) The result is that there is no "layer" of C stdio
to go through; the filebuf makes calls directly into the same
functions used to implement <code>fread</code>, <code>fwrite</code>,
and so forth, using internal data structures. (And when I say
- &quot;makes calls directly,&quot; I mean the function is literally
+ "makes calls directly," I mean the function is literally
replaced by a jump into an internal function. Fast but frightening.
*grin*)
</para>
@@ -1453,20 +1458,20 @@ gcc version 4.1.2 20070925 (Red Hat 4.1.2-33)
installed. For other platforms, a copy of the libio subsection will
be built and included in libstdc++.
</para>
- </sect3>
+ </section>
- <sect3 id="concurrency.io.alt" xreflabel="Alt">
- <title>Alternatives</title>
+ <section xml:id="concurrency.io.alt" xreflabel="Alt"><info><title>Alternatives</title></info>
+
<para>Don't forget that other cstdio implementations are possible. You could
easily write one to perform your own forms of locking, to solve your
- &quot;interesting&quot; problems.
+ "interesting" problems.
</para>
- </sect3>
+ </section>
- </sect2>
+ </section>
- <sect2 id="manual.intro.using.concurrency.containers" xreflabel="Containers">
- <title>Containers</title>
+ <section xml:id="manual.intro.using.concurrency.containers" xreflabel="Containers"><info><title>Containers</title></info>
+
<para>This section discusses issues surrounding the design of
multithreaded applications which use Standard C++ containers.
@@ -1481,10 +1486,10 @@ gcc version 4.1.2 20070925 (Red Hat 4.1.2-33)
</para>
<para>Two excellent pages to read when working with the Standard C++
containers and threads are
- <ulink url="http://www.sgi.com/tech/stl/thread_safety.html">SGI's
- http://www.sgi.com/tech/stl/thread_safety.html</ulink> and
- <ulink url="http://www.sgi.com/tech/stl/Allocators.html">SGI's
- http://www.sgi.com/tech/stl/Allocators.html</ulink>.
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.sgi.com/tech/stl/thread_safety.html">SGI's
+ http://www.sgi.com/tech/stl/thread_safety.html</link> and
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.sgi.com/tech/stl/Allocators.html">SGI's
+ http://www.sgi.com/tech/stl/Allocators.html</link>.
</para>
<para><emphasis>However, please ignore all discussions about the user-level
configuration of the lock implementation inside the STL
@@ -1528,17 +1533,15 @@ gcc version 4.1.2 20070925 (Red Hat 4.1.2-33)
options and capabilities.
</para>
- </sect2>
-</sect1>
+ </section>
+</section>
<!-- Section 0x : Exception policies, expectations, topics -->
-<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
- parse="xml" href="using_exceptions.xml">
+<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="using_exceptions.xml">
</xi:include>
<!-- Section 0x : Debug -->
-<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
- parse="xml" href="debug.xml">
+<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="debug.xml">
</xi:include>
</chapter>
diff --git a/libstdc++-v3/doc/xml/manual/using_exceptions.xml b/libstdc++-v3/doc/xml/manual/using_exceptions.xml
index d6f52a572a1..afc38734ae8 100644
--- a/libstdc++-v3/doc/xml/manual/using_exceptions.xml
+++ b/libstdc++-v3/doc/xml/manual/using_exceptions.xml
@@ -1,7 +1,8 @@
-<sect1 id="manual.intro.using.exceptions" xreflabel="Using Exceptions">
+<section xmlns="http://docbook.org/ns/docbook" version="5.0"
+ xml:id="manual.intro.using.exceptions" xreflabel="Using Exceptions">
<?dbhtml filename="using_exceptions.html"?>
-<sect1info>
+<info><title>Exceptions</title>
<keywordset>
<keyword>
C++
@@ -25,9 +26,7 @@
-fno-exceptions
</keyword>
</keywordset>
-</sect1info>
-
-<title>Exceptions</title>
+</info>
<para>
The C++ language provides language support for stack unwinding
@@ -48,8 +47,8 @@ exception neutrality and exception safety.
</para>
-<sect2 id="intro.using.exception.safety" xreflabel="Exception Safety">
-<title>Exception Safety</title>
+<section xml:id="intro.using.exception.safety" xreflabel="Exception Safety"><info><title>Exception Safety</title></info>
+
<para>
What is exception-safe code?
@@ -121,11 +120,11 @@ exception neutrality and exception safety.
</listitem>
</itemizedlist>
-</sect2>
+</section>
-<sect2 id="intro.using.exception.propagating" xreflabel="Exceptions Neutrality">
-<title>Exception Neutrality</title>
+<section xml:id="intro.using.exception.propagating" xreflabel="Exceptions Neutrality"><info><title>Exception Neutrality</title></info>
+
<para>
Simply put, once thrown an exception object should continue in
flight unless handled explicitly. In practice, this means
@@ -201,10 +200,10 @@ exception neutrality and exception safety.
</listitem>
</itemizedlist>
-</sect2>
+</section>
+
+<section xml:id="intro.using.exception.no" xreflabel="-fno-exceptions"><info><title>Doing without</title></info>
-<sect2 id="intro.using.exception.no" xreflabel="-fno-exceptions">
-<title>Doing without</title>
<para>
C++ is a language that strives to be as efficient as is possible
in delivering features. As such, considerable care is used by both
@@ -217,7 +216,7 @@ exception neutrality and exception safety.
support <literal>try</literal> and <literal>catch</literal> blocks
and thrown objects. (Language support
for <literal>-fno-exceptions</literal> is documented in the GNU
- GCC <ulink url="http://gcc.gnu.org/onlinedocs/gcc/Code-Gen-Options.html#Code-Gen-Options">manual</ulink>.)
+ GCC <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/onlinedocs/gcc/Code-Gen-Options.html#Code-Gen-Options">manual</link>.)
</para>
<para>Before detailing the library support
@@ -353,13 +352,13 @@ exception neutrality and exception safety.
</para>
-</sect2>
+</section>
-<sect2 id="intro.using.exception.compat">
-<title>Compatibility</title>
+<section xml:id="intro.using.exception.compat"><info><title>Compatibility</title></info>
+
+
+<section xml:id="using.exception.compat.c"><info><title>With <literal>C</literal></title></info>
-<sect3 id="using.exception.compat.c">
-<title>With <literal>C</literal></title>
<para>
C language code that is expecting to interoperate with C++ should be
compiled with <literal>-fexceptions</literal>. This will make
@@ -381,10 +380,10 @@ is called.
with <literal>-fexceptions</literal>.
</para>
-</sect3>
+</section>
+
+<section xml:id="using.exception.compat.posix"><info><title>With <literal>POSIX</literal> thread cancellation</title></info>
-<sect3 id="using.exception.compat.posix">
-<title>With <literal>POSIX</literal> thread cancellation</title>
<para>
GNU systems re-use some of the exception handling mechanisms to
@@ -424,28 +423,27 @@ is called.
<programlisting>
catch(const __cxxabiv1::__forced_unwind&amp;)
{
- this->_M_setstate(ios_base::badbit);
+ this-&gt;_M_setstate(ios_base::badbit);
throw;
}
catch(...)
- { this->_M_setstate(ios_base::badbit); }
+ { this-&gt;_M_setstate(ios_base::badbit); }
</programlisting>
-</sect3>
-</sect2>
+</section>
+</section>
+
+<bibliography xml:id="using.exceptions.biblio"><info><title>Bibliography</title></info>
-<bibliography id="using.exceptions.biblio">
-<title>Bibliography</title>
<biblioentry>
- <biblioid class="uri">
- <ulink url="http://www.opengroup.org/austin">
- <citetitle>
- System Interface Definitions, Issue 7 (IEEE Std. 1003.1-2008)
- </citetitle>
- </ulink>
- </biblioid>
+ <biblioid xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.opengroup.org/austin" class="uri">
+ </biblioid>
+ <citetitle>
+ System Interface Definitions, Issue 7 (IEEE Std. 1003.1-2008)
+ </citetitle>
+
<pagenums>
2.9.5 Thread Cancellation
</pagenums>
@@ -459,17 +457,13 @@ is called.
</biblioentry>
<biblioentry>
- <biblioid class="uri">
- <ulink url="http://www.boost.org/community/error_handling.html">
- <citetitle>
- Error and Exception Handling
- </citetitle>
- </ulink>
- </biblioid>
- <author>
- <firstname>David</firstname>
- <surname>Abrahams </surname>
- </author>
+ <biblioid xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.boost.org/community/error_handling.html" class="uri">
+ </biblioid>
+ <citetitle>
+ Error and Exception Handling
+ </citetitle>
+
+ <author><personname><firstname>David</firstname><surname>Abrahams </surname></personname></author>
<publisher>
<publishername>
Boost
@@ -479,17 +473,13 @@ is called.
<biblioentry>
- <biblioid class="uri">
- <ulink url="http://www.boost.org/community/exception_safety.html">
- <citetitle>
- Exception-Safety in Generic Components
- </citetitle>
- </ulink>
- </biblioid>
- <author>
- <firstname>David</firstname>
- <surname>Abrahams</surname>
- </author>
+ <biblioid xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.boost.org/community/exception_safety.html" class="uri">
+ </biblioid>
+ <citetitle>
+ Exception-Safety in Generic Components
+ </citetitle>
+
+ <author><personname><firstname>David</firstname><surname>Abrahams</surname></personname></author>
<publisher>
<publishername>
Boost
@@ -498,17 +488,12 @@ is called.
</biblioentry>
<biblioentry>
- <biblioid class="uri">
- <ulink url="www.open-std.org/jtc1/sc22/wg21/docs/papers/1997/N1077.pdf">
- <citetitle>
- Standard Library Exception Policy
- </citetitle>
- </ulink>
- </biblioid>
- <author>
- <firstname>Matt</firstname>
- <surname>Austern</surname>
- </author>
+ <biblioid xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="www.open-std.org/jtc1/sc22/wg21/docs/papers/1997/N1077.pdf" class="uri">
+ </biblioid>
+ <citetitle>
+ Standard Library Exception Policy
+ </citetitle>
+ <author><personname><firstname>Matt</firstname><surname>Austern</surname></personname></author>
<publisher>
<publishername>
WG21 N1077
@@ -517,17 +502,13 @@ is called.
</biblioentry>
<biblioentry>
- <biblioid class="uri">
- <ulink url="http://gcc.gnu.org/ml/gcc-patches/2001-03/msg00661.html">
- <citetitle>
- ia64 c++ abi exception handling
- </citetitle>
- </ulink>
- </biblioid>
- <author>
- <firstname>Richard</firstname>
- <surname>Henderson</surname>
- </author>
+ <biblioid xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/ml/gcc-patches/2001-03/msg00661.html" class="uri">
+ </biblioid>
+ <citetitle>
+ ia64 c++ abi exception handling
+ </citetitle>
+
+ <author><personname><firstname>Richard</firstname><surname>Henderson</surname></personname></author>
<publisher>
<publishername>
GNU
@@ -536,42 +517,32 @@ is called.
</biblioentry>
<biblioentry>
- <biblioid class="uri">
- <ulink url="http://www.research.att.com/~bs/3rd_safe.pdf">
- <citetitle>
- Appendix E: Standard-Library Exception Safety
- </citetitle>
- </ulink>
- </biblioid>
- <author>
- <firstname>Bjarne</firstname>
- <surname>Stroustrup</surname>
- </author>
+ <biblioid xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.research.att.com/~bs/3rd_safe.pdf" class="uri">
+ </biblioid>
+ <citetitle>
+ Appendix E: Standard-Library Exception Safety
+ </citetitle>
+ <author><personname><firstname>Bjarne</firstname><surname>Stroustrup</surname></personname></author>
</biblioentry>
<biblioentry>
- <title>
+ <citetitle>
Exceptional C++
- </title>
+ </citetitle>
<pagenums>
Exception-Safety Issues and Techniques
</pagenums>
- <author>
- <firstname>Herb</firstname>
- <surname>Sutter</surname>
- </author>
+ <author><personname><firstname>Herb</firstname><surname>Sutter</surname></personname></author>
</biblioentry>
<biblioentry>
- <biblioid class="uri">
- <ulink url="http://gcc.gnu.org/PR25191">
- <citetitle>
- GCC Bug 25191: exception_defines.h #defines try/catch
- </citetitle>
- </ulink>
+ <biblioid xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/PR25191" class="uri">
</biblioid>
+ <citetitle>
+ GCC Bug 25191: exception_defines.h #defines try/catch
+ </citetitle>
</biblioentry>
</bibliography>
-</sect1>
+</section>
diff --git a/libstdc++-v3/doc/xml/manual/utilities.xml b/libstdc++-v3/doc/xml/manual/utilities.xml
index ef118f5ccc4..5c3a8fd4864 100644
--- a/libstdc++-v3/doc/xml/manual/utilities.xml
+++ b/libstdc++-v3/doc/xml/manual/utilities.xml
@@ -1,12 +1,11 @@
-<?xml version='1.0'?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
- "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
-[ ]>
-
-<chapter id="std.util" xreflabel="Utilities">
+<chapter xmlns="http://docbook.org/ns/docbook" version="5.0"
+ xml:id="std.util" xreflabel="Utilities">
<?dbhtml filename="utilities.html"?>
-<chapterinfo>
+<info><title>
+ Utilities
+ <indexterm><primary>Utilities</primary></indexterm>
+</title>
<keywordset>
<keyword>
ISO C++
@@ -15,30 +14,27 @@
library
</keyword>
</keywordset>
-</chapterinfo>
+</info>
+
-<title>
- Utilities
- <indexterm><primary>Utilities</primary></indexterm>
-</title>
<!-- Section 01 : Functors -->
-<section id="std.util.functors" xreflabel="Functors">
+<section xml:id="std.util.functors" xreflabel="Functors"><info><title>Functors</title></info>
<?dbhtml filename="functors.html"?>
- <title>Functors</title>
+
<para>If you don't know what functors are, you're not alone. Many people
get slightly the wrong idea. In the interest of not reinventing
the wheel, we will refer you to the introduction to the functor
concept written by SGI as chapter of their STL, in
- <ulink url="http://www.sgi.com/tech/stl/functors.html">their
- http://www.sgi.com/tech/stl/functors.html</ulink>.
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.sgi.com/tech/stl/functors.html">their
+ http://www.sgi.com/tech/stl/functors.html</link>.
</para>
</section>
<!-- Section 02 : Pairs -->
-<section id="std.util.pairs" xreflabel="Pairs">
+<section xml:id="std.util.pairs" xreflabel="Pairs"><info><title>Pairs</title></info>
<?dbhtml filename="pairs.html"?>
- <title>Pairs</title>
+
<para>The <code>pair&lt;T1,T2&gt;</code> is a simple and handy way to
carry around a pair of objects. One is of type T1, and another of
type T2; they may be the same type, but you don't get anything
@@ -92,9 +88,9 @@
</section>
<!-- Section 03 : Memory -->
-<section id="std.util.memory" xreflabel="Memory">
+<section xml:id="std.util.memory" xreflabel="Memory"><info><title>Memory</title></info>
<?dbhtml filename="memory.html"?>
- <title>Memory</title>
+
<para>
Memory contains three general areas. First, function and operator
calls via <function>new</function> and <function>delete</function>
@@ -104,26 +100,23 @@
</para>
<!-- Section 01 : allocator -->
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
- parse="xml" href="allocator.xml">
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="allocator.xml">
</xi:include>
<!-- Section 02 : auto_ptr -->
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
- parse="xml" href="auto_ptr.xml">
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="auto_ptr.xml">
</xi:include>
<!-- Section 03 : shared_ptr -->
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
- parse="xml" href="shared_ptr.xml">
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="shared_ptr.xml">
</xi:include>
</section>
<!-- Section 04 : Traits -->
-<section id="std.util.traits" xreflabel="Traits">
+<section xml:id="std.util.traits" xreflabel="Traits"><info><title>Traits</title></info>
<?dbhtml filename="traits.html"?>
- <title>Traits</title>
+
<para>
</para>
</section>
diff --git a/libstdc++-v3/doc/xml/spine.xml b/libstdc++-v3/doc/xml/spine.xml
index 27d0d8ab3c4..726966bc78c 100644
--- a/libstdc++-v3/doc/xml/spine.xml
+++ b/libstdc++-v3/doc/xml/spine.xml
@@ -1,15 +1,9 @@
-<?xml version='1.0'?>
-<!DOCTYPE set PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
- "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
-[
-<!ENTITY authors SYSTEM "authors.xml">
-]>
-
-<set id="set-index" xreflabel="The GNU C++ Library Documentation">
+<set xmlns="http://docbook.org/ns/docbook" version="5.0"
+ xml:id="set-index"
+ xreflabel="The GNU C++ Library Documentation">
<?dbhtml filename="spine.html"?>
-<title>The GNU C++ Library Documentation</title>
-<setinfo>
+<info>
<copyright>
<year>2000</year>
<year>2001</year>
@@ -23,26 +17,144 @@
<year>2009</year>
<year>2010</year>
<holder>
- <ulink url="http://www.fsf.org">FSF</ulink>
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.fsf.org">FSF</link>
</holder>
</copyright>
- &authors;
-</setinfo>
+
+<authorgroup version="5.0">
+
+<!--
+ <author>
+ <firstname>Benjamin</firstname>
+ <surname>Kosnik</surname>
+
+ <affiliation>
+ <shortaffil>Red Hat</shortaffil>
+ <orgname>Red Hat, Inc.</orgname>
+ <address>
+ <email>libstdc++@gcc.gnu.org</email>
+ </address>
+ </affiliation>
+
+ <authorblurb>
+ <para>
+ </para>
+ </authorblurb>
+ </author>
+-->
+
+ <author><personname><firstname/><surname/></personname><personblurb>
+ <para>
+ </para>
+ </personblurb></author>
+
+ <author><personname><firstname>Paolo</firstname><surname>Carlini</surname></personname><personblurb>
+ <para>
+ TR1, LWG Active, Closed, Defects lists.
+ </para>
+ </personblurb></author>
+
+ <author><personname><firstname>Phil</firstname><surname>Edwards</surname></personname><personblurb>
+ <para>
+ Originating author, started HOWTO and FAQ, worked on sections
+ Demangling, Macros, Strings, Iterators, Backwards
+ Compatibility, SGI Extensions, Configure, Build, Install.
+ </para>
+ </personblurb></author>
+
+ <author><personname><firstname>Doug</firstname><surname>Gregor</surname></personname><personblurb>
+ <para>
+ Debug Mode, TR1 function objects
+ </para>
+ </personblurb></author>
+
+ <author><personname><firstname>Benjamin</firstname><surname>Kosnik</surname></personname><personblurb>
+ <para>
+ Allocators, ABI, API evolution and deprecation history,
+ Backwards Compatibility, Thread, Debug Support, Locales,
+ Facets, Parallel Mode, Headers, Namespaces, Construction and
+ Structure, Using Exceptions, DocBook conversion and layout.
+ </para>
+ </personblurb></author>
+
+
+ <author><personname><firstname>Dhruv</firstname><surname>Matani</surname></personname><personblurb>
+ <para>
+ bitmap_allocator
+ </para>
+ </personblurb></author>
+
+ <author><personname><firstname>Jason</firstname><surname>Merrill</surname></personname><personblurb>
+ <para>
+ License, __verbose_terminate_handler
+ </para>
+ </personblurb></author>
+
+ <author><personname><firstname>Mark</firstname><surname>Mitchell</surname></personname><personblurb>
+ <para>
+ Porting
+ </para>
+ </personblurb></author>
+
+ <author><personname><firstname>Nathan</firstname><surname>Myers</surname></personname><personblurb>
+ <para>
+ Referenced counted string, C++1998 implementation status.
+ </para>
+ </personblurb></author>
+
+ <author><personname><firstname>Felix</firstname><surname>Natter</surname></personname><personblurb>
+ <para>
+ Namespace composition, Backwards Compatibility.
+ </para>
+ </personblurb></author>
+
+
+ <author><personname><firstname>Stefan</firstname><surname>Olsson</surname></personname><personblurb>
+ <para>
+ mt_allocator
+ </para>
+ </personblurb></author>
+
+ <author><personname><firstname>Silvius</firstname><surname>Rus</surname></personname><personblurb>
+ <para>
+ Profile mode
+ </para>
+ </personblurb></author>
+
+ <author><personname><firstname>Johannes</firstname><surname>Singler</surname></personname><personblurb>
+ <para>
+ Parallel mode
+ </para>
+ </personblurb></author>
+
+ <author><personname><firstname>Ami</firstname><surname>Tavory</surname></personname><personblurb>
+ <para>
+ Policy Based Data Structures, Associative Containers, Unordered
+ Containers.
+ </para>
+ </personblurb></author>
+
+ <author><personname><firstname>Jonathan</firstname><surname>Wakely</surname></personname><personblurb>
+ <para>
+ shared_ptr, markup editing and styling
+ </para>
+ </personblurb></author>
+
+</authorgroup>
+
+</info>
<!-- User Manual -->
-<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
- href="manual/spine.xml" parse="xml">
+<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="manual/spine.xml" parse="xml">
</xi:include>
<!-- Source Level Documentation-->
-<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
- href="api.xml" parse="xml">
+<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="api.xml" parse="xml">
</xi:include>
<!-- FAQ -->
-<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
- href="faq.xml" parse="xml">
+<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="faq.xml" parse="xml">
</xi:include>
</set>