Commit c6a21af2 by Benjamin Kosnik Committed by Benjamin Kosnik

DocBook 4.5 to 5.0 transition.

2010-07-22  Benjamin Kosnik  <bkoz@redhat.com>

	DocBook 4.5 to 5.0 transition.
	* doc/xml/authors.xml: Update markup to DocBook 5.0.
	* doc/xml/faq.xml: Same.
	* doc/xml/api.xml: Same.
	* doc/xml/class.txml
	* doc/xml/gnu/gpl-3.0.xml: Same.
	* doc/xml/gnu/fdl-1.2.xml: Same.
	* doc/xml/gnu/fdl-1.3.xml: Same.
	* doc/xml/gnu/gpl-2.0.xml: Same.
	* doc/xml/chapter.txml: Same.
	* doc/xml/manual/mt_allocator.xml: Same.
	* doc/xml/manual/allocator.xml: Same.
	* doc/xml/manual/ctype.xml: Same.
	* doc/xml/manual/numerics.xml: Same.
	* doc/xml/manual/codecvt.xml: Same.
	* doc/xml/manual/backwards_compatibility.xml: Same.
	* doc/xml/manual/concurrency.xml: Same.
	* doc/xml/manual/intro.xml: Same.
	* doc/xml/manual/abi.xml: Same.
	* doc/xml/manual/shared_ptr.xml: Same.
	* doc/xml/manual/status_cxxtr1.xml: Same.
	* doc/xml/manual/auto_ptr.xml: Same.
	* doc/xml/manual/internals.xml: Same.
	* doc/xml/manual/atomics.xml: Same.
	* doc/xml/manual/parallel_mode.xml: Same.
	* doc/xml/manual/status_cxx1998.xml: Same.
	* doc/xml/manual/profile_mode.xml: Same.
	* doc/xml/manual/containers.xml: Same.
	* doc/xml/manual/io.xml: Same.
	* doc/xml/manual/concurrency_extensions.xml: Same.
	* doc/xml/manual/appendix_porting.xml: Same.
	* doc/xml/manual/utilities.xml: Same.
	* doc/xml/manual/support.xml: Same.
	* doc/xml/manual/bitmap_allocator.xml: Same.
	* doc/xml/manual/configure.xml: Same.
	* doc/xml/manual/build_hacking.xml: Same.
	* doc/xml/manual/evolution.xml: Same.
	* doc/xml/manual/using.xml: Same.
	* doc/xml/manual/using_exceptions.xml: Same.
	* doc/xml/manual/debug.xml: Same.
	* doc/xml/manual/localization.xml: Same.
	* doc/xml/manual/strings.xml: Same.
	* doc/xml/manual/debug_mode.xml: Same.
	* doc/xml/manual/locale.xml: Same.
	* doc/xml/manual/extensions.xml: Same.
	* doc/xml/manual/appendix_contributing.xml: Same.
	* doc/xml/manual/prerequisites.xml: Same.
	* doc/xml/manual/messages.xml: Same.
	* doc/xml/manual/diagnostics.xml: Same.
	* doc/xml/manual/algorithms.xml: Same.
	* doc/xml/manual/appendix_free.xml: Same.
	* doc/xml/manual/iterators.xml: Same.
	* doc/xml/manual/spine.xml: Same.
	* doc/xml/manual/status_cxxtr24733.xml: Same.
	* doc/xml/manual/status_cxx200x.xml: Same.
	* doc/xml/manual/test.xml: Same.
	* doc/xml/book.txml: Same.
	* doc/xml/spine.xml: Same.
	* doc/Makefile.am: Same.
	* doc/Makefile.in: Regenerate.

From-SVN: r162433
parent 8cfd82bf
2010-07-19 Benjamin Kosnik <bkoz@redhat.com> 2010-07-22 Benjamin Kosnik <bkoz@redhat.com>
DocBook 4.5 to 5.0 transition.
* doc/xml/authors.xml: Update markup to DocBook 5.0.
* doc/xml/faq.xml: Same.
* doc/xml/api.xml: Same.
* doc/xml/class.txml
* doc/xml/gnu/gpl-3.0.xml: Same.
* doc/xml/gnu/fdl-1.2.xml: Same.
* doc/xml/gnu/fdl-1.3.xml: Same.
* doc/xml/gnu/gpl-2.0.xml: Same.
* doc/xml/chapter.txml: Same.
* doc/xml/manual/mt_allocator.xml: Same.
* doc/xml/manual/allocator.xml: Same.
* doc/xml/manual/ctype.xml: Same.
* doc/xml/manual/numerics.xml: Same.
* doc/xml/manual/codecvt.xml: Same.
* doc/xml/manual/backwards_compatibility.xml: Same.
* doc/xml/manual/concurrency.xml: Same.
* doc/xml/manual/intro.xml: Same.
* doc/xml/manual/abi.xml: Same.
* doc/xml/manual/shared_ptr.xml: Same.
* doc/xml/manual/status_cxxtr1.xml: Same.
* doc/xml/manual/auto_ptr.xml: Same.
* doc/xml/manual/internals.xml: Same.
* doc/xml/manual/atomics.xml: Same.
* doc/xml/manual/parallel_mode.xml: Same.
* doc/xml/manual/status_cxx1998.xml: Same.
* doc/xml/manual/profile_mode.xml: Same.
* doc/xml/manual/containers.xml: Same.
* doc/xml/manual/io.xml: Same.
* doc/xml/manual/concurrency_extensions.xml: Same.
* doc/xml/manual/appendix_porting.xml: Same.
* doc/xml/manual/utilities.xml: Same.
* doc/xml/manual/support.xml: Same.
* doc/xml/manual/bitmap_allocator.xml: Same.
* doc/xml/manual/configure.xml: Same.
* doc/xml/manual/build_hacking.xml: Same.
* doc/xml/manual/evolution.xml: Same.
* doc/xml/manual/using.xml: Same.
* doc/xml/manual/using_exceptions.xml: Same.
* doc/xml/manual/debug.xml: Same.
* doc/xml/manual/localization.xml: Same.
* doc/xml/manual/strings.xml: Same.
* doc/xml/manual/debug_mode.xml: Same.
* doc/xml/manual/locale.xml: Same.
* doc/xml/manual/extensions.xml: Same.
* doc/xml/manual/appendix_contributing.xml: Same.
* doc/xml/manual/prerequisites.xml: Same.
* doc/xml/manual/messages.xml: Same.
* doc/xml/manual/diagnostics.xml: Same.
* doc/xml/manual/algorithms.xml: Same.
* doc/xml/manual/appendix_free.xml: Same.
* doc/xml/manual/iterators.xml: Same.
* doc/xml/manual/spine.xml: Same.
* doc/xml/manual/status_cxxtr24733.xml: Same.
* doc/xml/manual/status_cxx200x.xml: Same.
* doc/xml/manual/test.xml: Same.
* doc/xml/book.txml: Same.
* doc/xml/spine.xml: Same.
* doc/Makefile.am: Same.
* doc/Makefile.in: Regenerate.
2010-07-20 Benjamin Kosnik <bkoz@redhat.com>
* doc/xml/manual/appendix_contributing.xml: Update for new reality. * doc/xml/manual/appendix_contributing.xml: Update for new reality.
* doc/Makefile.am (doc-xml): New default rule for XML output. * doc/Makefile.am (doc-xml): New default rule for XML output.
......
...@@ -220,7 +220,7 @@ xml_noinst = \ ...@@ -220,7 +220,7 @@ xml_noinst = \
XSLTPROC = xsltproc XSLTPROC = xsltproc
XSLTPROC_FLAGS = --nonet --xinclude 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_FO_STYLE = $(XSL_STYLE_DIR)/fo/docbook.xsl
XSL_HTML_STYLE = $(XSL_STYLE_DIR)/xhtml/chunk.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/onechunk.xsl
...@@ -245,9 +245,10 @@ ${docbook_outdir}/xml: ...@@ -245,9 +245,10 @@ ${docbook_outdir}/xml:
XMLLINT = xmllint XMLLINT = xmllint
#LINT_FLAGS = --debug --nonet --xinclude --nsclean --postvalid --nowarning #LINT_FLAGS = --debug --nonet --xinclude --nsclean --postvalid --nowarning
#LINT_FLAGS = --noblanks --noout --xinclude --postvalid --noent #LINT_FLAGS = --noblanks --noout --xinclude --postvalid --noent
LINT_FLAGS = --postvalid --debug --xinclude --noent --noblanks --nonet --noout LINT_FLAGS = --debug --xinclude --noent --noblanks --nonet --noout
DTD_FLAGS = --dtdvalid http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd #SCHEMA_FLAGS = --relaxng /usr/share/xml/docbook5/schema/rng/5.0/docbookxi.rng
XMLLINT_FLAGS = $(LINT_FLAGS) $(DTD_FLAGS) 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) doc-xml-validate-docbook: $(xml_sources)
@echo "Generating XML validation log..." @echo "Generating XML validation log..."
$(XMLLINT) $(XMLLINT_FLAGS) ${top_srcdir}/doc/xml/spine.xml $(XMLLINT) $(XMLLINT_FLAGS) ${top_srcdir}/doc/xml/spine.xml
......
...@@ -359,7 +359,7 @@ xml_noinst = \ ...@@ -359,7 +359,7 @@ xml_noinst = \
XSLTPROC = xsltproc XSLTPROC = xsltproc
XSLTPROC_FLAGS = --nonet --xinclude 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_FO_STYLE = $(XSL_STYLE_DIR)/fo/docbook.xsl
XSL_HTML_STYLE = $(XSL_STYLE_DIR)/xhtml/chunk.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/onechunk.xsl
...@@ -369,9 +369,10 @@ XSL_HTML_SINGLE_STYLE = $(XSL_STYLE_DIR)/xhtml/docbook.xsl ...@@ -369,9 +369,10 @@ XSL_HTML_SINGLE_STYLE = $(XSL_STYLE_DIR)/xhtml/docbook.xsl
XMLLINT = xmllint XMLLINT = xmllint
#LINT_FLAGS = --debug --nonet --xinclude --nsclean --postvalid --nowarning #LINT_FLAGS = --debug --nonet --xinclude --nsclean --postvalid --nowarning
#LINT_FLAGS = --noblanks --noout --xinclude --postvalid --noent #LINT_FLAGS = --noblanks --noout --xinclude --postvalid --noent
LINT_FLAGS = --postvalid --debug --xinclude --noent --noblanks --nonet --noout LINT_FLAGS = --debug --xinclude --noent --noblanks --nonet --noout
DTD_FLAGS = --dtdvalid http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd #SCHEMA_FLAGS = --relaxng /usr/share/xml/docbook5/schema/rng/5.0/docbookxi.rng
XMLLINT_FLAGS = $(LINT_FLAGS) $(DTD_FLAGS) SCHEMA_FLAGS = --dtdvalid /usr/share/xml/docbook5/schema/dtd/5.0/docbook.dtd
XMLLINT_FLAGS = $(LINT_FLAGS) $(SCHEMA_FLAGS)
# XML, all one page # XML, all one page
# Some info on canonicalization # Some info on canonicalization
......
<?xml version='1.0'?> <book xmlns="http://docbook.org/ns/docbook" version="5.0">
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
[ ]>
<book> <article xml:id="api" xreflabel="API">
<article id="api" xreflabel="API">
<?dbhtml filename="api.html"?> <?dbhtml filename="api.html"?>
<articleinfo> <info><title>API Documentation</title>
<title>API Documentation</title>
<copyright> <copyright>
<year> <year>
2008 2008
...@@ -18,8 +13,8 @@ ...@@ -18,8 +13,8 @@
2010 2010
</year> </year>
<holder> <holder>
<ulink url="http://www.fsf.org/">FSF <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.fsf.org/">FSF
</ulink> </link>
</holder> </holder>
</copyright> </copyright>
<legalnotice> <legalnotice>
...@@ -28,7 +23,7 @@ ...@@ -28,7 +23,7 @@
</link> </link>
</para> </para>
</legalnotice> </legalnotice>
</articleinfo> </info>
<para> <para>
The GNU C++ library sources have been specially formatted so that The GNU C++ library sources have been specially formatted so that
...@@ -47,38 +42,38 @@ ...@@ -47,38 +42,38 @@
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para> <para>
<ulink url="http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-3.4/index.html">for the 3.4 release <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
</ulink> </link>
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
<ulink url="http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-4.1/index.html">for the 4.1 release <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
</ulink> </link>
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
<ulink url="http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-4.2/index.html">for the 4.2 release <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
</ulink> </link>
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
<ulink url="http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-4.3/index.html">for the 4.3 release <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
</ulink> </link>
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
<ulink url="http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-4.4/index.html">for the 4.4 release <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
</ulink> </link>
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
<ulink url="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/index.html">&quot;the latest collection&quot; <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/index.html">"the latest collection"
</ulink> </link>
(For the main development tree; see the date on the first page.) (For the main development tree; see the date on the first page.)
</para> </para>
</listitem> </listitem>
...@@ -89,7 +84,7 @@ ...@@ -89,7 +84,7 @@
gcc.org site in a directory located at gcc.org site in a directory located at
<literal>&lt;URL:ftp://gcc.gnu.org/pub/gcc/libstdc++/doxygen/&gt;</literal>. <literal>&lt;URL:ftp://gcc.gnu.org/pub/gcc/libstdc++/doxygen/&gt;</literal>.
You will almost certainly need to use one of the 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 the tarball. After unpacking, simply load libstdc++-html-*/index.html
into a browser. into a browser.
</para> </para>
......
<authorgroup> <authorgroup xmlns="http://docbook.org/ns/docbook" version="5.0">
<!-- <!--
<author> <author>
...@@ -20,176 +20,101 @@ ...@@ -20,176 +20,101 @@
</author> </author>
--> -->
<author> <author><personname><firstname/><surname/></personname><personblurb>
<firstname></firstname>
<surname></surname>
<authorblurb>
<para> <para>
</para> </para>
</authorblurb> </personblurb></author>
</author>
<author> <author><personname><firstname>Paolo</firstname><surname>Carlini</surname></personname><personblurb>
<firstname>Paolo</firstname>
<surname>Carlini</surname>
<authorblurb>
<para> <para>
TR1, LWG Active, Closed, Defects lists. TR1, LWG Active, Closed, Defects lists.
</para> </para>
</authorblurb> </personblurb></author>
</author>
<author> <author><personname><firstname>Phil</firstname><surname>Edwards</surname></personname><personblurb>
<firstname>Phil</firstname>
<surname>Edwards</surname>
<authorblurb>
<para> <para>
Originating author, started HOWTO and FAQ, worked on sections Originating author, started HOWTO and FAQ, worked on sections
Demangling, Macros, Strings, Iterators, Backwards Demangling, Macros, Strings, Iterators, Backwards
Compatibility, SGI Extensions, Configure, Build, Install. Compatibility, SGI Extensions, Configure, Build, Install.
</para> </para>
</authorblurb> </personblurb></author>
</author>
<author> <author><personname><firstname>Doug</firstname><surname>Gregor</surname></personname><personblurb>
<firstname>Doug</firstname>
<surname>Gregor</surname>
<authorblurb>
<para> <para>
Debug Mode, TR1 function objects Debug Mode, TR1 function objects
</para> </para>
</authorblurb> </personblurb></author>
</author>
<author> <author><personname><firstname>Benjamin</firstname><surname>Kosnik</surname></personname><personblurb>
<firstname>Benjamin</firstname>
<surname>Kosnik</surname>
<authorblurb>
<para> <para>
Allocators, ABI, API evolution and deprecation history, Allocators, ABI, API evolution and deprecation history,
Backwards Compatibility, Thread, Debug Support, Locales, Backwards Compatibility, Thread, Debug Support, Locales,
Facets, Parallel Mode, Headers, Namespaces, Construction and Facets, Parallel Mode, Headers, Namespaces, Construction and
Structure, Using Exceptions, DocBook conversion and layout. Structure, Using Exceptions, DocBook conversion and layout.
</para> </para>
</authorblurb> </personblurb></author>
</author>
<author> <author><personname><firstname>Dhruv</firstname><surname>Matani</surname></personname><personblurb>
<firstname>Dhruv</firstname>
<surname>Matani</surname>
<authorblurb>
<para> <para>
bitmap_allocator bitmap_allocator
</para> </para>
</authorblurb> </personblurb></author>
</author>
<author> <author><personname><firstname>Jason</firstname><surname>Merrill</surname></personname><personblurb>
<firstname>Jason</firstname>
<surname>Merrill</surname>
<authorblurb>
<para> <para>
License, __verbose_terminate_handler License, __verbose_terminate_handler
</para> </para>
</authorblurb> </personblurb></author>
</author>
<author>
<firstname>Mark</firstname>
<surname>Mitchell</surname>
<authorblurb> <author><personname><firstname>Mark</firstname><surname>Mitchell</surname></personname><personblurb>
<para> <para>
Porting Porting
</para> </para>
</authorblurb> </personblurb></author>
</author>
<author>
<firstname>Nathan</firstname>
<surname>Myers</surname>
<authorblurb> <author><personname><firstname>Nathan</firstname><surname>Myers</surname></personname><personblurb>
<para> <para>
Referenced counted string, C++1998 implementation status. Referenced counted string, C++1998 implementation status.
</para> </para>
</authorblurb> </personblurb></author>
</author>
<author>
<firstname>Felix</firstname>
<surname>Natter</surname>
<authorblurb> <author><personname><firstname>Felix</firstname><surname>Natter</surname></personname><personblurb>
<para> <para>
Namespace composition, Backwards Compatibility. Namespace composition, Backwards Compatibility.
</para> </para>
</authorblurb> </personblurb></author>
</author>
<author> <author><personname><firstname>Stefan</firstname><surname>Olsson</surname></personname><personblurb>
<firstname>Stefan</firstname>
<surname>Olsson</surname>
<authorblurb>
<para> <para>
mt_allocator mt_allocator
</para> </para>
</authorblurb> </personblurb></author>
</author>
<author>
<firstname>Silvius</firstname>
<surname>Rus</surname>
<authorblurb> <author><personname><firstname>Silvius</firstname><surname>Rus</surname></personname><personblurb>
<para> <para>
Profile mode Profile mode
</para> </para>
</authorblurb> </personblurb></author>
</author>
<author>
<firstname>Johannes</firstname>
<surname>Singler</surname>
<authorblurb> <author><personname><firstname>Johannes</firstname><surname>Singler</surname></personname><personblurb>
<para> <para>
Parallel mode Parallel mode
</para> </para>
</authorblurb> </personblurb></author>
</author>
<author> <author><personname><firstname>Ami</firstname><surname>Tavory</surname></personname><personblurb>
<firstname>Ami</firstname>
<surname>Tavory</surname>
<authorblurb>
<para> <para>
Policy Based Data Structures, Associative Containers, Unordered Policy Based Data Structures, Associative Containers, Unordered
Containers. Containers.
</para> </para>
</authorblurb> </personblurb></author>
</author>
<author> <author><personname><firstname>Jonathan</firstname><surname>Wakely</surname></personname><personblurb>
<firstname>Jonathan</firstname>
<surname>Wakely</surname>
<authorblurb>
<para> <para>
shared_ptr, markup editing and styling shared_ptr, markup editing and styling
</para> </para>
</authorblurb> </personblurb></author>
</author>
</authorgroup> </authorgroup>
<?xml version='1.0'?> <!-- Converted by db4-upgrade 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" xml:id="api" xreflabel="Source Level Documentation">
[ ]>
<book id="api" xreflabel="Source Level Documentation">
<title>Source Level Documentation</title>
<bookinfo> <info>
<copyright> <copyright>
<year>2007</year> <year>2007</year>
<holder> <holder>
<ulink url="www.fsf.org">FSF <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="www.fsf.org">FSF
</ulink> </link>
</holder> </holder>
</copyright> </copyright>
<legalnotice> <legalnotice>
<para> <para>
<ulink url="17_intro/license.html">License <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="17_intro/license.html">License
</ulink> </link>
</para> </para>
</legalnotice> </legalnotice>
</bookinfo> </info>
<part><info><title/></info>
<part> <chapter><info><title/></info>
<title></title>
<chapter> <para/>
<title></title>
<para></para>
</chapter> </chapter>
</part> </part>
......
<?xml version='1.0'?> <!-- Converted by db4-upgrade 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" xreflabel="Introduction"> <chapter xmlns="http://docbook.org/ns/docbook" version="5.0" xml:id="manual.intro" xreflabel="Introduction">
<chapterinfo> <info><title>Introduction</title>
<keywordset> <keywordset>
<keyword> <keyword>
ISO C++ ISO C++
...@@ -14,41 +11,41 @@ ...@@ -14,41 +11,41 @@
library library
</keyword> </keyword>
</keywordset> </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> <para>
The GNU C++ ... The GNU C++ ...
</para> </para>
</sect1> </section>
<sect1 id="manual.intro.setup" xreflabel="Setup"> <section xml:id="manual.intro.setup" xreflabel="Setup"><info><title>Setup</title></info>
<title>Setup</title>
<para> <para>
The GNU C++ ... The GNU C++ ...
</para> </para>
<sect2 id="manual.intro.setup.next1" xreflabel="Next1"> <section xml:id="manual.intro.setup.next1" xreflabel="Next1"><info><title>Next1</title></info>
<title>Next1</title>
<para> <para>
The GNU C++ ... The GNU C++ ...
</para> </para>
</sect2> </section>
<sect2 id="manual.intro.setup.next2" xreflabel="Next2"> <section xml:id="manual.intro.setup.next2" xreflabel="Next2"><info><title>Next2</title></info>
<title>Next2</title>
<para> <para>
The GNU C++ ... The GNU C++ ...
</para> </para>
</sect2> </section>
</sect1> </section>
<sect1 id="manual.intro.using" xreflabel="Using"> <section xml:id="manual.intro.using" xreflabel="Using"><info><title>Using</title></info>
<title>Using</title>
<para> <para>
The GNU C++ ... The GNU C++ ...
</para> </para>
</sect1> </section>
</chapter> </chapter>
<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"?> <?dbhtml filename="allocator.html"?>
<sect1info> <info><title>allocator</title>
<keywordset> <keywordset>
<keyword> <keyword>
ISO C++ ISO C++
...@@ -10,15 +12,15 @@ ...@@ -10,15 +12,15 @@
allocator allocator
</keyword> </keyword>
</keywordset> </keywordset>
</sect1info> </info>
<title>allocator</title>
<para> <para>
</para> </para>
<sect2 id="allocator.req" xreflabel="allocator.req"> <section xml:id="allocator.req" xreflabel="allocator.req"><info><title>Requirements</title></info>
<title>Requirements</title>
<para> <para>
</para> </para>
...@@ -35,33 +37,33 @@ ...@@ -35,33 +37,33 @@
<para> <para>
</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>
<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> <section><info><title>Interface Design</title></info>
<title>Interface Design</title>
<para> <para>
</para> </para>
<para> <para>
</para> </para>
</sect3> </section>
<sect3> <section><info><title>Selecting Default Allocation Strategy</title></info>
<title>Selecting Default Allocation Strategy</title>
<para> <para>
</para> </para>
...@@ -76,38 +78,38 @@ ...@@ -76,38 +78,38 @@
<listitem> <listitem>
</listitem> </listitem>
</orderedlist> </orderedlist>
</sect3> </section>
<sect3> <section><info><title>Disabling Memory Caching</title></info>
<title>Disabling Memory Caching</title>
<para> <para>
</para> </para>
<para> <para>
</para> </para>
</sect3> </section>
</sect2> </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>
</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>
<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> <biblioentry>
...@@ -116,11 +118,11 @@ ...@@ -116,11 +118,11 @@
<biblioid class="uri"> <biblioid class="uri">
<ulink url="http://about:blank"> <ulink url="http://about:blank">
<citetitle>
The Title
</citetitle>
</ulink> </ulink>
</biblioid> </biblioid>
<citetitle>
The Title
</citetitle>
<editor> <editor>
<firstname></firstname> <firstname></firstname>
...@@ -151,4 +153,4 @@ ...@@ -151,4 +153,4 @@
</bibliography> </bibliography>
</sect1> </section>
\ No newline at end of file
<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"?> <?dbhtml filename="appendix_gfdl.html"?>
<title>GNU Free Documentation License</title>
<para> <para>
Copyright (C) 2000, 2001, 2002 Free Software Foundation, Copyright (C) 2000, 2001, 2002 Free Software Foundation,
<abbrev>Inc.</abbrev> 51 Franklin <abbrev>St</abbrev>, Fifth Floor, <abbrev>Inc.</abbrev> 51 Franklin <abbrev>St</abbrev>, Fifth Floor,
Boston, <abbrev>MA</abbrev> 02110-1301 <abbrev Boston, <abbrev>MA</abbrev> 02110-1301 <abbrev role="initialism">USA</abbrev>. Everyone is permitted to copy and
role="initialism">USA</abbrev>. Everyone is permitted to copy and
distribute verbatim copies of this license document, but changing it is distribute verbatim copies of this license document, but changing it is
not allowed. not allowed.
</para> </para>
<bridgehead id="fdl-1-preamble" renderas="sect1"> <bridgehead xml:id="fdl-1-preamble" renderas="sect1">
0. PREAMBLE 0. PREAMBLE
</bridgehead> </bridgehead>
<para> <para>
...@@ -35,7 +36,7 @@ ...@@ -35,7 +36,7 @@
for any textual work, regardless of subject matter or whether it is for any textual work, regardless of subject matter or whether it is
published as a printed book. We recommend this License principally for published as a printed book. We recommend this License principally for
works whose purpose is instruction or reference.</para> 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 1. APPLICABILITY AND DEFINITIONS
</bridgehead> </bridgehead>
<para> <para>
...@@ -131,7 +132,7 @@ ...@@ -131,7 +132,7 @@
these Warranty Disclaimers may have is void and has no effect on the these Warranty Disclaimers may have is void and has no effect on the
meaning of this License. meaning of this License.
</para> </para>
<bridgehead id="VerbatimCopying" renderas="sect1"> <bridgehead xml:id="VerbatimCopying" renderas="sect1">
2. VERBATIM COPYING 2. VERBATIM COPYING
</bridgehead> </bridgehead>
<para> <para>
...@@ -149,7 +150,7 @@ ...@@ -149,7 +150,7 @@
You may also lend copies, under the same conditions stated above, and you You may also lend copies, under the same conditions stated above, and you
may publicly display copies. may publicly display copies.
</para> </para>
<bridgehead id="QuantityCopying" renderas="sect1"> <bridgehead xml:id="QuantityCopying" renderas="sect1">
3. COPYING IN QUANTITY 3. COPYING IN QUANTITY
</bridgehead> </bridgehead>
<para> <para>
...@@ -190,7 +191,7 @@ ...@@ -190,7 +191,7 @@
them a chance to provide you with an updated version of the them a chance to provide you with an updated version of the
Document. Document.
</para> </para>
<bridgehead id="Modifications" renderas="sect1"> <bridgehead xml:id="Modifications" renderas="sect1">
4. MODIFICATIONS 4. MODIFICATIONS
</bridgehead> </bridgehead>
<para> <para>
...@@ -340,7 +341,7 @@ ...@@ -340,7 +341,7 @@
permission to use their names for publicity for or to assert or imply permission to use their names for publicity for or to assert or imply
endorsement of any Modified Version. endorsement of any Modified Version.
</para> </para>
<bridgehead id="Combining" renderas="sect1"> <bridgehead xml:id="Combining" renderas="sect1">
5. COMBINING DOCUMENTS 5. COMBINING DOCUMENTS
</bridgehead> </bridgehead>
<para> <para>
...@@ -368,7 +369,7 @@ ...@@ -368,7 +369,7 @@
sections Entitled "Dedications". You must delete all sections Entitled sections Entitled "Dedications". You must delete all sections Entitled
"Endorsements". "Endorsements".
</para> </para>
<bridgehead id="Collections" renderas="sect1"> <bridgehead xml:id="Collections" renderas="sect1">
6. COLLECTIONS OF DOCUMENTS 6. COLLECTIONS OF DOCUMENTS
</bridgehead> </bridgehead>
<para> <para>
...@@ -384,7 +385,7 @@ ...@@ -384,7 +385,7 @@
License into the extracted document, and follow this License in all other License into the extracted document, and follow this License in all other
respects regarding verbatim copying of that document. respects regarding verbatim copying of that document.
</para> </para>
<bridgehead id="Aggregation" renderas="sect1"> <bridgehead xml:id="Aggregation" renderas="sect1">
7. AGGREGATION WITH INDEPENDENT WORKS 7. AGGREGATION WITH INDEPENDENT WORKS
</bridgehead> </bridgehead>
<para> <para>
...@@ -405,7 +406,7 @@ ...@@ -405,7 +406,7 @@
if the Document is in electronic form. Otherwise they must appear on if the Document is in electronic form. Otherwise they must appear on
printed covers that bracket the whole aggregate. printed covers that bracket the whole aggregate.
</para> </para>
<bridgehead id="Translation" renderas="sect1"> <bridgehead xml:id="Translation" renderas="sect1">
8. TRANSLATION 8. TRANSLATION
</bridgehead> </bridgehead>
<para> <para>
...@@ -426,7 +427,7 @@ ...@@ -426,7 +427,7 @@
"Dedications", or "History", the requirement (section 4) to Preserve its "Dedications", or "History", the requirement (section 4) to Preserve its
Title (section 1) will typically require changing the actual title. Title (section 1) will typically require changing the actual title.
</para> </para>
<bridgehead id="fdl-1-termination" renderas="sect1"> <bridgehead xml:id="fdl-1-termination" renderas="sect1">
9. TERMINATION 9. TERMINATION
</bridgehead> </bridgehead>
<para> <para>
...@@ -438,15 +439,14 @@ ...@@ -438,15 +439,14 @@
have their licenses terminated so long as such parties remain in full have their licenses terminated so long as such parties remain in full
compliance. compliance.
</para> </para>
<bridgehead id="FutureRevisions" renderas="sect1"> <bridgehead xml:id="FutureRevisions" renderas="sect1">
10. FUTURE REVISIONS OF THIS LICENSE 10. FUTURE REVISIONS OF THIS LICENSE
</bridgehead> </bridgehead>
<para> <para>
The Free Software Foundation may publish new, revised versions of the GNU The Free Software Foundation may publish new, revised versions of the GNU
Free Documentation License from time to time. Such new versions will be 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 similar in spirit to the present version, but may differ in detail to
address new problems or concerns. See <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>.
url="http://www.gnu.org/copyleft/">http://www.gnu.org/copyleft/</ulink>.
</para> </para>
<para> <para>
Each version of the License is given a distinguishing version number. If Each version of the License is given a distinguishing version number. If
...@@ -458,7 +458,7 @@ ...@@ -458,7 +458,7 @@
License, you may choose any version ever published (not as a draft) by the License, you may choose any version ever published (not as a draft) by the
Free Software Foundation. Free Software Foundation.
</para> </para>
<bridgehead id="HowToUse" renderas="sect1"> <bridgehead xml:id="HowToUse" renderas="sect1">
ADDENDUM: How to use this License for your documents ADDENDUM: How to use this License for your documents
</bridgehead> </bridgehead>
<para> <para>
......
<?xml version='1.0'?> <chapter xmlns="http://docbook.org/ns/docbook" version="5.0"
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" xml:id="std.algorithms" xreflabel="Algorithms">
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
[ ]>
<chapter id="std.algorithms" xreflabel="Algorithms">
<?dbhtml filename="algorithms.html"?> <?dbhtml filename="algorithms.html"?>
<chapterinfo> <info><title>
Algorithms
<indexterm><primary>Algorithms</primary></indexterm>
</title>
<keywordset> <keywordset>
<keyword> <keyword>
ISO C++ ISO C++
...@@ -18,19 +17,16 @@ ...@@ -18,19 +17,16 @@
algorithm algorithm
</keyword> </keyword>
</keywordset> </keywordset>
</chapterinfo> </info>
<title>
Algorithms
<indexterm><primary>Algorithms</primary></indexterm>
</title>
<para> <para>
The neatest accomplishment of the algorithms sect1 is that all the The neatest accomplishment of the algorithms sect1 is that all the
work is done via iterators, not containers directly. This means two work is done via iterators, not containers directly. This means two
important things: important things:
</para> </para>
<orderedlist> <orderedlist inheritnum="ignore" continuation="restarts">
<listitem> <listitem>
<para> <para>
Anything that behaves like an iterator can be used in one of Anything that behaves like an iterator can be used in one of
...@@ -63,7 +59,7 @@ ...@@ -63,7 +59,7 @@
<para> <para>
The single thing that trips people up the most is the definition The single thing that trips people up the most is the definition
of <emphasis>range</emphasis> used with iterators; the famous 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 <link linkend="std.iterators">iterators sect1</link> of this
document has a complete explanation of this simple rule that seems document has a complete explanation of this simple rule that seems
to cause so much confusion. Once you to cause so much confusion. Once you
...@@ -74,14 +70,14 @@ ...@@ -74,14 +70,14 @@
<!-- Sect1 01 : Non Modifying --> <!-- Sect1 01 : Non Modifying -->
<!-- Sect1 02 : Mutating --> <!-- Sect1 02 : Mutating -->
<sect1 id="std.algorithms.mutating" xreflabel="Mutating"> <section xml:id="std.algorithms.mutating" xreflabel="Mutating"><info><title>Mutating</title></info>
<title>Mutating</title>
<sect2 id="algorithms.mutating.swap" xreflabel="swap"> <section xml:id="algorithms.mutating.swap" xreflabel="swap"><info><title><function>swap</function></title></info>
<title><function>swap</function></title>
<sect3 id="algorithms.swap.specializations" xreflabel="Specializations"> <section xml:id="algorithms.swap.specializations" xreflabel="Specializations"><info><title>Specializations</title></info>
<title>Specializations</title>
<para>If you call <code> std::swap(x,y); </code> where x and y are standard <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 containers, then the call will automatically be replaced by a call to
...@@ -89,16 +85,16 @@ ...@@ -89,16 +85,16 @@
</para> </para>
<para>This allows member functions of each container class to take over, and <para>This allows member functions of each container class to take over, and
containers' swap functions should have O(1) complexity according to 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 behave otherwise and remain compliant, this implementation does in
fact use constant-time swaps.) This should not be surprising, since fact use constant-time swaps.) This should not be surprising, since
for two containers of the same type to swap contents, only some for two containers of the same type to swap contents, only some
internal pointers to storage need to be exchanged. internal pointers to storage need to be exchanged.
</para> </para>
</sect3> </section>
</sect2> </section>
</sect1> </section>
<!-- Sect1 03 : Sorting --> <!-- Sect1 03 : Sorting -->
......
<?xml version='1.0'?> <appendix xmlns="http://docbook.org/ns/docbook" version="5.0"
<!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" xml:id="appendix.free" xreflabel="Free">
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
[ ]>
<appendix id="appendix.free" xreflabel="Free">
<?dbhtml filename="appendix_free.html"?> <?dbhtml filename="appendix_free.html"?>
<appendixinfo> <info><title>
Free Software Needs Free Documentation
<indexterm>
<primary>Appendix</primary>
<secondary>Free Documentation</secondary>
</indexterm>
</title>
<keywordset> <keywordset>
<keyword> <keyword>
ISO C++ ISO C++
...@@ -15,15 +17,9 @@ ...@@ -15,15 +17,9 @@
library library
</keyword> </keyword>
</keywordset> </keywordset>
</appendixinfo> </info>
<title>
Free Software Needs Free Documentation
<indexterm>
<primary>Appendix</primary>
<secondary>Free Documentation</secondary>
</indexterm>
</title>
<para> <para>
The biggest deficiency in free operating systems is not in the The biggest deficiency in free operating systems is not in the
...@@ -68,7 +64,7 @@ can ill afford to lose manuals this way. ...@@ -68,7 +64,7 @@ can ill afford to lose manuals this way.
Free documentation, like free software, is a matter of freedom, Free documentation, like free software, is a matter of freedom,
not price. The problem with these manuals was not that O'Reilly not price. The problem with these manuals was not that O'Reilly
Associates charged a price for printed copies--that in itself is fine. 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 free GNU manuals, too.) But GNU manuals are available in source code
form, while these manuals are available only on paper. GNU manuals form, while these manuals are available only on paper. GNU manuals
come with permission to copy and modify; the Perl manuals do not. 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 ...@@ -167,8 +163,8 @@ check the distribution terms of a manual before you buy it, and
prefer copylefted manuals to non-copylefted ones. prefer copylefted manuals to non-copylefted ones.
</para> </para>
<para> <para>
[Note: We now maintain a <ulink url="http://www.fsf.org/licensing/doc/other-free-books.html">web page [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</ulink>]. that lists free books available from other publishers</link>].
</para> </para>
<para>Copyright © 2004, 2005, 2006, 2007 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA</para> <para>Copyright © 2004, 2005, 2006, 2007 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA</para>
......
<?xml version='1.0'?> <appendix xmlns="http://docbook.org/ns/docbook" version="5.0"
<!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" xml:id="appendix.porting" xreflabel="Porting">
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
[ ]>
<appendix id="appendix.porting" xreflabel="Porting">
<?dbhtml filename="appendix_porting.html"?> <?dbhtml filename="appendix_porting.html"?>
<appendixinfo> <info><title>
Porting and Maintenance
<indexterm>
<primary>Appendix</primary>
<secondary>Porting and Maintenance</secondary>
</indexterm>
</title>
<keywordset> <keywordset>
<keyword> <keyword>
ISO C++ ISO C++
...@@ -15,44 +17,32 @@ ...@@ -15,44 +17,32 @@
library library
</keyword> </keyword>
</keywordset> </keywordset>
</appendixinfo> </info>
<title>
Porting and Maintenance
<indexterm>
<primary>Appendix</primary>
<secondary>Porting and Maintenance</secondary>
</indexterm>
</title>
<!-- Hacking the Build System --> <!-- Hacking the Build System -->
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="build_hacking.xml">
parse="xml" href="build_hacking.xml">
</xi:include> </xi:include>
<!-- Internals: Porting to New Hardware or Operating Systems --> <!-- Internals: Porting to New Hardware or Operating Systems -->
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="internals.xml">
parse="xml" href="internals.xml">
</xi:include> </xi:include>
<!-- Test --> <!-- Test -->
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="test.xml">
parse="xml" href="test.xml">
</xi:include> </xi:include>
<!-- ABI Policy and Guidelines --> <!-- ABI Policy and Guidelines -->
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="abi.xml">
parse="xml" href="abi.xml">
</xi:include> </xi:include>
<!-- API Evolution and Deprecation History --> <!-- API Evolution and Deprecation History -->
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="evolution.xml">
parse="xml" href="evolution.xml">
</xi:include> </xi:include>
<!-- Backwards Compatibility --> <!-- Backwards Compatibility -->
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="backwards_compatibility.xml">
parse="xml" href="backwards_compatibility.xml">
</xi:include> </xi:include>
</appendix> </appendix>
<?xml version='1.0'?> <chapter xmlns="http://docbook.org/ns/docbook" version="5.0"
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" xml:id="std.atomics" xreflabel="Atomics">
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
[ ]>
<chapter id="std.atomics" xreflabel="Atomics">
<?dbhtml filename="atomics.html"?> <?dbhtml filename="atomics.html"?>
<chapterinfo> <info><title>
Atomics
<indexterm><primary>Atomics</primary></indexterm>
</title>
<keywordset> <keywordset>
<keyword> <keyword>
ISO C++ ISO C++
...@@ -18,20 +17,17 @@ ...@@ -18,20 +17,17 @@
atomic atomic
</keyword> </keyword>
</keywordset> </keywordset>
</chapterinfo> </info>
<title>
Atomics
<indexterm><primary>Atomics</primary></indexterm>
</title>
<para> <para>
Facilities for atomic operations. Facilities for atomic operations.
</para> </para>
<!-- Sect1 01 : API --> <!-- Sect1 01 : API -->
<sect1 id="std.atomics.api"> <section xml:id="std.atomics.api"><info><title>API Reference</title></info>
<title>API Reference</title>
<para> <para>
All items are declared in the standard header All items are declared in the standard header
...@@ -56,6 +52,6 @@ ...@@ -56,6 +52,6 @@
<!-- Doxygen XML: api/group__atomics.xml --> <!-- Doxygen XML: api/group__atomics.xml -->
</sect1> </section>
</chapter> </chapter>
<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"?> <?dbhtml filename="auto_ptr.html"?>
<sectioninfo> <info><title>auto_ptr</title>
<keywordset> <keywordset>
<keyword> <keyword>
ISO C++ ISO C++
...@@ -10,12 +11,12 @@ ...@@ -10,12 +11,12 @@
auto_ptr auto_ptr
</keyword> </keyword>
</keywordset> </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 <para>Explaining all of the fun and delicious things that can
happen with misuse of the <classname>auto_ptr</classname> class happen with misuse of the <classname>auto_ptr</classname> class
...@@ -81,8 +82,8 @@ ...@@ -81,8 +82,8 @@
</para> </para>
</section> </section>
<section id="auto_ptr.using"> <section xml:id="auto_ptr.using"><info><title>Use in Containers</title></info>
<title>Use in Containers</title>
<para> <para>
</para> </para>
......
<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"?> <?dbhtml filename="bitmap_allocator.html"?>
<sect1info> <info><title>bitmap_allocator</title>
<keywordset> <keywordset>
<keyword> <keyword>
ISO C++ ISO C++
...@@ -10,15 +11,15 @@ ...@@ -10,15 +11,15 @@
allocator allocator
</keyword> </keyword>
</keywordset> </keywordset>
</sect1info> </info>
<title>bitmap_allocator</title>
<para> <para>
</para> </para>
<sect2 id="allocator.bitmap.design"> <section xml:id="allocator.bitmap.design"><info><title>Design</title></info>
<title>Design</title>
<para> <para>
As this name suggests, this allocator uses a bit-map to keep track As this name suggests, this allocator uses a bit-map to keep track
...@@ -53,13 +54,13 @@ ...@@ -53,13 +54,13 @@
layer. layer.
</para> </para>
</sect2> </section>
<sect2 id="allocator.bitmap.impl"> <section xml:id="allocator.bitmap.impl"><info><title>Implementation</title></info>
<title>Implementation</title>
<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> <para>
The Free List Store (referred to as FLS for the remaining part of this The Free List Store (referred to as FLS for the remaining part of this
...@@ -121,10 +122,10 @@ else return false.</para></listitem> ...@@ -121,10 +122,10 @@ else return false.</para></listitem>
Currently, (3) is being used with a value of 36% Maximum wastage per Currently, (3) is being used with a value of 36% Maximum wastage per
Super Block. Super Block.
</para> </para>
</sect3> </section>
<sect3 id="bitmap.impl.super_block" xreflabel="Super Block"> <section xml:id="bitmap.impl.super_block" xreflabel="Super Block"><info><title>Super Block</title></info>
<title>Super Block</title>
<para> <para>
A super block is the block of memory acquired from the FLS from A super block is the block of memory acquired from the FLS from
...@@ -144,10 +145,10 @@ else return false.</para></listitem> ...@@ -144,10 +145,10 @@ else return false.</para></listitem>
getting / returning Super Bocks to and from the OS using operator new getting / returning Super Bocks to and from the OS using operator new
as defined by the C++ standard. as defined by the C++ standard.
</para> </para>
</sect3> </section>
<sect3 id="bitmap.impl.super_block_data" xreflabel="Super Block Data"> <section xml:id="bitmap.impl.super_block_data" xreflabel="Super Block Data"><info><title>Super Block Data Layout</title></info>
<title>Super Block Data Layout</title>
<para> <para>
Each Super Block will be of some size that is a multiple of the 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 number of Bits Per Block. Typically, this value is chosen as
...@@ -165,14 +166,15 @@ else return false.</para></listitem> ...@@ -165,14 +166,15 @@ else return false.</para></listitem>
(assume a 32-bit system where, size_t is a 32-bit entity). (assume a 32-bit system where, size_t is a 32-bit entity).
</para> </para>
<table frame='all'> <table frame="all">
<title>Bitmap Allocator Memory Map</title> <title>Bitmap Allocator Memory Map</title>
<tgroup cols='5' align='left' colsep='1' rowsep='1'>
<colspec colname='c1'></colspec> <tgroup cols="5" align="left" colsep="1" rowsep="1">
<colspec colname='c2'></colspec> <colspec colname="c1"/>
<colspec colname='c3'></colspec> <colspec colname="c2"/>
<colspec colname='c4'></colspec> <colspec colname="c3"/>
<colspec colname='c5'></colspec> <colspec colname="c4"/>
<colspec colname="c5"/>
<tbody> <tbody>
<row> <row>
...@@ -219,10 +221,10 @@ else return false.</para></listitem> ...@@ -219,10 +221,10 @@ else return false.</para></listitem>
x 2, x 2,
which is 8-bytes, or 2 x sizeof(size_t). which is 8-bytes, or 2 x sizeof(size_t).
</para> </para>
</sect3> </section>
<sect3 id="bitmap.impl.max_wasted" xreflabel="Max Wasted Percentage"> <section xml:id="bitmap.impl.max_wasted" xreflabel="Max Wasted Percentage"><info><title>Maximum Wasted Percentage</title></info>
<title>Maximum Wasted Percentage</title>
<para> <para>
This has nothing to do with the algorithm per-se, 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% ...@@ -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. create a function that returns the Max_Wastage_Percentage for us to use.
</para> </para>
</sect3> </section>
<sect3 id="bitmap.impl.allocate" xreflabel="Allocate"> <section xml:id="bitmap.impl.allocate" xreflabel="Allocate"><info><title><function>allocate</function></title></info>
<title><function>allocate</function></title>
<para> <para>
The allocate function is specialized for single object allocation 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 ...@@ -366,10 +368,10 @@ combination of the next-fit and first-fit algorithm optimized ONLY for
single object allocations. single object allocations.
</para> </para>
</sect3> </section>
<sect3 id="bitmap.impl.deallocate" xreflabel="Deallocate"> <section xml:id="bitmap.impl.deallocate" xreflabel="Deallocate"><info><title><function>deallocate</function></title></info>
<title><function>deallocate</function></title>
<para> <para>
The deallocate function again is specialized for single objects ONLY. The deallocate function again is specialized for single objects ONLY.
For all n belonging to &gt; 1, the operator delete is called without For all n belonging to &gt; 1, the operator delete is called without
...@@ -410,13 +412,13 @@ single object allocations. ...@@ -410,13 +412,13 @@ single object allocations.
invariant is maintained by making sure that _S_last_request and invariant is maintained by making sure that _S_last_request and
_S_last_dealloc_index point to valid locations within the vector. _S_last_dealloc_index point to valid locations within the vector.
</para> </para>
</sect3> </section>
<sect3 id="bitmap.impl.questions" xreflabel="Questions"> <section xml:id="bitmap.impl.questions" xreflabel="Questions"><info><title>Questions</title></info>
<title>Questions</title>
<sect4 id="bitmap.impl.question.1" xreflabel="Question 1"> <section xml:id="bitmap.impl.question.1" xreflabel="Question 1"><info><title>1</title></info>
<title>1</title>
<para> <para>
Q1) The "Data Layout" section is Q1) The "Data Layout" section is
cryptic. I have no idea of what you are trying to say. Layout of what? 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 ...@@ -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 32 x sizeof(value_type) x 2^n, where n ranges from 0 to 32 for 32-bit
systems. systems.
</para> </para>
</sect4> </section>
<sect4 id="bitmap.impl.question.2" xreflabel="Question 2"> <section xml:id="bitmap.impl.question.2" xreflabel="Question 2"><info><title>2</title></info>
<title>2</title>
<para> <para>
And since I just mentioned the And since I just mentioned the
term `each bitmap', what in the world is meant by it? What does each term `each bitmap', what in the world is meant by it? What does each
...@@ -452,10 +454,10 @@ Block a bitmap as well? ...@@ -452,10 +454,10 @@ Block a bitmap as well?
whose exact number for a super-block of a given size I have just whose exact number for a super-block of a given size I have just
mentioned. mentioned.
</para> </para>
</sect4> </section>
<sect4 id="bitmap.impl.question.3" xreflabel="Question 3"> <section xml:id="bitmap.impl.question.3" xreflabel="Question 3"><info><title>3</title></info>
<title>3</title>
<para> <para>
How do the allocate and deallocate functions work in regard to How do the allocate and deallocate functions work in regard to
bitmaps? bitmaps?
...@@ -492,11 +494,11 @@ Block a bitmap as well? ...@@ -492,11 +494,11 @@ Block a bitmap as well?
The bit-map now looks like this: The bit-map now looks like this:
1111111111111111111111111111111111111111111111111111111111111110 1111111111111111111111111111111111111111111111111111111111111110
</para> </para>
</sect4> </section>
</sect3> </section>
<sect3 id="bitmap.impl.locality" xreflabel="Locality"> <section xml:id="bitmap.impl.locality" xreflabel="Locality"><info><title>Locality</title></info>
<title>Locality</title>
<para> <para>
Another issue would be whether to keep the all bitmaps in a Another issue would be whether to keep the all bitmaps in a
separate area in memory, or to keep them near the actual blocks separate area in memory, or to keep them near the actual blocks
...@@ -522,10 +524,10 @@ equivalent.</para></listitem> ...@@ -522,10 +524,10 @@ equivalent.</para></listitem>
single object allocations, though it preserves the locality of blocks single object allocations, though it preserves the locality of blocks
very well when they are returned back to the allocator. very well when they are returned back to the allocator.
</para> </para>
</sect3> </section>
<sect3 id="bitmap.impl.grow_policy" xreflabel="Grow Policy"> <section xml:id="bitmap.impl.grow_policy" xreflabel="Grow Policy"><info><title>Overhead and Grow Policy</title></info>
<title>Overhead and Grow Policy</title>
<para> <para>
Expected overhead per block would be 1 bit in memory. Also, once Expected overhead per block would be 1 bit in memory. Also, once
the address of the free list has been found, the cost for the address of the free list has been found, the cost for
...@@ -552,8 +554,8 @@ equivalent.</para></listitem> ...@@ -552,8 +554,8 @@ equivalent.</para></listitem>
which can fit exactly in a CPU register. Hence, the term given is which can fit exactly in a CPU register. Hence, the term given is
exponential growth of the internal pool. exponential growth of the internal pool.
</para> </para>
</sect3> </section>
</sect2> </section>
</sect1> </section>
<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"?> <?dbhtml filename="build_hacking.html"?>
<sect1info> <info><title>Configure and Build Hacking</title>
<keywordset> <keywordset>
<keyword> <keyword>
C++ C++
...@@ -19,15 +20,14 @@ ...@@ -19,15 +20,14 @@
shared shared
</keyword> </keyword>
</keywordset> </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> <para>
As noted <ulink As noted <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/install/prerequisites.html">previously</link>,
url="http://gcc.gnu.org/install/prerequisites.html">previously</ulink>,
certain other tools are necessary for hacking on files that certain other tools are necessary for hacking on files that
control configure (<code>configure.ac</code>, control configure (<code>configure.ac</code>,
<code>acinclude.m4</code>) and make <code>acinclude.m4</code>) and make
...@@ -38,10 +38,10 @@ ...@@ -38,10 +38,10 @@
the auto-tools used, so please try to play nicely with the the auto-tools used, so please try to play nicely with the
neighbors. neighbors.
</para> </para>
</sect2> </section>
<sect2 id="build_hacking.map"> <section xml:id="build_hacking.map"><info><title>Overview: What Comes from Where</title></info>
<title>Overview: What Comes from Where</title>
<screen> <screen>
<inlinemediaobject> <inlinemediaobject>
...@@ -61,14 +61,14 @@ ...@@ -61,14 +61,14 @@
<code>"aclocal-1.11 &amp;&amp; autoconf-2.64 &amp;&amp; <code>"aclocal-1.11 &amp;&amp; autoconf-2.64 &amp;&amp;
autoheader-2.64 &amp;&amp; automake-1.11"</code> The version autoheader-2.64 &amp;&amp; automake-1.11"</code> The version
numbers may be absent entirely or otherwise vary depending on numbers may be absent entirely or otherwise vary depending on
<ulink url="http://gcc.gnu.org/install/prerequisites.html">the <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/install/prerequisites.html">the
current requirements</ulink> and your vendor's choice of current requirements</link> and your vendor's choice of
installation names. installation names.
</para> </para>
</sect2> </section>
<sect2 id="build_hacking.scripts"> <section xml:id="build_hacking.scripts"><info><title>Storing Information in non-AC files (like configure.host)</title></info>
<title>Storing Information in non-AC files (like configure.host)</title>
<para> <para>
Until that glorious day when we can use AC_TRY_LINK with a Until that glorious day when we can use AC_TRY_LINK with a
...@@ -97,10 +97,10 @@ ...@@ -97,10 +97,10 @@
to properly find them all when generating configure. I would to properly find them all when generating configure. I would
discourage that. discourage that.
</para> </para>
</sect2> </section>
<sect2 id="build_hacking.conventions"> <section xml:id="build_hacking.conventions"><info><title>Coding and Commenting Conventions</title></info>
<title>Coding and Commenting Conventions</title>
<para> <para>
Most comments should use {octothorpes, shibboleths, hash marks, Most comments should use {octothorpes, shibboleths, hash marks,
...@@ -122,10 +122,10 @@ ...@@ -122,10 +122,10 @@
<code>$target_alias</code>. The single exception is in <code>$target_alias</code>. The single exception is in
configure.ac, for automake+dejagnu's sake. configure.ac, for automake+dejagnu's sake.
</para> </para>
</sect2> </section>
<sect2 id="build_hacking.acinclude"> <section xml:id="build_hacking.acinclude"><info><title>The acinclude.m4 layout</title></info>
<title>The acinclude.m4 layout</title>
<para> <para>
The nice thing about acinclude.m4/aclocal.m4 is that macros aren't The nice thing about acinclude.m4/aclocal.m4 is that macros aren't
actually performed/called/expanded/whatever here, just loaded. So actually performed/called/expanded/whatever here, just loaded. So
...@@ -213,10 +213,10 @@ ...@@ -213,10 +213,10 @@
present otherwise stuff magically goes wonky. present otherwise stuff magically goes wonky.
</para> </para>
</sect2> </section>
<sect2 id="build_hacking.enable"> <section xml:id="build_hacking.enable"><info><title><constant>GLIBCXX_ENABLE</constant>, the <literal>--enable</literal> maker</title></info>
<title><constant>GLIBCXX_ENABLE</constant>, the <literal>--enable</literal> maker</title>
<para> <para>
All the GLIBCXX_ENABLE_FOO macros use a common helper, All the GLIBCXX_ENABLE_FOO macros use a common helper,
...@@ -304,8 +304,7 @@ ...@@ -304,8 +304,7 @@
<para> <para>
If you're wondering what that line noise in the last example was, If you're wondering what that line noise in the last example was,
that's how you embed autoconf special characters in output text. that's how you embed autoconf special characters in output text.
They're called <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>
url="http://www.gnu.org/software/autoconf/manual/autoconf.html#Quadrigraphs"><emphasis>quadrigraphs</emphasis></ulink>
and you should use them whenever necessary. and you should use them whenever necessary.
</para> </para>
</listitem> </listitem>
...@@ -349,6 +348,6 @@ ...@@ -349,6 +348,6 @@
message. message.
</para> </para>
</sect2> </section>
</sect1> </section>
<?xml version='1.0'?> <chapter xmlns="http://docbook.org/ns/docbook" version="5.0"
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" xml:id="std.concurrency" xreflabel="Concurrency">
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
[ ]>
<chapter id="std.concurrency" xreflabel="Concurrency">
<?dbhtml filename="concurrency.html"?> <?dbhtml filename="concurrency.html"?>
<chapterinfo> <info><title>
Concurrency
<indexterm><primary>Concurrency</primary></indexterm>
</title>
<keywordset> <keywordset>
<keyword> <keyword>
ISO C++ ISO C++
...@@ -27,12 +26,9 @@ ...@@ -27,12 +26,9 @@
condition_variable condition_variable
</keyword> </keyword>
</keywordset> </keywordset>
</chapterinfo> </info>
<title>
Concurrency
<indexterm><primary>Concurrency</primary></indexterm>
</title>
<para> <para>
Facilities for concurrent operation, and control thereof. Facilities for concurrent operation, and control thereof.
...@@ -40,8 +36,8 @@ ...@@ -40,8 +36,8 @@
<!-- Sect1 01 : API --> <!-- Sect1 01 : API -->
<sect1 id="std.concurrency.api"> <section xml:id="std.concurrency.api"><info><title>API Reference</title></info>
<title>API Reference</title>
<para> <para>
All items are declared in one of four standard header files. All items are declared in one of four standard header files.
...@@ -80,6 +76,6 @@ ...@@ -80,6 +76,6 @@
<!-- Doxygen XML: api/group__concurrency.xml --> <!-- Doxygen XML: api/group__concurrency.xml -->
</sect1> </section>
</chapter> </chapter>
<?xml version='1.0'?> <chapter xmlns="http://docbook.org/ns/docbook" version="5.0"
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" xml:id="manual.ext.concurrency" xreflabel="Concurrency Extensions">
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
[ ]>
<chapter id="manual.ext.concurrency" xreflabel="Concurrency Extensions">
<?dbhtml filename="ext_concurrency.html"?> <?dbhtml filename="ext_concurrency.html"?>
<chapterinfo> <info><title>Concurrency</title>
<keywordset> <keywordset>
<keyword> <keyword>
ISO C++ ISO C++
...@@ -15,15 +11,15 @@ ...@@ -15,15 +11,15 @@
library library
</keyword> </keyword>
</keywordset> </keywordset>
</chapterinfo> </info>
<title>Concurrency</title>
<sect1 id="manual.ext.concurrency.design" xreflabel="Design"> <section xml:id="manual.ext.concurrency.design" xreflabel="Design"><info><title>Design</title></info>
<title>Design</title>
<sect2 id="manual.ext.concurrency.design.threads" xreflabel="Threads API"> <section xml:id="manual.ext.concurrency.design.threads" xreflabel="Threads API"><info><title>Interface to Locks and Mutexes</title></info>
<title>Interface to Locks and Mutexes</title>
<para>The file &lt;ext/concurrence.h&gt; contains all the higher-level <para>The file &lt;ext/concurrence.h&gt; contains all the higher-level
constructs for playing with threads. In contrast to the atomics layer, 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 ...@@ -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 unlocks it during destruction. This is an efficient way of locking
critical sections, while retaining exception-safety. critical sections, while retaining exception-safety.
</para> </para>
</sect2> </section>
<sect2 id="manual.ext.concurrency.design.atomics" xreflabel="Atomic API"> <section xml:id="manual.ext.concurrency.design.atomics" xreflabel="Atomic API"><info><title>Interface to Atomic Functions</title></info>
<title>Interface to Atomic Functions</title>
<para> <para>
...@@ -186,15 +182,15 @@ _GLIBCXX_WRITE_MEM_BARRIER ...@@ -186,15 +182,15 @@ _GLIBCXX_WRITE_MEM_BARRIER
Which expand to the appropriate write and read barrier required by the Which expand to the appropriate write and read barrier required by the
host hardware and operating system. host hardware and operating system.
</para> </para>
</sect2> </section>
</sect1> </section>
<sect1 id="manual.ext.concurrency.impl" xreflabel="Implementation"> <section xml:id="manual.ext.concurrency.impl" xreflabel="Implementation"><info><title>Implementation</title></info>
<title>Implementation</title>
<sect2 id="manual.ext.concurrency.impl.atomic_fallbacks" xreflabel="Atomic F"> <section xml:id="manual.ext.concurrency.impl.atomic_fallbacks" xreflabel="Atomic F"><info><title>Using Builtin Atomic Functions</title></info>
<title>Using Builtin Atomic Functions</title>
<para>The functions for atomic operations described above are either <para>The functions for atomic operations described above are either
implemented via compiler intrinsics (if the underlying host is 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 ...@@ -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>And for the rest, a simulated atomic lock via pthreads.
</para> </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>
<para> More details on the library fallbacks from the porting <link linkend="internals.thread_safety">section</link>. <para> More details on the library fallbacks from the porting <link linkend="internals.thread_safety">section</link>.
</para> </para>
</sect2> </section>
<sect2 id="manual.ext.concurrency.impl.thread" xreflabel="Pthread"> <section xml:id="manual.ext.concurrency.impl.thread" xreflabel="Pthread"><info><title>Thread Abstraction</title></info>
<title>Thread Abstraction</title>
<para>A thin layer above IEEE 1003.1 (i.e. pthreads) is used to abstract <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 the thread interface for GCC. This layer is called "gthread," and is
...@@ -276,7 +272,7 @@ the current host. In libstdc++ implementation files, ...@@ -276,7 +272,7 @@ the current host. In libstdc++ implementation files,
</para> </para>
<para>Within libstdc++ sources, all calls to underlying thread functionality <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>
<para>By design, the gthread layer is interoperable with the types, <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 ...@@ -285,12 +281,12 @@ including <code>pthread_t</code>, <code>pthread_once_t</code>, <code>pthread_cre
etc. etc.
</para> </para>
</sect2> </section>
</sect1> </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>Typical usage of the last two constructs is demonstrated as follows:
</para> </para>
...@@ -332,6 +328,6 @@ and <code>__concurrence_broadcast_error</code>. ...@@ -332,6 +328,6 @@ and <code>__concurrence_broadcast_error</code>.
</para> </para>
</sect1> </section>
</chapter> </chapter>
<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"?> <?dbhtml filename="configure.html"?>
<sect1info> <info><title>Configure</title>
<keywordset> <keywordset>
<keyword> <keyword>
ISO C++ ISO C++
...@@ -13,9 +14,9 @@ ...@@ -13,9 +14,9 @@
options options
</keyword> </keyword>
</keywordset> </keywordset>
</sect1info> </info>
<title>Configure</title>
<para> <para>
When configuring libstdc++, you'll have to configure the entire When configuring libstdc++, you'll have to configure the entire
...@@ -29,8 +30,8 @@ ...@@ -29,8 +30,8 @@
Here are all of the configure options specific to libstdc++. Keep Here are all of the configure options specific to libstdc++. Keep
in mind that in mind that
<!-- This SECnn should be the "Choosing Package Options" section. --> <!-- This SECnn should be the "Choosing Package Options" section. -->
<ulink url="http://sourceware.org/autobook/autobook/autobook_14.html">they <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</ulink> (enable/disable and all have opposite forms as well</link> (enable/disable and
with/without). The defaults are for the <emphasis>current with/without). The defaults are for the <emphasis>current
development sources</emphasis>, which may be different than those development sources</emphasis>, which may be different than those
for released versions. for released versions.
...@@ -43,8 +44,8 @@ ...@@ -43,8 +44,8 @@
<variablelist> <variablelist>
<varlistentry><term><code>--enable-multilib</code>[default]</term> <varlistentry><term><code>--enable-multilib</code>[default]</term>
<listitem><para>This is part of the generic multilib support for building cross <listitem><para>This is part of the generic multilib support for building cross
compilers. As such, targets like &quot;powerpc-elf&quot; will have compilers. As such, targets like "powerpc-elf" will have
libstdc++ built many different ways: &quot;-msoft-float&quot; libstdc++ built many different ways: "-msoft-float"
and not, etc. A different libstdc++ will be built for each of and not, etc. A different libstdc++ will be built for each of
the different multilib versions. This option is on by default. the different multilib versions. This option is on by default.
</para> </para>
...@@ -68,15 +69,15 @@ ...@@ -68,15 +69,15 @@
libstdc++'s include files will be installed in libstdc++'s include files will be installed in
<code>${libdir}/gcc-lib/${target_alias}/${gcc_version}/include/g++</code>, <code>${libdir}/gcc-lib/${target_alias}/${gcc_version}/include/g++</code>,
unless you also specify 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> </para>
</listitem></varlistentry> </listitem></varlistentry>
<varlistentry><term><code>--with-gxx-include-dir=&lt;include-files dir&gt;</code></term> <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, <listitem><para>Adds support for named libstdc++ include directory. For instance,
the following puts all the libstdc++ headers into a directory the following puts all the libstdc++ headers into a directory
called &quot;4.4-20090404&quot; instead of the usual called "4.4-20090404" instead of the usual
&quot;c++/(version)&quot;. "c++/(version)".
</para> </para>
<programlisting> <programlisting>
--with-gxx-include-dir=/foo/H-x86-gcc-3-c-gxx-inc/include/4.4-20090404</programlisting> </listitem></varlistentry> --with-gxx-include-dir=/foo/H-x86-gcc-3-c-gxx-inc/include/4.4-20090404</programlisting> </listitem></varlistentry>
...@@ -89,7 +90,7 @@ ...@@ -89,7 +90,7 @@
<varlistentry><term><code>--enable-cstdio=OPTION</code></term> <varlistentry><term><code>--enable-cstdio=OPTION</code></term>
<listitem><para>Select a target-specific I/O package. At the moment, the only <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. The default is 'stdio'. This option can change the library ABI.
</para> </para>
</listitem></varlistentry> </listitem></varlistentry>
...@@ -105,9 +106,9 @@ ...@@ -105,9 +106,9 @@
choices are 'ieee_1003.1-2001' to specify an X/Open, Standard Unix choices are 'ieee_1003.1-2001' to specify an X/Open, Standard Unix
(IEEE Std. 1003.1-2001) model based on langinfo/iconv/catgets, (IEEE Std. 1003.1-2001) model based on langinfo/iconv/catgets,
'gnu' to specify a model based on functionality from the GNU C '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 (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 &quot;C&quot; library), or 'generic' to use a generic "C"
abstraction which consists of &quot;C&quot; locale info. abstraction which consists of "C" locale info.
</para> </para>
<para>If not explicitly specified, the configure proccess tries <para>If not explicitly specified, the configure proccess tries
...@@ -154,8 +155,8 @@ ...@@ -154,8 +155,8 @@
<varlistentry><term><code>--enable-threads=OPTION</code></term> <varlistentry><term><code>--enable-threads=OPTION</code></term>
<listitem><para>Select a threading library. A full description is <listitem><para>Select a threading library. A full description is
given in the given in the
general <ulink url="http://gcc.gnu.org/install/configure.html">compiler general <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/install/configure.html">compiler
configuration instructions</ulink>. This option can change the configuration instructions</link>. This option can change the
library ABI. library ABI.
</para> </para>
</listitem></varlistentry> </listitem></varlistentry>
...@@ -218,13 +219,13 @@ ...@@ -218,13 +219,13 @@
</listitem></varlistentry> </listitem></varlistentry>
<varlistentry><term><code>--enable-c99</code></term> <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 with many other functions for wide characters, and math
classification macros, etc. If enabled, all C99 functions not classification macros, etc. If enabled, all C99 functions not
specified by the C++ standard will be put into <code>namespace specified by the C++ standard will be put into <code>namespace
__gnu_cxx</code>, and then all these names will __gnu_cxx</code>, and then all these names will
be injected into namespace std, so that C99 functions can be 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, will eventually be in some future revision of the standard,
without a doubt). By default, C99 support is on, assuming the without a doubt). By default, C99 support is on, assuming the
configure probes find all the necessary functions and bits configure probes find all the necessary functions and bits
...@@ -233,7 +234,7 @@ ...@@ -233,7 +234,7 @@
</listitem></varlistentry> </listitem></varlistentry>
<varlistentry><term><code>--enable-wchar_t</code>[default]</term> <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 required for wide character conversion support. Disabling
wide character specializations may be expedient for initial wide character specializations may be expedient for initial
porting efforts, but builds only a subset of what is required by porting efforts, but builds only a subset of what is required by
...@@ -243,14 +244,14 @@ ...@@ -243,14 +244,14 @@
</listitem></varlistentry> </listitem></varlistentry>
<varlistentry><term><code>--enable-long-long </code></term> <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 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: 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;) headers by default (i.e., &lt;cmath&gt; not &lt;math.h&gt;)
or add appropriate compile-time flags to all compile lines to 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 the flag is -D_ISOC99_SOURCE, which is added automatically via
CPLUSPLUS_CPP_SPEC's addition of _GNU_SOURCE). CPLUSPLUS_CPP_SPEC's addition of _GNU_SOURCE).
This option can change the library ABI. This option can change the library ABI.
...@@ -347,4 +348,4 @@ ...@@ -347,4 +348,4 @@
</variablelist> </variablelist>
</sect1> </section>
<?xml version='1.0'?> <chapter xmlns="http://docbook.org/ns/docbook" version="5.0"
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" xml:id="std.containers" xreflabel="Containers">
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
[ ]>
<chapter id="std.containers" xreflabel="Containers">
<?dbhtml filename="containers.html"?> <?dbhtml filename="containers.html"?>
<chapterinfo> <info><title>
Containers
<indexterm><primary>Containers</primary></indexterm>
</title>
<keywordset> <keywordset>
<keyword> <keyword>
ISO C++ ISO C++
...@@ -15,28 +14,24 @@ ...@@ -15,28 +14,24 @@
library library
</keyword> </keyword>
</keywordset> </keywordset>
</chapterinfo> </info>
<title>
Containers
<indexterm><primary>Containers</primary></indexterm>
</title>
<!-- Sect1 01 : Sequences --> <!-- 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"?> <?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"?> <?dbhtml filename="list.html"?>
<title>list</title>
<sect3 id="sequences.list.size" xreflabel="list::size() is O(n)"> <section xml:id="sequences.list.size" xreflabel="list::size() is O(n)"><info><title>list::size() is O(n)</title></info>
<title>list::size() is O(n)</title>
<para> <para>
Yes it is, and that's okay. This is a decision that we preserved Yes it is, and that's okay. This is a decision that we preserved
when we imported SGI's STL implementation. The following is when we imported SGI's STL implementation. The following is
quoted from <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>:
url="http://www.sgi.com/tech/stl/FAQ.html">their FAQ</ulink>:
</para> </para>
<blockquote> <blockquote>
<para> <para>
...@@ -78,41 +73,38 @@ ...@@ -78,41 +73,38 @@
... ...
</programlisting> </programlisting>
</blockquote> </blockquote>
</sect3> </section>
</sect2> </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"?> <?dbhtml filename="vector.html"?>
<title>vector</title>
<para> <para>
</para> </para>
<sect3 id="sequences.vector.management" xreflabel="Space Overhead Management"> <section xml:id="sequences.vector.management" xreflabel="Space Overhead Management"><info><title>Space Overhead Management</title></info>
<title>Space Overhead Management</title>
<para> <para>
In <ulink In <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/ml/libstdc++/2002-04/msg00105.html">this
url="http://gcc.gnu.org/ml/libstdc++/2002-04/msg00105.html">this message to the list</link>, Daniel Kostecky announced work on an
message to the list</ulink>, Daniel Kostecky announced work on an
alternate form of <code>std::vector</code> that would support alternate form of <code>std::vector</code> that would support
hints on the number of elements to be over-allocated. The design hints on the number of elements to be over-allocated. The design
was also described, along with possible implementation choices. was also described, along with possible implementation choices.
</para> </para>
<para> <para>
The first two alpha releases were announced <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>
url="http://gcc.gnu.org/ml/libstdc++/2002-07/msg00048.html">here</ulink> and <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/ml/libstdc++/2002-07/msg00111.html">here</link>.
and <ulink
url="http://gcc.gnu.org/ml/libstdc++/2002-07/msg00111.html">here</ulink>.
</para> </para>
</sect3></sect2> </section></section>
</sect1> </section>
<!-- Sect1 02 : Associative --> <!-- 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"?> <?dbhtml filename="associative.html"?>
<title>Associative</title>
<sect2 id="containers.associative.insert_hints" xreflabel="Insertion Hints"> <section xml:id="containers.associative.insert_hints" xreflabel="Insertion Hints"><info><title>Insertion Hints</title></info>
<title>Insertion Hints</title>
<para> <para>
Section [23.1.2], Table 69, of the C++ standard lists this Section [23.1.2], Table 69, of the C++ standard lists this
function for all of the associative containers (map, set, etc): function for all of the associative containers (map, set, etc):
...@@ -125,8 +117,7 @@ ...@@ -125,8 +117,7 @@
item to insert. The standard says that <quote><code>t</code> is item to insert. The standard says that <quote><code>t</code> is
inserted as close as possible to the position just prior to inserted as close as possible to the position just prior to
<code>p</code>.</quote> (Library DR #233 addresses this topic, <code>p</code>.</quote> (Library DR #233 addresses this topic,
referring to <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>.
url="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1780.html">N1780</ulink>.
Since version 4.2 GCC implements the resolution to DR 233, so Since version 4.2 GCC implements the resolution to DR 233, so
that insertions happen as close as possible to the hint. For that insertions happen as close as possible to the hint. For
earlier releases the hint was only used as described below. earlier releases the hint was only used as described below.
...@@ -216,14 +207,14 @@ ...@@ -216,14 +207,14 @@
point to the correct place, then no further local searching is point to the correct place, then no further local searching is
done; the search begins from scratch in logarithmic time. done; the search begins from scratch in logarithmic time.
</para> </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"?> <?dbhtml filename="bitset.html"?>
<title>bitset</title>
<sect3 id="associative.bitset.size_variable" xreflabel="Variable"> <section xml:id="associative.bitset.size_variable" xreflabel="Variable"><info><title>Size Variable</title></info>
<title>Size Variable</title>
<para> <para>
No, you cannot write code of the form No, you cannot write code of the form
</para> </para>
...@@ -254,7 +245,7 @@ ...@@ -254,7 +245,7 @@
</itemizedlist> </itemizedlist>
<para> <para>
<emphasis>A very large N in <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 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 (N/8) bytes on most systems, and division by a factor of eight is
pretty impressive when speaking of memory. Half a megabyte given pretty impressive when speaking of memory. Half a megabyte given
...@@ -276,7 +267,7 @@ ...@@ -276,7 +267,7 @@
space overhead, but it's all allocated inside the object.) space overhead, but it's all allocated inside the object.)
</para> </para>
<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 Committee made provision for the space savings possible with that
(N/8) usage previously mentioned, so that you don't have to do (N/8) usage previously mentioned, so that you don't have to do
wasteful things like <code>Container&lt;char&gt;</code> or wasteful things like <code>Container&lt;char&gt;</code> or
...@@ -297,7 +288,7 @@ ...@@ -297,7 +288,7 @@
than that of vector). than that of vector).
</para> </para>
<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 you have access to the compiler and linker at runtime, you can do
something insane, like figuring out just how many bits you need, something insane, like figuring out just how many bits you need,
then writing a temporary source code file. That file contains an then writing a temporary source code file. That file contains an
...@@ -329,9 +320,9 @@ ...@@ -329,9 +320,9 @@
<link linkend="manual.ext.containers.sgi">some extensions</link>. <link linkend="manual.ext.containers.sgi">some extensions</link>.
</para> </para>
</sect3> </section>
<sect3 id="associative.bitset.type_string" xreflabel="Type String"> <section xml:id="associative.bitset.type_string" xreflabel="Type String"><info><title>Type String</title></info>
<title>Type String</title>
<para> <para>
</para> </para>
<para> <para>
...@@ -357,18 +348,18 @@ ...@@ -357,18 +348,18 @@
<programlisting> <programlisting>
std::bitset&lt;5&gt; b ( <quote>10110</quote> ); // invalid std::bitset&lt;5&gt; b ( <quote>10110</quote> ); // invalid
</programlisting> </programlisting>
</sect3> </section>
</sect2> </section>
</sect1> </section>
<!-- Sect1 03 : Interacting with C --> <!-- 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"?> <?dbhtml filename="containers_and_c.html"?>
<title>Interacting with C</title>
<sect2 id="containers.c.vs_array" xreflabel="Containers vs. Arrays"> <section xml:id="containers.c.vs_array" xreflabel="Containers vs. Arrays"><info><title>Containers vs. Arrays</title></info>
<title>Containers vs. Arrays</title>
<para> <para>
You're writing some code and can't decide whether to use builtin You're writing some code and can't decide whether to use builtin
arrays or some kind of container. There are compelling reasons arrays or some kind of container. There are compelling reasons
...@@ -464,8 +455,8 @@ template&lt;typename T, unsigned int sz&gt; ...@@ -464,8 +455,8 @@ template&lt;typename T, unsigned int sz&gt;
<para> <para>
looks just weird! Hint: unused parameters can be left nameless. looks just weird! Hint: unused parameters can be left nameless.
</para> </para>
</sect2> </section>
</sect1> </section>
</chapter> </chapter>
<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"?> <?dbhtml filename="ctype.html"?>
<sectioninfo> <info><title>ctype</title>
<keywordset> <keywordset>
<keyword> <keyword>
ISO C++ ISO C++
...@@ -10,15 +11,15 @@ ...@@ -10,15 +11,15 @@
ctype ctype
</keyword> </keyword>
</keywordset> </keywordset>
</sectioninfo> </info>
<title>ctype</title>
<section id="facet.ctype.impl">
<title>Implementation</title>
<section> <section xml:id="facet.ctype.impl"><info><title>Implementation</title></info>
<title>Specializations</title>
<section><info><title>Specializations</title></info>
<para> <para>
For the required specialization codecvt&lt;wchar_t, char, mbstate_t&gt; , For the required specialization codecvt&lt;wchar_t, char, mbstate_t&gt; ,
...@@ -60,8 +61,8 @@ characters. ...@@ -60,8 +61,8 @@ characters.
</section> </section>
</section> </section>
<section id="facet.ctype.future"> <section xml:id="facet.ctype.future"><info><title>Future</title></info>
<title>Future</title>
<itemizedlist> <itemizedlist>
...@@ -117,21 +118,15 @@ characters. ...@@ -117,21 +118,15 @@ characters.
</section> </section>
<bibliography id="facet.ctype.biblio"> <bibliography xml:id="facet.ctype.biblio"><info><title>Bibliography</title></info>
<title>Bibliography</title>
<biblioentry> <biblioentry>
<title> <citetitle>
The GNU C Library The GNU C Library
</title> </citetitle>
<author> <author><personname><surname>McGrath</surname><firstname>Roland</firstname></personname></author>
<surname>McGrath</surname> <author><personname><surname>Drepper</surname><firstname>Ulrich</firstname></personname></author>
<firstname>Roland</firstname>
</author>
<author>
<surname>Drepper</surname>
<firstname>Ulrich</firstname>
</author>
<copyright> <copyright>
<year>2007</year> <year>2007</year>
<holder>FSF</holder> <holder>FSF</holder>
...@@ -140,23 +135,20 @@ characters. ...@@ -140,23 +135,20 @@ characters.
</biblioentry> </biblioentry>
<biblioentry> <biblioentry>
<title> <citetitle>
Correspondence Correspondence
</title> </citetitle>
<author> <author><personname><surname>Drepper</surname><firstname>Ulrich</firstname></personname></author>
<surname>Drepper</surname>
<firstname>Ulrich</firstname>
</author>
<copyright> <copyright>
<year>2002</year> <year>2002</year>
<holder></holder> <holder/>
</copyright> </copyright>
</biblioentry> </biblioentry>
<biblioentry> <biblioentry>
<title> <citetitle>
ISO/IEC 14882:1998 Programming languages - C++ ISO/IEC 14882:1998 Programming languages - C++
</title> </citetitle>
<copyright> <copyright>
<year>1998</year> <year>1998</year>
<holder>ISO</holder> <holder>ISO</holder>
...@@ -164,9 +156,9 @@ characters. ...@@ -164,9 +156,9 @@ characters.
</biblioentry> </biblioentry>
<biblioentry> <biblioentry>
<title> <citetitle>
ISO/IEC 9899:1999 Programming languages - C ISO/IEC 9899:1999 Programming languages - C
</title> </citetitle>
<copyright> <copyright>
<year>1999</year> <year>1999</year>
<holder>ISO</holder> <holder>ISO</holder>
...@@ -174,13 +166,12 @@ characters. ...@@ -174,13 +166,12 @@ characters.
</biblioentry> </biblioentry>
<biblioentry> <biblioentry>
<biblioid class="uri"> <biblioid xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.unix.org/version3/ieee_std.html" class="uri">
<ulink url="http://www.unix.org/version3/ieee_std.html"> </biblioid>
<citetitle> <citetitle>
The Open Group Base Specifications, Issue 6 (IEEE Std. 1003.1-2004) The Open Group Base Specifications, Issue 6 (IEEE Std. 1003.1-2004)
</citetitle> </citetitle>
</ulink>
</biblioid>
<copyright> <copyright>
<year>1999</year> <year>1999</year>
<holder> <holder>
...@@ -189,13 +180,10 @@ characters. ...@@ -189,13 +180,10 @@ characters.
</biblioentry> </biblioentry>
<biblioentry> <biblioentry>
<title> <citetitle>
The C++ Programming Language, Special Edition The C++ Programming Language, Special Edition
</title> </citetitle>
<author> <author><personname><surname>Stroustrup</surname><firstname>Bjarne</firstname></personname></author>
<surname>Stroustrup</surname>
<firstname>Bjarne</firstname>
</author>
<copyright> <copyright>
<year>2000</year> <year>2000</year>
<holder>Addison Wesley, Inc.</holder> <holder>Addison Wesley, Inc.</holder>
...@@ -209,20 +197,14 @@ characters. ...@@ -209,20 +197,14 @@ characters.
</biblioentry> </biblioentry>
<biblioentry> <biblioentry>
<title> <citetitle>
Standard C++ IOStreams and Locales Standard C++ IOStreams and Locales
</title> </citetitle>
<subtitle> <subtitle>
Advanced Programmer's Guide and Reference Advanced Programmer's Guide and Reference
</subtitle> </subtitle>
<author> <author><personname><surname>Langer</surname><firstname>Angelika</firstname></personname></author>
<surname>Langer</surname> <author><personname><surname>Kreft</surname><firstname>Klaus</firstname></personname></author>
<firstname>Angelika</firstname>
</author>
<author>
<surname>Kreft</surname>
<firstname>Klaus</firstname>
</author>
<copyright> <copyright>
<year>2000</year> <year>2000</year>
<holder>Addison Wesley Longman, Inc.</holder> <holder>Addison Wesley Longman, Inc.</holder>
......
<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"?> <?dbhtml filename="debug.html"?>
<sect1info> <info><title>Debugging Support</title>
<keywordset> <keywordset>
<keyword> <keyword>
C++ C++
...@@ -10,9 +11,9 @@ ...@@ -10,9 +11,9 @@
debug debug
</keyword> </keyword>
</keywordset> </keywordset>
</sect1info> </info>
<title>Debugging Support</title>
<para> <para>
There are numerous things that can be done to improve the ease with There are numerous things that can be done to improve the ease with
...@@ -20,8 +21,8 @@ ...@@ -20,8 +21,8 @@
are some of them. are some of them.
</para> </para>
<sect2 id="debug.compiler"> <section xml:id="debug.compiler"><info><title>Using <command>g++</command></title></info>
<title>Using <command>g++</command></title>
<para> <para>
Compiler flags determine how debug information is transmitted Compiler flags determine how debug information is transmitted
between compilation and debug or analysis tools. between compilation and debug or analysis tools.
...@@ -52,15 +53,14 @@ ...@@ -52,15 +53,14 @@
</para> </para>
<para> <para>
Many other options are available: please see <ulink 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
url="http://gcc.gnu.org/onlinedocs/gcc/Debugging-Options.html#Debugging%20Options">"Options for Debugging Your Program"</link> in Using the GNU Compiler
for Debugging Your Program"</ulink> in Using the GNU Compiler
Collection (GCC) for a complete list. Collection (GCC) for a complete list.
</para> </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> <para>
If you would like debug symbols in libstdc++, there are two ways to If you would like debug symbols in libstdc++, there are two ways to
...@@ -79,8 +79,7 @@ ...@@ -79,8 +79,7 @@
debug build will persist, without having to specify debug build will persist, without having to specify
<code>CXXFLAGS</code>, and the debug library will be installed in a <code>CXXFLAGS</code>, and the debug library will be installed in a
separate directory tree, in <code>(prefix)/lib/debug</code>. For separate directory tree, in <code>(prefix)/lib/debug</code>. For
more information, look at the <link more information, look at the <link linkend="manual.intro.setup.configure">configuration</link> section.
linkend="manual.intro.setup.configure">configuration</link> section.
</para> </para>
<para> <para>
...@@ -94,10 +93,10 @@ ...@@ -94,10 +93,10 @@
This quick and dirty approach is often sufficient for quick This quick and dirty approach is often sufficient for quick
debugging tasks, when you cannot or don't want to recompile your 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> 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> <para>
There are various third party memory tracing and debug utilities There are various third party memory tracing and debug utilities
...@@ -116,8 +115,7 @@ ...@@ -116,8 +115,7 @@
thing of great importance to keep in mind when debugging C++ code thing of great importance to keep in mind when debugging C++ code
that uses <code>new</code> and <code>delete</code>: there are that uses <code>new</code> and <code>delete</code>: there are
different kinds of allocation schemes that can be used by <code> different kinds of allocation schemes that can be used by <code>
std::allocator </code>. For implementation details, see the <link std::allocator </code>. For implementation details, see the <link linkend="manual.ext.allocator.mt">mt allocator</link> documentation and
linkend="manual.ext.allocator.mt">mt allocator</link> documentation and
look specifically for <code>GLIBCXX_FORCE_NEW</code>. look specifically for <code>GLIBCXX_FORCE_NEW</code>.
</para> </para>
...@@ -189,17 +187,16 @@ ...@@ -189,17 +187,16 @@
valgrind -v --num-callers=20 --leak-check=yes --leak-resolution=high --show-reachable=yes a.out valgrind -v --num-callers=20 --leak-check=yes --leak-resolution=high --show-reachable=yes a.out
</programlisting> </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> </para>
<para> <para>
Many options are available for gdb itself: please see <ulink 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">
url="http://sources.redhat.com/gdb/current/onlinedocs/gdb_13.html#SEC125"> "GDB features for C++" </link> in the gdb documentation. Also
"GDB features for C++" </ulink> in the gdb documentation. Also
recommended: the other parts of this manual. recommended: the other parts of this manual.
</para> </para>
...@@ -258,47 +255,47 @@ ...@@ -258,47 +255,47 @@
<para> <para>
For additional information on STL support and GDB please visit: For additional information on STL support and GDB please visit:
<ulink url="http://sourceware.org/gdb/wiki/STLSupport"> "GDB Support <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://sourceware.org/gdb/wiki/STLSupport"> "GDB Support
for STL" </ulink> in the GDB wiki. Additionally, in-depth for STL" </link> in the GDB wiki. Additionally, in-depth
documentation and discussion of the pretty printing feature can be documentation and discussion of the pretty printing feature can be
found in "Pretty Printing" node in the GDB manual. You can find 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 on-line versions of the GDB user manual in GDB's homepage, at
<ulink url="http://sourceware.org/gdb/"> "GDB: The GNU Project <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://sourceware.org/gdb/"> "GDB: The GNU Project
Debugger" </ulink>. Debugger" </link>.
</para> </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> <para>
The <link linkend="support.termination.verbose">verbose The <link linkend="support.termination.verbose">verbose
termination handler</link> gives information about uncaught termination handler</link> gives information about uncaught
exceptions which are killing the program. It is described in the exceptions which are killing the program. It is described in the
linked-to page. linked-to page.
</para> </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> <para> The <link linkend="manual.ext.debug_mode">Debug Mode</link>
has compile and run-time checks for many containers. has compile and run-time checks for many containers.
</para> </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 <para> The <link linkend="manual.ext.compile_checks">Compile-Time
Checks</link> Extension has compile-time checks for many algorithms. Checks</link> Extension has compile-time checks for many algorithms.
</para> </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 <para> The <link linkend="manual.ext.profile_mode">Profile-based
Performance Analysis</link> Extension has performance checks for many Performance Analysis</link> Extension has performance checks for many
algorithms. algorithms.
</para> </para>
</sect2> </section>
</sect1> </section>
<?xml version='1.0'?> <chapter xmlns="http://docbook.org/ns/docbook" version="5.0"
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" xml:id="std.diagnostics" xreflabel="Diagnostics">
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
[ ]>
<chapter id="std.diagnostics" xreflabel="Diagnostics">
<?dbhtml filename="diagnostics.html"?> <?dbhtml filename="diagnostics.html"?>
<chapterinfo> <info><title>
Diagnostics
<indexterm><primary>Diagnostics</primary></indexterm>
</title>
<keywordset> <keywordset>
<keyword> <keyword>
ISO C++ ISO C++
...@@ -15,19 +14,16 @@ ...@@ -15,19 +14,16 @@
library library
</keyword> </keyword>
</keywordset> </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"?> <?dbhtml filename="exceptions.html"?>
<title>Exceptions</title>
<sect2 id="std.diagnostics.exceptions.api"> <section xml:id="std.diagnostics.exceptions.api"><info><title>API Reference</title></info>
<title>API Reference</title>
<para> <para>
All exception objects are defined in one of the standard header All exception objects are defined in one of the standard header
files: <filename>exception</filename>, files: <filename>exception</filename>,
...@@ -53,9 +49,9 @@ ...@@ -53,9 +49,9 @@
<!-- Doxygen XML: api/group__exceptions.xml --> <!-- Doxygen XML: api/group__exceptions.xml -->
</sect2> </section>
<sect2 id="std.diagnostics.exceptions.data" xreflabel="Adding Data to Exceptions"> <section xml:id="std.diagnostics.exceptions.data" xreflabel="Adding Data to Exceptions"><info><title>Adding Data to <classname>exception</classname></title></info>
<title>Adding Data to <classname>exception</classname></title>
<para> <para>
The standard exception classes carry with them a single string as The standard exception classes carry with them a single string as
data (usually describing what went wrong or where the 'throw' took data (usually describing what went wrong or where the 'throw' took
...@@ -76,11 +72,11 @@ ...@@ -76,11 +72,11 @@
}; };
</programlisting> </programlisting>
</sect2> </section>
</sect1> </section>
<sect1 id="std.diagnostics.concept_checking" xreflabel="Concept Checking"> <section xml:id="std.diagnostics.concept_checking" xreflabel="Concept Checking"><info><title>Concept Checking</title></info>
<title>Concept Checking</title>
<para> <para>
In 1999, SGI added <quote>concept checkers</quote> to their In 1999, SGI added <quote>concept checkers</quote> to their
implementation of the STL: code which checked the template implementation of the STL: code which checked the template
...@@ -88,7 +84,7 @@ ...@@ -88,7 +84,7 @@
that the parameters being used met the requirements of the that the parameters being used met the requirements of the
standard. For example, the Standard requires that types passed as standard. For example, the Standard requires that types passed as
template parameters to <classname>vector</classname> be 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 checking was done during compilation, and none of the code was
executed at runtime. executed at runtime.
</para> </para>
...@@ -101,8 +97,8 @@ ...@@ -101,8 +97,8 @@
The primary author of the checking code, Jeremy Siek, had already The primary author of the checking code, Jeremy Siek, had already
started work on a replacement implementation. The new code has been started work on a replacement implementation. The new code has been
formally reviewed and accepted into formally reviewed and accepted into
<ulink url="http://www.boost.org/libs/concept_check/concept_check.htm">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</ulink>, and we are pleased to incorporate it into the Boost libraries</link>, and we are pleased to incorporate it into the
GNU C++ library. GNU C++ library.
</para> </para>
<para> <para>
...@@ -126,6 +122,6 @@ ...@@ -126,6 +122,6 @@
checking described above. checking described above.
</para> </para>
</sect1> </section>
</chapter> </chapter>
<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"?> <?dbhtml filename="api.html"?>
<sect1info> <info><title>API Evolution and Deprecation History</title>
<keywordset> <keywordset>
<keyword>ISO C++</keyword> <keyword>ISO C++</keyword>
<keyword>api</keyword> <keyword>api</keyword>
...@@ -9,16 +10,16 @@ ...@@ -9,16 +10,16 @@
<keyword>deprecation</keyword> <keyword>deprecation</keyword>
<keyword>history</keyword> <keyword>history</keyword>
</keywordset> </keywordset>
</sect1info> </info>
<title>API Evolution and Deprecation History</title>
<para> <para>
A list of user-visible changes, in chronological order A list of user-visible changes, in chronological order
</para> </para>
<sect2 id="api.rel_300"> <section xml:id="api.rel_300"><info><title><constant>3.0</constant></title></info>
<title><constant>3.0</constant></title>
<para> <para>
Extensions moved to <filename class="directory">include/ext</filename>. Extensions moved to <filename class="directory">include/ext</filename>.
...@@ -39,10 +40,10 @@ deactivates the warning.) ...@@ -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>
</para> </para>
...@@ -65,10 +66,10 @@ Extensions to tree data structures added in <filename class="headerfile">ext/rb_ ...@@ -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>. Removal of <filename class="headerfile">ext/tree</filename>, moved to <filename class="headerfile">backward/tree.h</filename>.
</para> </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> </para>
<para>Symbol versioning introduced for shared library.</para> <para>Symbol versioning introduced for shared library.</para>
...@@ -89,16 +90,16 @@ Removal of <filename class="headerfile">ext/tree</filename>, moved to <filename ...@@ -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> <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>
</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> </para>
<para> <para>
...@@ -161,13 +162,14 @@ _Alloc_traits</code> have been removed. ...@@ -161,13 +162,14 @@ _Alloc_traits</code> have been removed.
underlying allocator was not user-configurable. underlying allocator was not user-configurable.
</para> </para>
<table frame='all'> <table frame="all">
<title>Extension Allocators</title> <title>Extension Allocators</title>
<tgroup cols='4' align='left' colsep='1' rowsep='1'>
<colspec colname='c1'></colspec> <tgroup cols="4" align="left" colsep="1" rowsep="1">
<colspec colname='c2'></colspec> <colspec colname="c1"/>
<colspec colname='c3'></colspec> <colspec colname="c2"/>
<colspec colname='c4'></colspec> <colspec colname="c3"/>
<colspec colname="c4"/>
<thead> <thead>
<row> <row>
...@@ -225,12 +227,13 @@ _Alloc_traits</code> have been removed. ...@@ -225,12 +227,13 @@ _Alloc_traits</code> have been removed.
the first released version of GCC that included the extension allocator. the first released version of GCC that included the extension allocator.
</para> </para>
<table frame='all'> <table frame="all">
<title>Extension Allocators Continued</title> <title>Extension Allocators Continued</title>
<tgroup cols='3' align='left' colsep='1' rowsep='1'>
<colspec colname='c1'></colspec> <tgroup cols="3" align="left" colsep="1" rowsep="1">
<colspec colname='c2'></colspec> <colspec colname="c1"/>
<colspec colname='c3'></colspec> <colspec colname="c2"/>
<colspec colname="c3"/>
<thead> <thead>
<row> <row>
...@@ -277,10 +280,10 @@ Extension <filename class="headerfile">ext/demangle.h</filename> added. ...@@ -277,10 +280,10 @@ Extension <filename class="headerfile">ext/demangle.h</filename> added.
</para> </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> </para>
<para> <para>
...@@ -300,10 +303,10 @@ Removal of <filename class="headerfile">ext/demangle.h</filename>. ...@@ -300,10 +303,10 @@ Removal of <filename class="headerfile">ext/demangle.h</filename>.
</para> </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>
</para> </para>
...@@ -324,10 +327,10 @@ types, namespace <code>pb_assoc</code>. ...@@ -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> 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> </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>
</para> </para>
...@@ -360,10 +363,10 @@ __gnu_cxx::__debug</code>.</para> ...@@ -360,10 +363,10 @@ __gnu_cxx::__debug</code>.</para>
and <filename class="headerfile">ext/throw_allocator.h</filename>. and <filename class="headerfile">ext/throw_allocator.h</filename>.
</para> </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>
</para> </para>
...@@ -448,11 +451,11 @@ PCH binary files no longer installed. Instead, the source files are installed. ...@@ -448,11 +451,11 @@ PCH binary files no longer installed. Instead, the source files are installed.
Namespace pb_ds moved to __gnu_pb_ds. Namespace pb_ds moved to __gnu_pb_ds.
</para> </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>
</para> </para>
...@@ -558,10 +561,10 @@ for non-standard pointer types has been added ...@@ -558,10 +561,10 @@ for non-standard pointer types has been added
to <classname>vector</classname> to <classname>vector</classname>
and <classname>forward_list</classname>. and <classname>forward_list</classname>.
</para> </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>
</para> </para>
...@@ -623,6 +626,6 @@ now defaults to zero. ...@@ -623,6 +626,6 @@ now defaults to zero.
<para> Extensions modified: <filename class="headerfile">ext/throw_allocator.h</filename>. <para> Extensions modified: <filename class="headerfile">ext/throw_allocator.h</filename>.
</para> </para>
</sect2> </section>
</sect1> </section>
<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"?> <?dbhtml filename="internals.html"?>
<sect1info> <info><title>Porting to New Hardware or Operating Systems</title>
<keywordset> <keywordset>
<keyword> <keyword>
ISO C++ ISO C++
...@@ -10,9 +11,9 @@ ...@@ -10,9 +11,9 @@
internals internals
</keyword> </keyword>
</keywordset> </keywordset>
</sect1info> </info>
<title>Porting to New Hardware or Operating Systems</title>
<para> <para>
</para> </para>
...@@ -45,8 +46,8 @@ a "host." The comment at the top of <code>configure.ac</code> explains why.) ...@@ -45,8 +46,8 @@ a "host." The comment at the top of <code>configure.ac</code> explains why.)
</para> </para>
<sect2 id="internals.os"> <section xml:id="internals.os"><info><title>Operating System</title></info>
<title>Operating System</title>
<para>If you are porting to a new operating system (as opposed to a new chip <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 using an existing operating system), you will need to create a new
...@@ -151,11 +152,11 @@ this: ...@@ -151,11 +152,11 @@ this:
<para>We recommend copying an existing <code>os_defines.h</code> to use as a <para>We recommend copying an existing <code>os_defines.h</code> to use as a
starting point. starting point.
</para> </para>
</sect2> </section>
<sect2 id="internals.cpu"> <section xml:id="internals.cpu"><info><title>CPU</title></info>
<title>CPU</title>
<para>If you are porting to a new chip (as opposed to a new operating system <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 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 ...@@ -183,11 +184,11 @@ example, <code>alpha</code>, <code>alphaev5</code>, and <code>alphaev6</code> al
appropriate for your chip. appropriate for your chip.
</para> </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 <para>The library requires that you provide three header files to implement
character classification, analogous to that provided by the C libraries 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 ...@@ -399,11 +400,11 @@ from <code>__low</code> up until <code>__high</code> into the vector given by
} }
</programlisting> </programlisting>
</sect2> </section>
<sect2 id="internals.thread_safety"> <section xml:id="internals.thread_safety"><info><title>Thread Safety</title></info>
<title>Thread Safety</title>
<para>The C++ library string functionality requires a couple of atomic <para>The C++ library string functionality requires a couple of atomic
operations to provide thread-safety. If you don't take any special 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: ...@@ -482,11 +483,11 @@ must be equivalent to those provided here, but using atomic operations:
} }
</programlisting> </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, <para>The C++ library requires information about the fundamental data types,
such as the minimum and maximum representable values of each type. 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 ...@@ -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>). your CPU configuration directory (see <link linkend="internals.cpu">CPU</link>).
</para> </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. <para>The C++ library is compiled, archived and linked with libtool.
Explaining the full workings of libtool is beyond the scope of this Explaining the full workings of libtool is beyond the scope of this
...@@ -543,6 +544,6 @@ operating system. ...@@ -543,6 +544,6 @@ operating system.
</para> </para>
</sect2> </section>
</sect1> </section>
<?xml version='1.0'?> <chapter xmlns="http://docbook.org/ns/docbook" version="5.0"
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" xml:id="std.iterators" xreflabel="Iterators">
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
[ ]>
<chapter id="std.iterators" xreflabel="Iterators">
<?dbhtml filename="iterators.html"?> <?dbhtml filename="iterators.html"?>
<chapterinfo> <info><title>
Iterators
<indexterm><primary>Iterators</primary></indexterm>
</title>
<keywordset> <keywordset>
<keyword> <keyword>
ISO C++ ISO C++
...@@ -15,19 +14,16 @@ ...@@ -15,19 +14,16 @@
library library
</keyword> </keyword>
</keywordset> </keywordset>
</chapterinfo> </info>
<title>
Iterators
<indexterm><primary>Iterators</primary></indexterm>
</title>
<!-- Sect1 01 : Predefined --> <!-- Sect1 01 : Predefined -->
<sect1 id="std.iterators.predefined" xreflabel="Predefined"> <section xml:id="std.iterators.predefined" xreflabel="Predefined"><info><title>Predefined</title></info>
<title>Predefined</title>
<sect2 id="iterators.predefined.vs_pointers" xreflabel="Versus Pointers"> <section xml:id="iterators.predefined.vs_pointers" xreflabel="Versus Pointers"><info><title>Iterators vs. Pointers</title></info>
<title>Iterators vs. Pointers</title>
<para> <para>
The following The following
FAQ <link linkend="faq.iterator_as_pod">entry</link> points out that FAQ <link linkend="faq.iterator_as_pod">entry</link> points out that
...@@ -63,7 +59,7 @@ classes. ...@@ -63,7 +59,7 @@ classes.
How much overhead <emphasis>is</emphasis> there when using an How much overhead <emphasis>is</emphasis> there when using an
iterator class? Very little. Most of the layering classes iterator class? Very little. Most of the layering classes
contain nothing but typedefs, and typedefs are 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 nicknames; they don't create code. That information gets passed
down through inheritance, so while the compiler has to do work down through inheritance, so while the compiler has to do work
looking up all the names, your runtime code does not. (This has looking up all the names, your runtime code does not. (This has
...@@ -71,10 +67,10 @@ classes. ...@@ -71,10 +67,10 @@ classes.
</para> </para>
</sect2> </section>
<sect2 id="iterators.predefined.end" xreflabel="end() Is One Past the End"> <section xml:id="iterators.predefined.end" xreflabel="end() Is One Past the End"><info><title>One Past the End</title></info>
<title>One Past the End</title>
<para>This starts off sounding complicated, but is actually very easy, <para>This starts off sounding complicated, but is actually very easy,
especially towards the end. Trust me. especially towards the end. Trust me.
...@@ -88,7 +84,7 @@ classes. ...@@ -88,7 +84,7 @@ classes.
C and C++ for builtin arrays. The following rules have always been C and C++ for builtin arrays. The following rules have always been
true for both languages: true for both languages:
</para> </para>
<orderedlist> <orderedlist inheritnum="ignore" continuation="restarts">
<listitem> <listitem>
<para>You can point anywhere in the array, <emphasis>or to the first element <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 past the end of the array</emphasis>. A pointer that points to one
...@@ -145,9 +141,9 @@ classes. ...@@ -145,9 +141,9 @@ classes.
</para> </para>
<para>Now think back to your junior-high school algebra course, when you <para>Now think back to your junior-high school algebra course, when you
were learning how to draw graphs. Remember that a graph terminating were learning how to draw graphs. Remember that a graph terminating
with a solid dot meant, &quot;Everything up through this point,&quot; with a solid dot meant, "Everything up through this point,"
and a graph terminating with an open dot meant, &quot;Everything up and a graph terminating with an open dot meant, "Everything up
to, but not including, this point,&quot; respectively called closed to, but not including, this point," respectively called closed
and open ranges? Remember how closed ranges were written with and open ranges? Remember how closed ranges were written with
brackets, <emphasis>[a,b]</emphasis>, and open ranges were written with parentheses, brackets, <emphasis>[a,b]</emphasis>, and open ranges were written with parentheses,
<emphasis>(a,b)</emphasis>? <emphasis>(a,b)</emphasis>?
...@@ -181,8 +177,8 @@ classes. ...@@ -181,8 +177,8 @@ classes.
<para>Just don't dereference <code>end()</code>. <para>Just don't dereference <code>end()</code>.
</para> </para>
</sect2> </section>
</sect1> </section>
<!-- Sect1 02 : Stream --> <!-- Sect1 02 : Stream -->
......
<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> <keywordset>
<keyword> <keyword>
ISO C++ ISO C++
...@@ -9,9 +10,9 @@ ...@@ -9,9 +10,9 @@
locale locale
</keyword> </keyword>
</keywordset> </keywordset>
</sectioninfo> </info>
<title>locale</title>
<para> <para>
Describes the basic locale object, including nested Describes the basic locale object, including nested
...@@ -19,8 +20,8 @@ classes id, facet, and the reference-counted implementation object, ...@@ -19,8 +20,8 @@ classes id, facet, and the reference-counted implementation object,
class _Impl. class _Impl.
</para> </para>
<section id="locales.locale.req"> <section xml:id="locales.locale.req"><info><title>Requirements</title></info>
<title>Requirements</title>
<para> <para>
Class locale is non-templatized and has two distinct types nested Class locale is non-templatized and has two distinct types nested
...@@ -89,8 +90,8 @@ Provides an index for looking up specific facets. ...@@ -89,8 +90,8 @@ Provides an index for looking up specific facets.
</para> </para>
</section> </section>
<section id="locales.locale.design"> <section xml:id="locales.locale.design"><info><title>Design</title></info>
<title>Design</title>
<para> <para>
The major design challenge is fitting an object-orientated and The major design challenge is fitting an object-orientated and
...@@ -105,11 +106,11 @@ portability is an issue. ...@@ -105,11 +106,11 @@ portability is an issue.
</section> </section>
<section id="locales.locale.impl"> <section xml:id="locales.locale.impl"><info><title>Implementation</title></info>
<title>Implementation</title>
<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> <itemizedlist>
<listitem> <listitem>
...@@ -470,8 +471,8 @@ global locale" (emphasis Paolo), that is: ...@@ -470,8 +471,8 @@ global locale" (emphasis Paolo), that is:
</section> </section>
</section> </section>
<section id="locales.locale.future"> <section xml:id="locales.locale.future"><info><title>Future</title></info>
<title>Future</title>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
...@@ -510,21 +511,15 @@ global locale" (emphasis Paolo), that is: ...@@ -510,21 +511,15 @@ global locale" (emphasis Paolo), that is:
</itemizedlist> </itemizedlist>
</section> </section>
<bibliography id="locales.locale.biblio"> <bibliography xml:id="locales.locale.biblio"><info><title>Bibliography</title></info>
<title>Bibliography</title>
<biblioentry> <biblioentry>
<title> <citetitle>
The GNU C Library The GNU C Library
</title> </citetitle>
<author> <author><personname><surname>McGrath</surname><firstname>Roland</firstname></personname></author>
<surname>McGrath</surname> <author><personname><surname>Drepper</surname><firstname>Ulrich</firstname></personname></author>
<firstname>Roland</firstname>
</author>
<author>
<surname>Drepper</surname>
<firstname>Ulrich</firstname>
</author>
<copyright> <copyright>
<year>2007</year> <year>2007</year>
<holder>FSF</holder> <holder>FSF</holder>
...@@ -536,23 +531,20 @@ global locale" (emphasis Paolo), that is: ...@@ -536,23 +531,20 @@ global locale" (emphasis Paolo), that is:
</biblioentry> </biblioentry>
<biblioentry> <biblioentry>
<title> <citetitle>
Correspondence Correspondence
</title> </citetitle>
<author> <author><personname><surname>Drepper</surname><firstname>Ulrich</firstname></personname></author>
<surname>Drepper</surname>
<firstname>Ulrich</firstname>
</author>
<copyright> <copyright>
<year>2002</year> <year>2002</year>
<holder></holder> <holder/>
</copyright> </copyright>
</biblioentry> </biblioentry>
<biblioentry> <biblioentry>
<title> <citetitle>
ISO/IEC 14882:1998 Programming languages - C++ ISO/IEC 14882:1998 Programming languages - C++
</title> </citetitle>
<copyright> <copyright>
<year>1998</year> <year>1998</year>
<holder>ISO</holder> <holder>ISO</holder>
...@@ -560,9 +552,9 @@ global locale" (emphasis Paolo), that is: ...@@ -560,9 +552,9 @@ global locale" (emphasis Paolo), that is:
</biblioentry> </biblioentry>
<biblioentry> <biblioentry>
<title> <citetitle>
ISO/IEC 9899:1999 Programming languages - C ISO/IEC 9899:1999 Programming languages - C
</title> </citetitle>
<copyright> <copyright>
<year>1999</year> <year>1999</year>
<holder>ISO</holder> <holder>ISO</holder>
...@@ -570,13 +562,11 @@ global locale" (emphasis Paolo), that is: ...@@ -570,13 +562,11 @@ global locale" (emphasis Paolo), that is:
</biblioentry> </biblioentry>
<biblioentry> <biblioentry>
<biblioid class="uri"> <biblioid xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.opengroup.org/austin" class="uri">
<ulink url="http://www.opengroup.org/austin">
<citetitle>
System Interface Definitions, Issue 7 (IEEE Std. 1003.1-2008)
</citetitle>
</ulink>
</biblioid> </biblioid>
<citetitle>
System Interface Definitions, Issue 7 (IEEE Std. 1003.1-2008)
</citetitle>
<copyright> <copyright>
<year>2008</year> <year>2008</year>
<holder> <holder>
...@@ -587,13 +577,10 @@ global locale" (emphasis Paolo), that is: ...@@ -587,13 +577,10 @@ global locale" (emphasis Paolo), that is:
</biblioentry> </biblioentry>
<biblioentry> <biblioentry>
<title> <citetitle>
The C++ Programming Language, Special Edition The C++ Programming Language, Special Edition
</title> </citetitle>
<author> <author><personname><surname>Stroustrup</surname><firstname>Bjarne</firstname></personname></author>
<surname>Stroustrup</surname>
<firstname>Bjarne</firstname>
</author>
<copyright> <copyright>
<year>2000</year> <year>2000</year>
<holder>Addison Wesley, Inc.</holder> <holder>Addison Wesley, Inc.</holder>
...@@ -607,20 +594,14 @@ global locale" (emphasis Paolo), that is: ...@@ -607,20 +594,14 @@ global locale" (emphasis Paolo), that is:
</biblioentry> </biblioentry>
<biblioentry> <biblioentry>
<title> <citetitle>
Standard C++ IOStreams and Locales Standard C++ IOStreams and Locales
</title> </citetitle>
<subtitle> <subtitle>
Advanced Programmer's Guide and Reference Advanced Programmer's Guide and Reference
</subtitle> </subtitle>
<author> <author><personname><surname>Langer</surname><firstname>Angelika</firstname></personname></author>
<surname>Langer</surname> <author><personname><surname>Kreft</surname><firstname>Klaus</firstname></personname></author>
<firstname>Angelika</firstname>
</author>
<author>
<surname>Kreft</surname>
<firstname>Klaus</firstname>
</author>
<copyright> <copyright>
<year>2000</year> <year>2000</year>
<holder>Addison Wesley Longman, Inc.</holder> <holder>Addison Wesley Longman, Inc.</holder>
......
<?xml version='1.0'?> <chapter xmlns="http://docbook.org/ns/docbook" version="5.0"
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" xml:id="std.localization" xreflabel="Localization">
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
[ ]>
<chapter id="std.localization" xreflabel="Localization">
<?dbhtml filename="localization.html"?> <?dbhtml filename="localization.html"?>
<chapterinfo> <info><title>
Localization
<indexterm><primary>Localization</primary></indexterm>
</title>
<keywordset> <keywordset>
<keyword> <keyword>
ISO C++ ISO C++
...@@ -15,42 +14,35 @@ ...@@ -15,42 +14,35 @@
library library
</keyword> </keyword>
</keywordset> </keywordset>
</chapterinfo> </info>
<title>
Localization
<indexterm><primary>Localization</primary></indexterm>
</title>
<!-- Section 01 : Locale --> <!-- 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"?> <?dbhtml filename="locales.html"?>
<title>Locales</title>
<!-- Section 01 : locale --> <!-- Section 01 : locale -->
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="locale.xml">
parse="xml" href="locale.xml">
</xi:include> </xi:include>
</section> </section>
<!-- Section 02 : Facet --> <!-- 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"?> <?dbhtml filename="facets.html"?>
<title>Facets</title>
<!-- Section 01 : ctype --> <!-- Section 01 : ctype -->
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="ctype.xml">
parse="xml" href="ctype.xml">
</xi:include> </xi:include>
<!-- Section 02 : codecvt --> <!-- Section 02 : codecvt -->
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="codecvt.xml">
parse="xml" href="codecvt.xml">
</xi:include> </xi:include>
<!-- Section 03 : messages --> <!-- Section 03 : messages -->
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="messages.xml">
parse="xml" href="messages.xml">
</xi:include> </xi:include>
</section> </section>
......
<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"?> <?dbhtml filename="messages.html"?>
<sectioninfo> <info><title>messages</title>
<keywordset> <keywordset>
<keyword> <keyword>
ISO C++ ISO C++
...@@ -10,9 +11,9 @@ ...@@ -10,9 +11,9 @@
messages messages
</keyword> </keyword>
</keywordset> </keywordset>
</sectioninfo> </info>
<title>messages</title>
<para> <para>
The std::messages facet implements message retrieval functionality The std::messages facet implements message retrieval functionality
...@@ -20,8 +21,8 @@ equivalent to Java's java.text.MessageFormat .using either GNU gettext ...@@ -20,8 +21,8 @@ equivalent to Java's java.text.MessageFormat .using either GNU gettext
or IEEE 1003.1-200 functions. or IEEE 1003.1-200 functions.
</para> </para>
<section id="facet.messages.req"> <section xml:id="facet.messages.req"><info><title>Requirements</title></info>
<title>Requirements</title>
<para> <para>
The std::messages facet is probably the most vaguely defined facet in The std::messages facet is probably the most vaguely defined facet in
...@@ -108,8 +109,8 @@ be found, returns dfault. ...@@ -108,8 +109,8 @@ be found, returns dfault.
</section> </section>
<section id="facet.messages.design"> <section xml:id="facet.messages.design"><info><title>Design</title></info>
<title>Design</title>
<para> <para>
A couple of notes on the standard. A couple of notes on the standard.
...@@ -157,11 +158,11 @@ other, explicitly named locales. ...@@ -157,11 +158,11 @@ other, explicitly named locales.
</section> </section>
<section id="facet.messages.impl"> <section xml:id="facet.messages.impl"><info><title>Implementation</title></info>
<title>Implementation</title>
<section id="messages.impl.models">
<title>Models</title> <section xml:id="messages.impl.models"><info><title>Models</title></info>
<para> <para>
This is a relatively simple class, on the face of it. The standard This is a relatively simple class, on the face of it. The standard
specifies very little in concrete terms, so generic specifies very little in concrete terms, so generic
...@@ -228,8 +229,8 @@ model. ...@@ -228,8 +229,8 @@ model.
</section> </section>
<section id="messages.impl.gnu"> <section xml:id="messages.impl.gnu"><info><title>The GNU Model</title></info>
<title>The GNU Model</title>
<para> <para>
The messages facet, because it is retrieving and converting The messages facet, because it is retrieving and converting
...@@ -321,8 +322,8 @@ model. ...@@ -321,8 +322,8 @@ model.
</section> </section>
</section> </section>
<section id="facet.messages.use"> <section xml:id="facet.messages.use"><info><title>Use</title></info>
<title>Use</title>
<para> <para>
A simple example using the GNU model of message conversion. A simple example using the GNU model of message conversion.
</para> </para>
...@@ -351,8 +352,8 @@ void test01() ...@@ -351,8 +352,8 @@ void test01()
</section> </section>
<section id="facet.messages.future"> <section xml:id="facet.messages.future"><info><title>Future</title></info>
<title>Future</title>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
...@@ -438,21 +439,15 @@ void test01() ...@@ -438,21 +439,15 @@ void test01()
</section> </section>
<bibliography id="facet.messages.biblio"> <bibliography xml:id="facet.messages.biblio"><info><title>Bibliography</title></info>
<title>Bibliography</title>
<biblioentry> <biblioentry>
<title> <citetitle>
The GNU C Library The GNU C Library
</title> </citetitle>
<author> <author><personname><surname>McGrath</surname><firstname>Roland</firstname></personname></author>
<surname>McGrath</surname> <author><personname><surname>Drepper</surname><firstname>Ulrich</firstname></personname></author>
<firstname>Roland</firstname>
</author>
<author>
<surname>Drepper</surname>
<firstname>Ulrich</firstname>
</author>
<copyright> <copyright>
<year>2007</year> <year>2007</year>
<holder>FSF</holder> <holder>FSF</holder>
...@@ -462,23 +457,20 @@ void test01() ...@@ -462,23 +457,20 @@ void test01()
</biblioentry> </biblioentry>
<biblioentry> <biblioentry>
<title> <citetitle>
Correspondence Correspondence
</title> </citetitle>
<author> <author><personname><surname>Drepper</surname><firstname>Ulrich</firstname></personname></author>
<surname>Drepper</surname>
<firstname>Ulrich</firstname>
</author>
<copyright> <copyright>
<year>2002</year> <year>2002</year>
<holder></holder> <holder/>
</copyright> </copyright>
</biblioentry> </biblioentry>
<biblioentry> <biblioentry>
<title> <citetitle>
ISO/IEC 14882:1998 Programming languages - C++ ISO/IEC 14882:1998 Programming languages - C++
</title> </citetitle>
<copyright> <copyright>
<year>1998</year> <year>1998</year>
<holder>ISO</holder> <holder>ISO</holder>
...@@ -486,9 +478,9 @@ void test01() ...@@ -486,9 +478,9 @@ void test01()
</biblioentry> </biblioentry>
<biblioentry> <biblioentry>
<title> <citetitle>
ISO/IEC 9899:1999 Programming languages - C ISO/IEC 9899:1999 Programming languages - C
</title> </citetitle>
<copyright> <copyright>
<year>1999</year> <year>1999</year>
...@@ -497,13 +489,11 @@ void test01() ...@@ -497,13 +489,11 @@ void test01()
</biblioentry> </biblioentry>
<biblioentry> <biblioentry>
<biblioid class="uri"> <biblioid xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.opengroup.org/austin" class="uri">
<ulink url="http://www.opengroup.org/austin">
<citetitle>
System Interface Definitions, Issue 7 (IEEE Std. 1003.1-2008)
</citetitle>
</ulink>
</biblioid> </biblioid>
<citetitle>
System Interface Definitions, Issue 7 (IEEE Std. 1003.1-2008)
</citetitle>
<copyright> <copyright>
<year>2008</year> <year>2008</year>
<holder> <holder>
...@@ -514,13 +504,10 @@ void test01() ...@@ -514,13 +504,10 @@ void test01()
</biblioentry> </biblioentry>
<biblioentry> <biblioentry>
<title> <citetitle>
The C++ Programming Language, Special Edition The C++ Programming Language, Special Edition
</title> </citetitle>
<author> <author><personname><surname>Stroustrup</surname><firstname>Bjarne</firstname></personname></author>
<surname>Stroustrup</surname>
<firstname>Bjarne</firstname>
</author>
<copyright> <copyright>
<year>2000</year> <year>2000</year>
<holder>Addison Wesley, Inc.</holder> <holder>Addison Wesley, Inc.</holder>
...@@ -534,20 +521,14 @@ void test01() ...@@ -534,20 +521,14 @@ void test01()
</biblioentry> </biblioentry>
<biblioentry> <biblioentry>
<title> <citetitle>
Standard C++ IOStreams and Locales Standard C++ IOStreams and Locales
</title> </citetitle>
<subtitle> <subtitle>
Advanced Programmer's Guide and Reference Advanced Programmer's Guide and Reference
</subtitle> </subtitle>
<author> <author><personname><surname>Langer</surname><firstname>Angelika</firstname></personname></author>
<surname>Langer</surname> <author><personname><surname>Kreft</surname><firstname>Klaus</firstname></personname></author>
<firstname>Angelika</firstname>
</author>
<author>
<surname>Kreft</surname>
<firstname>Klaus</firstname>
</author>
<copyright> <copyright>
<year>2000</year> <year>2000</year>
<holder>Addison Wesley Longman, Inc.</holder> <holder>Addison Wesley Longman, Inc.</holder>
...@@ -560,27 +541,24 @@ void test01() ...@@ -560,27 +541,24 @@ void test01()
</biblioentry> </biblioentry>
<biblioentry> <biblioentry>
<biblioid class="uri"> <biblioid xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://java.sun.com/reference/api/index.html" class="uri">
<ulink url="http://java.sun.com/reference/api/index.html"> </biblioid>
<citetitle> <citetitle>
API Specifications, Java Platform API Specifications, Java Platform
</citetitle> </citetitle>
</ulink>
</biblioid>
<pagenums>java.util.Properties, java.text.MessageFormat, <pagenums>java.util.Properties, java.text.MessageFormat,
java.util.Locale, java.util.ResourceBundle java.util.Locale, java.util.ResourceBundle
</pagenums> </pagenums>
</biblioentry> </biblioentry>
<biblioentry> <biblioentry>
<biblioid class="uri"> <biblioid xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.gnu.org/software/gettext/" 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> </biblioid>
<citetitle>
GNU gettext tools, version 0.10.38, Native Language Support
Library and Tools.
</citetitle>
</biblioentry> </biblioentry>
</bibliography> </bibliography>
......
<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"?> <?dbhtml filename="mt_allocator.html"?>
<sect1info> <info><title>mt_allocator</title>
<keywordset> <keywordset>
<keyword> <keyword>
ISO C++ ISO C++
...@@ -10,15 +11,15 @@ ...@@ -10,15 +11,15 @@
allocator allocator
</keyword> </keyword>
</keywordset> </keywordset>
</sect1info> </info>
<title>mt_allocator</title>
<para> <para>
</para> </para>
<sect2 id="allocator.mt.intro"> <section xml:id="allocator.mt.intro"><info><title>Intro</title></info>
<title>Intro</title>
<para> <para>
The mt allocator [hereinafter referred to simply as "the allocator"] The mt allocator [hereinafter referred to simply as "the allocator"]
...@@ -40,14 +41,14 @@ ...@@ -40,14 +41,14 @@
view - the "inner workings" of the allocator. view - the "inner workings" of the allocator.
</para> </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"> <section xml:id="allocator.mt.overview"><info><title>Overview</title></info>
<title>Overview</title>
<para> There are three general components to the allocator: a datum <para> There are three general components to the allocator: a datum
...@@ -104,15 +105,15 @@ classes, namely member functions <code>allocate</code> and ...@@ -104,15 +105,15 @@ classes, namely member functions <code>allocate</code> and
<code>deallocate</code>, plus others. <code>deallocate</code>, plus others.
</para> </para>
</sect3> </section>
</sect2> </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"> <section xml:id="allocator.mt.tune"><info><title>Tunable Parameters</title></info>
<title>Tunable Parameters</title>
<para>Certain allocation parameters can be modified, or tuned. There <para>Certain allocation parameters can be modified, or tuned. There
exists a nested <code>struct __pool_base::_Tune</code> that contains all exists a nested <code>struct __pool_base::_Tune</code> that contains all
...@@ -166,10 +167,10 @@ int main() ...@@ -166,10 +167,10 @@ int main()
} }
</programlisting> </programlisting>
</sect3> </section>
<section xml:id="allocator.mt.init"><info><title>Initialization</title></info>
<sect3 id="allocator.mt.init">
<title>Initialization</title>
<para> <para>
The static variables (pointers to freelists, tuning parameters etc) The static variables (pointers to freelists, tuning parameters etc)
...@@ -276,10 +277,10 @@ The _S_initialize() function: ...@@ -276,10 +277,10 @@ The _S_initialize() function:
a thread decides to return some blocks to the global freelist. a thread decides to return some blocks to the global freelist.
</para> </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 <para> Notes about deallocation. This allocator does not explicitly
release memory. Because of this, memory debugging programs like release memory. Because of this, memory debugging programs like
...@@ -308,16 +309,16 @@ containers, this works, as an instance of the allocator is constructed ...@@ -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 as part of a container's constructor. However, this assumption is
implementation-specific, and subject to change. For an example of a implementation-specific, and subject to change. For an example of a
pool that frees memory, see the following 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"> <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.</ulink> example.</link>
</para> </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> <para>
Let's start by describing how the data on a freelist is laid out in memory. 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% ...@@ -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. faster than maintaining a set of "last pointers" as well.
</para> </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> <para>
In the ST example we never used the thread_id variable present in each block. 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 ...@@ -549,6 +550,6 @@ be improved to further reduce the risk of blocks being "bounced back
and forth" between freelists. and forth" between freelists.
</para> </para>
</sect2> </section>
</sect1> </section>
<?xml version='1.0'?> <chapter xmlns="http://docbook.org/ns/docbook" version="5.0"
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" xml:id="std.numerics" xreflabel="Numerics">
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
[ ]>
<chapter id="std.numerics" xreflabel="Numerics">
<?dbhtml filename="numerics.html"?> <?dbhtml filename="numerics.html"?>
<chapterinfo> <info><title>
Numerics
<indexterm><primary>Numerics</primary></indexterm>
</title>
<keywordset> <keywordset>
<keyword> <keyword>
ISO C++ ISO C++
...@@ -15,21 +14,18 @@ ...@@ -15,21 +14,18 @@
library library
</keyword> </keyword>
</keywordset> </keywordset>
</chapterinfo> </info>
<title>
Numerics
<indexterm><primary>Numerics</primary></indexterm>
</title>
<!-- Sect1 01 : Complex --> <!-- 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"?> <?dbhtml filename="complex.html"?>
<title>Complex</title>
<para> <para>
</para> </para>
<sect2 id="numerics.complex.processing" xreflabel="complex Processing"> <section xml:id="numerics.complex.processing" xreflabel="complex Processing"><info><title>complex Processing</title></info>
<title>complex Processing</title>
<para> <para>
</para> </para>
<para>Using <code>complex&lt;&gt;</code> becomes even more comple- er, sorry, <para>Using <code>complex&lt;&gt;</code> becomes even more comple- er, sorry,
...@@ -38,7 +34,7 @@ ...@@ -38,7 +34,7 @@
compiled a list of C++98 and C99 conflict points; his description of 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 C's new type versus those of C++ and how to get them playing together
nicely is 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>
<para><code>complex&lt;&gt;</code> is intended to be instantiated with a <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 floating-point type. As long as you meet that and some other basic
...@@ -49,13 +45,13 @@ ...@@ -49,13 +45,13 @@
<code>(u)</code>, and <code>(u,v)</code>. <code>(u)</code>, and <code>(u,v)</code>.
</para> </para>
</sect2> </section>
</sect1> </section>
<!-- Sect1 02 : Generalized Operations --> <!-- 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"?> <?dbhtml filename="generalized_numeric_operations.html"?>
<title>Generalized Operations</title>
<para> <para>
</para> </para>
...@@ -93,15 +89,15 @@ ...@@ -93,15 +89,15 @@
<para>The other three functions have similar dual-signature forms. <para>The other three functions have similar dual-signature forms.
</para> </para>
</sect1> </section>
<!-- Sect1 03 : Interacting with C --> <!-- 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"?> <?dbhtml filename="numerics_and_c.html"?>
<title>Interacting with C</title>
<sect2 id="numerics.c.array" xreflabel="Numerics vs. Arrays"> <section xml:id="numerics.c.array" xreflabel="Numerics vs. Arrays"><info><title>Numerics vs. Arrays</title></info>
<title>Numerics vs. Arrays</title>
<para>One of the major reasons why FORTRAN can chew through numbers so well <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 is that it is defined to be free of pointer aliasing, an assumption
...@@ -112,7 +108,7 @@ ...@@ -112,7 +108,7 @@
as an extension). as an extension).
</para> </para>
<para>That library solution is a set of two classes, five template classes, <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 to be free of pointer aliasing, so compilers can optimize the
daylights out of them the same way that they have been for FORTRAN. daylights out of them the same way that they have been for FORTRAN.
They are collectively called <code>valarray</code>, although strictly They are collectively called <code>valarray</code>, although strictly
...@@ -121,10 +117,10 @@ ...@@ -121,10 +117,10 @@
libraries before. libraries before.
</para> </para>
</sect2> </section>
<sect2 id="numerics.c.c99" xreflabel="C99"> <section xml:id="numerics.c.c99" xreflabel="C99"><info><title>C99</title></info>
<title>C99</title>
<para>In addition to the other topics on this page, we'll note here some <para>In addition to the other topics on this page, we'll note here some
of the C99 features that appear in libstdc++. of the C99 features that appear in libstdc++.
...@@ -143,7 +139,7 @@ ...@@ -143,7 +139,7 @@
<code>wcstoll</code>. <code>wcstoll</code>.
</para> </para>
</sect2> </section>
</sect1> </section>
</chapter> </chapter>
<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"?> <?dbhtml filename="prerequisites.html"?>
<sect1info> <info><title>Prerequisites</title>
<keywordset> <keywordset>
<keyword> <keyword>
ISO C++ ISO C++
...@@ -10,17 +11,17 @@ ...@@ -10,17 +11,17 @@
Prerequisites Prerequisites
</keyword> </keyword>
</keywordset> </keywordset>
</sect1info> </info>
<title>Prerequisites</title>
<para> <para>
Because libstdc++ is part of GCC, the primary source for Because libstdc++ is part of GCC, the primary source for
installation instructions is 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 In particular, list of prerequisite software needed to build the library
<ulink url="http://gcc.gnu.org/install/prerequisites.html"> <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/install/prerequisites.html">
starts with those requirements.</ulink> The same pages also list starts with those requirements.</link> The same pages also list
the tools you will need if you wish to modify the source. the tools you will need if you wish to modify the source.
</para> </para>
...@@ -31,8 +32,8 @@ ...@@ -31,8 +32,8 @@
<para>As of GCC 4.0.1 the minimum version of binutils required to build <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 libstdc++ is <code>2.15.90.0.1.1</code>. You can get snapshots
(as well as releases) of binutils from (as well as releases) of binutils from
<ulink url="ftp://sources.redhat.com/pub/binutils/"> <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="ftp://sources.redhat.com/pub/binutils/">
ftp://sources.redhat.com/pub/binutils</ulink>. ftp://sources.redhat.com/pub/binutils</link>.
Older releases of libstdc++ do not require such a recent version, Older releases of libstdc++ do not require such a recent version,
but to take full advantage of useful space-saving features and but to take full advantage of useful space-saving features and
bug-fixes you should use a recent binutils whenever possible. bug-fixes you should use a recent binutils whenever possible.
...@@ -156,4 +157,4 @@ zh_TW BIG5 ...@@ -156,4 +157,4 @@ zh_TW BIG5
</varlistentry> </varlistentry>
</variablelist> </variablelist>
</sect1> </section>
<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"?> <?dbhtml filename="shared_ptr.html"?>
<sectioninfo> <info><title>shared_ptr</title>
<keywordset> <keywordset>
<keyword> <keyword>
ISO C++ ISO C++
...@@ -10,17 +11,17 @@ ...@@ -10,17 +11,17 @@
shared_ptr shared_ptr
</keyword> </keyword>
</keywordset> </keywordset>
</sectioninfo> </info>
<title>shared_ptr</title>
<para> <para>
The shared_ptr class template stores a pointer, usually obtained via new, The shared_ptr class template stores a pointer, usually obtained via new,
and implements shared ownership semantics. and implements shared ownership semantics.
</para> </para>
<section id="shared_ptr.req"> <section xml:id="shared_ptr.req"><info><title>Requirements</title></info>
<title>Requirements</title>
<para> <para>
</para> </para>
...@@ -43,8 +44,8 @@ and implements shared ownership semantics. ...@@ -43,8 +44,8 @@ and implements shared ownership semantics.
</para> </para>
</section> </section>
<section id="shared_ptr.design_issues"> <section xml:id="shared_ptr.design_issues"><info><title>Design Issues</title></info>
<title>Design Issues</title>
<para> <para>
...@@ -67,11 +68,11 @@ technique known as type erasure. ...@@ -67,11 +68,11 @@ technique known as type erasure.
</section> </section>
<section id="shared_ptr.impl"> <section xml:id="shared_ptr.impl"><info><title>Implementation</title></info>
<title>Implementation</title>
<section> <section><info><title>Class Hierarchy</title></info>
<title>Class Hierarchy</title>
<para> <para>
A <classname>shared_ptr&lt;T&gt;</classname> contains a pointer of A <classname>shared_ptr&lt;T&gt;</classname> contains a pointer of
...@@ -158,8 +159,8 @@ that simplifies the implementation slightly. ...@@ -158,8 +159,8 @@ that simplifies the implementation slightly.
</section> </section>
<section> <section><info><title>Thread Safety</title></info>
<title>Thread Safety</title>
<para> <para>
C++0x-only features are: rvalue-ref/move support, allocator support, C++0x-only features are: rvalue-ref/move support, allocator support,
...@@ -170,8 +171,8 @@ deprecated in C++0x mode. ...@@ -170,8 +171,8 @@ deprecated in C++0x mode.
<para> <para>
The The
<ulink url="http://boost.org/libs/smart_ptr/shared_ptr.htm#ThreadSafety">Thread <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://boost.org/libs/smart_ptr/shared_ptr.htm#ThreadSafety">Thread
Safety</ulink> section of the Boost shared_ptr documentation says "shared_ptr Safety</link> section of the Boost shared_ptr documentation says "shared_ptr
objects offer the same level of thread safety as built-in types." objects offer the same level of thread safety as built-in types."
The implementation must ensure that concurrent updates to separate shared_ptr The implementation must ensure that concurrent updates to separate shared_ptr
instances are correct even when those instances share a reference count e.g. instances are correct even when those instances share a reference count e.g.
...@@ -224,8 +225,8 @@ Policy below for details. ...@@ -224,8 +225,8 @@ Policy below for details.
</section> </section>
<section> <section><info><title>Selecting Lock Policy</title></info>
<title>Selecting Lock Policy</title>
<para> <para>
</para> </para>
...@@ -254,8 +255,8 @@ available policies are: ...@@ -254,8 +255,8 @@ available policies are:
</para> </para>
<para> <para>
Selected when GCC supports a builtin atomic compare-and-swap operation 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 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</ulink>.) The reference counts are maintained using a lock-free Builtins</link>.) The reference counts are maintained using a lock-free
algorithm and GCC's atomic builtins, which provide the required memory algorithm and GCC's atomic builtins, which provide the required memory
synchronisation. synchronisation.
</para> </para>
...@@ -292,8 +293,8 @@ used when libstdc++ is built without <literal>--enable-threads</literal>. ...@@ -292,8 +293,8 @@ used when libstdc++ is built without <literal>--enable-threads</literal>.
</para> </para>
</section> </section>
<section> <section><info><title>Dual C++0x and TR1 Implementation</title></info>
<title>Dual C++0x and TR1 Implementation</title>
<para> <para>
The interface of <classname>tr1::shared_ptr</classname> was extended for C++0x The interface of <classname>tr1::shared_ptr</classname> was extended for C++0x
...@@ -319,8 +320,8 @@ the C++0x version. ...@@ -319,8 +320,8 @@ the C++0x version.
</para> </para>
</section> </section>
<section> <section><info><title>Related functions and classes</title></info>
<title>Related functions and classes</title>
<variablelist> <variablelist>
...@@ -412,11 +413,11 @@ the following types, depending on how the shared_ptr is constructed. ...@@ -412,11 +413,11 @@ the following types, depending on how the shared_ptr is constructed.
</listitem> </listitem>
--> -->
<section id="shared_ptr.using"> <section xml:id="shared_ptr.using"><info><title>Use</title></info>
<title>Use</title>
<section> <section><info><title>Examples</title></info>
<title>Examples</title>
<para> <para>
Examples of use can be found in the testsuite, under 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>,
...@@ -426,8 +427,8 @@ the following types, depending on how the shared_ptr is constructed. ...@@ -426,8 +427,8 @@ the following types, depending on how the shared_ptr is constructed.
</para> </para>
</section> </section>
<section> <section><info><title>Unresolved Issues</title></info>
<title>Unresolved Issues</title>
<para> <para>
The <emphasis><classname>shared_ptr</classname> atomic access</emphasis> The <emphasis><classname>shared_ptr</classname> atomic access</emphasis>
clause in the C++0x working draft is not implemented in GCC. clause in the C++0x working draft is not implemented in GCC.
...@@ -478,8 +479,8 @@ the following types, depending on how the shared_ptr is constructed. ...@@ -478,8 +479,8 @@ the following types, depending on how the shared_ptr is constructed.
</section> </section>
<section id="shared_ptr.ack"> <section xml:id="shared_ptr.ack"><info><title>Acknowledgments</title></info>
<title>Acknowledgments</title>
<para> <para>
The original authors of the Boost shared_ptr, which is really nice The original authors of the Boost shared_ptr, which is really nice
...@@ -490,56 +491,48 @@ the following types, depending on how the shared_ptr is constructed. ...@@ -490,56 +491,48 @@ the following types, depending on how the shared_ptr is constructed.
</section> </section>
<bibliography id="shared_ptr.biblio"> <bibliography xml:id="shared_ptr.biblio"><info><title>Bibliography</title></info>
<title>Bibliography</title>
<biblioentry> <biblioentry>
<biblioid class="uri"> <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">
<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> </biblioid>
<citetitle>
Improving shared_ptr for C++0x, Revision 2
</citetitle>
<subtitle> <subtitle>
N2351 N2351
</subtitle> </subtitle>
</biblioentry> </biblioentry>
<biblioentry> <biblioentry>
<biblioid class="uri"> <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">
<ulink url="http://open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2456.html">
<citetitle>
C++ Standard Library Active Issues List
</citetitle>
</ulink>
</biblioid> </biblioid>
<citetitle>
C++ Standard Library Active Issues List
</citetitle>
<subtitle> <subtitle>
N2456 N2456
</subtitle> </subtitle>
</biblioentry> </biblioentry>
<biblioentry> <biblioentry>
<biblioid class="uri"> <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">
<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> </biblioid>
<citetitle>
Working Draft, Standard for Programming Language C++
</citetitle>
<subtitle> <subtitle>
N2461 N2461
</subtitle> </subtitle>
</biblioentry> </biblioentry>
<biblioentry> <biblioentry>
<biblioid class="uri"> <biblioid xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://boost.org/libs/smart_ptr/shared_ptr.htm" class="uri">shared_ptr
<ulink url="http://boost.org/libs/smart_ptr/shared_ptr.htm">shared_ptr
<citetitle>
Boost C++ Libraries documentation, shared_ptr
</citetitle>
</ulink>
</biblioid> </biblioid>
<citetitle>
Boost C++ Libraries documentation, shared_ptr
</citetitle>
<subtitle> <subtitle>
N2461 N2461
</subtitle> </subtitle>
......
<?xml version='1.0'?> <book xmlns="http://docbook.org/ns/docbook" version="5.0" xml:id="manual-index">
<!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">
<?dbhtml dir="manual"?> <?dbhtml dir="manual"?>
<?dbhtml filename="spine.html"?> <?dbhtml filename="spine.html"?>
<title>The GNU C++ Library</title>
<bookinfo>
<info>
<copyright> <copyright>
<year>2009</year> <year>2009</year>
<year>2010</year> <year>2010</year>
<holder> <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> </holder>
</copyright> </copyright>
<legalnotice> <legalnotice>
...@@ -21,117 +16,98 @@ ...@@ -21,117 +16,98 @@
<link linkend="manual.intro.status.license">License</link> <link linkend="manual.intro.status.license">License</link>
</para> </para>
</legalnotice> </legalnotice>
</bookinfo> </info>
<!-- Part 01 : Intro --> <!-- Part 01 : Intro -->
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="intro.xml">
parse="xml" href="intro.xml">
</xi:include> </xi:include>
<!-- Part 02 : Standard Contents --> <!-- Part 02 : Standard Contents -->
<part id="manual.std" xreflabel="Standard Contents"> <part xml:id="manual.std" xreflabel="Standard Contents"><info><title>
<title>
Standard Contents Standard Contents
</title> </title></info>
<!-- Chapter 01 : Support --> <!-- Chapter 01 : Support -->
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="support.xml">
parse="xml" href="support.xml">
</xi:include> </xi:include>
<!-- Chapter 02 : Diagnostics --> <!-- Chapter 02 : Diagnostics -->
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="diagnostics.xml">
parse="xml" href="diagnostics.xml">
</xi:include> </xi:include>
<!-- Chapter 03 : Utilities --> <!-- Chapter 03 : Utilities -->
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="utilities.xml">
parse="xml" href="utilities.xml">
</xi:include> </xi:include>
<!-- Chapter 04 : Strings --> <!-- Chapter 04 : Strings -->
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="strings.xml">
parse="xml" href="strings.xml">
</xi:include> </xi:include>
<!-- Chapter 05 : Localization --> <!-- Chapter 05 : Localization -->
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="localization.xml">
parse="xml" href="localization.xml">
</xi:include> </xi:include>
<!-- Chapter 06 : Containers --> <!-- Chapter 06 : Containers -->
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="containers.xml">
parse="xml" href="containers.xml">
</xi:include> </xi:include>
<!-- Chapter 07 : Iterators --> <!-- Chapter 07 : Iterators -->
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="iterators.xml">
parse="xml" href="iterators.xml">
</xi:include> </xi:include>
<!-- Chapter 08 : Algorithms --> <!-- Chapter 08 : Algorithms -->
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="algorithms.xml">
parse="xml" href="algorithms.xml">
</xi:include> </xi:include>
<!-- Chapter 09 : Numerics --> <!-- Chapter 09 : Numerics -->
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="numerics.xml">
parse="xml" href="numerics.xml">
</xi:include> </xi:include>
<!-- Chapter 10 : Input Output --> <!-- Chapter 10 : Input Output -->
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="io.xml">
parse="xml" href="io.xml">
</xi:include> </xi:include>
<!-- Chapter 11 : Atomics --> <!-- Chapter 11 : Atomics -->
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="atomics.xml">
parse="xml" href="atomics.xml">
</xi:include> </xi:include>
<!-- Chapter 12 : Concurrency --> <!-- Chapter 12 : Concurrency -->
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="concurrency.xml">
parse="xml" href="concurrency.xml">
</xi:include> </xi:include>
</part> </part>
<!-- Part 03 : Extensions --> <!-- Part 03 : Extensions -->
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="extensions.xml">
parse="xml" href="extensions.xml">
</xi:include> </xi:include>
<!-- Part 04 : Appendices --> <!-- Part 04 : Appendices -->
<part id="appendix" xreflabel="Appendices"> <part xml:id="appendix" xreflabel="Appendices"><info><title>
<title>
Appendices Appendices
</title> </title></info>
<!-- Appendix A --> <!-- Appendix A -->
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="appendix_contributing.xml">
parse="xml" href="appendix_contributing.xml">
</xi:include> </xi:include>
<!-- Appendix B --> <!-- Appendix B -->
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="appendix_porting.xml">
parse="xml" href="appendix_porting.xml">
</xi:include> </xi:include>
<!-- Appendix C --> <!-- Appendix C -->
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="appendix_free.xml">
parse="xml" href="appendix_free.xml">
</xi:include> </xi:include>
<!-- Appendix D --> <!-- Appendix D -->
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="../gnu/gpl-3.0.xml">
parse="xml" href="../gnu/gpl-3.0.xml">
</xi:include> </xi:include>
<!-- Appendix E --> <!-- Appendix E -->
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="../gnu/fdl-1.3.xml">
parse="xml" href="../gnu/fdl-1.3.xml">
</xi:include> </xi:include>
</part> </part>
......
<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"?> <?dbhtml filename="status_iso_cxxtr24733.html"?>
<sect2info> <info><title>C++ TR 24733</title>
<keywordset> <keywordset>
<keyword> <keyword>
TR 24733 TR 24733
</keyword> </keyword>
</keywordset> </keywordset>
</sect2info> </info>
<title>C++ TR 24733</title>
<para> <para>
This table is based on the table of contents of This table is based on the table of contents of
...@@ -32,13 +31,14 @@ particular release. ...@@ -32,13 +31,14 @@ particular release.
Broken/Partial Broken/Partial
<?dbhtml bgcolor="#B0B0B0" ?> <?dbhtml bgcolor="#B0B0B0" ?>
--> -->
<table frame='all'> <table frame="all">
<title>C++ TR 24733 Implementation Status</title> <title>C++ TR 24733 Implementation Status</title>
<tgroup cols='4' align='left' colsep='0' rowsep='1'>
<colspec colname='c1'></colspec> <tgroup cols="4" align="left" colsep="0" rowsep="1">
<colspec colname='c2'></colspec> <colspec colname="c1"/>
<colspec colname='c3'></colspec> <colspec colname="c2"/>
<colspec colname='c4'></colspec> <colspec colname="c3"/>
<colspec colname="c4"/>
<thead> <thead>
<row> <row>
<entry>Section</entry> <entry>Section</entry>
...@@ -88,14 +88,14 @@ particular release. ...@@ -88,14 +88,14 @@ particular release.
<row> <row>
<entry>3.1</entry> <entry>3.1</entry>
<entry>Characteristics of decimal floating-point types</entry> <entry>Characteristics of decimal floating-point types</entry>
<entry></entry> <entry/>
<entry></entry> <entry/>
</row> </row>
<row> <row>
<entry>3.2</entry> <entry>3.2</entry>
<entry>Decimal Types</entry> <entry>Decimal Types</entry>
<entry></entry> <entry/>
<entry></entry> <entry/>
</row> </row>
<row> <row>
<?dbhtml bgcolor="#B0B0B0" ?> <?dbhtml bgcolor="#B0B0B0" ?>
...@@ -129,157 +129,157 @@ particular release. ...@@ -129,157 +129,157 @@ particular release.
<entry>3.2.5</entry> <entry>3.2.5</entry>
<entry>Initialization from coefficient and exponent</entry> <entry>Initialization from coefficient and exponent</entry>
<entry>Y</entry> <entry>Y</entry>
<entry></entry> <entry/>
</row> </row>
<row> <row>
<entry>3.2.6</entry> <entry>3.2.6</entry>
<entry>Conversion to generic floating-point type</entry> <entry>Conversion to generic floating-point type</entry>
<entry>Y</entry> <entry>Y</entry>
<entry></entry> <entry/>
</row> </row>
<row> <row>
<entry>3.2.7</entry> <entry>3.2.7</entry>
<entry>Unary arithmetic operators</entry> <entry>Unary arithmetic operators</entry>
<entry>Y</entry> <entry>Y</entry>
<entry></entry> <entry/>
</row> </row>
<row> <row>
<entry>3.2.8</entry> <entry>3.2.8</entry>
<entry>Binary arithmetic operators</entry> <entry>Binary arithmetic operators</entry>
<entry>Y</entry> <entry>Y</entry>
<entry></entry> <entry/>
</row> </row>
<row> <row>
<entry>3.2.9</entry> <entry>3.2.9</entry>
<entry>Comparison operators</entry> <entry>Comparison operators</entry>
<entry>Y</entry> <entry>Y</entry>
<entry></entry> <entry/>
</row> </row>
<row> <row>
<?dbhtml bgcolor="#C8B0B0" ?> <?dbhtml bgcolor="#C8B0B0" ?>
<entry>3.2.10</entry> <entry>3.2.10</entry>
<entry>Formatted input</entry> <entry>Formatted input</entry>
<entry>N</entry> <entry>N</entry>
<entry></entry> <entry/>
</row> </row>
<row> <row>
<?dbhtml bgcolor="#C8B0B0" ?> <?dbhtml bgcolor="#C8B0B0" ?>
<entry>3.2.11</entry> <entry>3.2.11</entry>
<entry>Formatted output</entry> <entry>Formatted output</entry>
<entry>N</entry> <entry>N</entry>
<entry></entry> <entry/>
</row> </row>
<row> <row>
<?dbhtml bgcolor="#C8B0B0" ?> <?dbhtml bgcolor="#C8B0B0" ?>
<entry>3.3</entry> <entry>3.3</entry>
<entry>Additions to header <code>limits</code></entry> <entry>Additions to header <code>limits</code></entry>
<entry>N</entry> <entry>N</entry>
<entry></entry> <entry/>
</row> </row>
<row> <row>
<entry>3.4</entry> <entry>3.4</entry>
<entry>Headers <code>cfloat</code> and <code>float.h</code></entry> <entry>Headers <code>cfloat</code> and <code>float.h</code></entry>
<entry></entry> <entry/>
<entry></entry> <entry/>
</row> </row>
<row> <row>
<entry>3.4.2</entry> <entry>3.4.2</entry>
<entry>Additions to header <code>cfloat</code> synopsis</entry> <entry>Additions to header <code>cfloat</code> synopsis</entry>
<entry>Y</entry> <entry>Y</entry>
<entry></entry> <entry/>
</row> </row>
<row> <row>
<?dbhtml bgcolor="#B0B0B0" ?> <?dbhtml bgcolor="#B0B0B0" ?>
<entry>3.4.3</entry> <entry>3.4.3</entry>
<entry>Additions to header <code>float.h</code> synopsis</entry> <entry>Additions to header <code>float.h</code> synopsis</entry>
<entry>N</entry> <entry>N</entry>
<entry></entry> <entry/>
</row> </row>
<row> <row>
<entry>3.4.4</entry> <entry>3.4.4</entry>
<entry>Maximum finite value</entry> <entry>Maximum finite value</entry>
<entry>Y</entry> <entry>Y</entry>
<entry></entry> <entry/>
</row> </row>
<row> <row>
<entry>3.4.5</entry> <entry>3.4.5</entry>
<entry>Epsilon</entry> <entry>Epsilon</entry>
<entry>Y</entry> <entry>Y</entry>
<entry></entry> <entry/>
</row> </row>
<row> <row>
<entry>3.4.6</entry> <entry>3.4.6</entry>
<entry>Minimum positive normal value</entry> <entry>Minimum positive normal value</entry>
<entry>Y</entry> <entry>Y</entry>
<entry></entry> <entry/>
</row> </row>
<row> <row>
<entry>3.4.7</entry> <entry>3.4.7</entry>
<entry>Minimum positive subnormal value</entry> <entry>Minimum positive subnormal value</entry>
<entry>Y</entry> <entry>Y</entry>
<entry></entry> <entry/>
</row> </row>
<row> <row>
<entry>3.4.8</entry> <entry>3.4.8</entry>
<entry>Evaluation format</entry> <entry>Evaluation format</entry>
<entry>Y</entry> <entry>Y</entry>
<entry></entry> <entry/>
</row> </row>
<row> <row>
<?dbhtml bgcolor="#C8B0B0" ?> <?dbhtml bgcolor="#C8B0B0" ?>
<entry>3.5</entry> <entry>3.5</entry>
<entry>Additions to <code>cfenv</code> and <code>fenv.h</code></entry> <entry>Additions to <code>cfenv</code> and <code>fenv.h</code></entry>
<entry>Outside the scope of GCC</entry> <entry>Outside the scope of GCC</entry>
<entry></entry> <entry/>
</row> </row>
<row> <row>
<?dbhtml bgcolor="#C8B0B0" ?> <?dbhtml bgcolor="#C8B0B0" ?>
<entry>3.6</entry> <entry>3.6</entry>
<entry>Additions to <code>cmath</code> and <code>math.h</code></entry> <entry>Additions to <code>cmath</code> and <code>math.h</code></entry>
<entry>Outside the scope of GCC</entry> <entry>Outside the scope of GCC</entry>
<entry></entry> <entry/>
</row> </row>
<row> <row>
<?dbhtml bgcolor="#C8B0B0" ?> <?dbhtml bgcolor="#C8B0B0" ?>
<entry>3.7</entry> <entry>3.7</entry>
<entry>Additions to <code>cstdio</code> and <code>stdio.h</code></entry> <entry>Additions to <code>cstdio</code> and <code>stdio.h</code></entry>
<entry>Outside the scope of GCC</entry> <entry>Outside the scope of GCC</entry>
<entry></entry> <entry/>
</row> </row>
<row> <row>
<?dbhtml bgcolor="#C8B0B0" ?> <?dbhtml bgcolor="#C8B0B0" ?>
<entry>3.8</entry> <entry>3.8</entry>
<entry>Additions to <code>cstdlib</code> and <code>stdlib.h</code></entry> <entry>Additions to <code>cstdlib</code> and <code>stdlib.h</code></entry>
<entry>Outside the scope of GCC</entry> <entry>Outside the scope of GCC</entry>
<entry></entry> <entry/>
</row> </row>
<row> <row>
<?dbhtml bgcolor="#C8B0B0" ?> <?dbhtml bgcolor="#C8B0B0" ?>
<entry>3.9</entry> <entry>3.9</entry>
<entry>Additions to <code>cwchar</code> and <code>wchar.h</code></entry> <entry>Additions to <code>cwchar</code> and <code>wchar.h</code></entry>
<entry>Outside the scope of GCC</entry> <entry>Outside the scope of GCC</entry>
<entry></entry> <entry/>
</row> </row>
<row> <row>
<?dbhtml bgcolor="#C8B0B0" ?> <?dbhtml bgcolor="#C8B0B0" ?>
<entry>3.10</entry> <entry>3.10</entry>
<entry>Facets</entry> <entry>Facets</entry>
<entry>N</entry> <entry>N</entry>
<entry></entry> <entry/>
</row> </row>
<row> <row>
<?dbhtml bgcolor="#C8B0B0" ?> <?dbhtml bgcolor="#C8B0B0" ?>
<entry>3.11</entry> <entry>3.11</entry>
<entry>Type traits</entry> <entry>Type traits</entry>
<entry>N</entry> <entry>N</entry>
<entry></entry> <entry/>
</row> </row>
<row> <row>
<?dbhtml bgcolor="#C8B0B0" ?> <?dbhtml bgcolor="#C8B0B0" ?>
<entry>3.12</entry> <entry>3.12</entry>
<entry>Hash functions</entry> <entry>Hash functions</entry>
<entry>N</entry> <entry>N</entry>
<entry></entry> <entry/>
</row> </row>
<row> <row>
...@@ -296,4 +296,4 @@ particular release. ...@@ -296,4 +296,4 @@ particular release.
</table> </table>
</sect2> </section>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment