Patchwork [v3] docbook vs. texlive > 2007

login
register
mail settings
Submitter Benjamin Kosnik
Date Dec. 11, 2012, 2:14 a.m.
Message ID <20121210181440.5eec0110@oakwood>
Download mbox | patch
Permalink /patch/205114/
State New
Headers show

Comments

Benjamin Kosnik - Dec. 11, 2012, 2:14 a.m.
The recent change in Fedora's documentation stack, from texlive-2007 to
texlive-2013 caused some havoc in the libstdc++ "make pdf" rules.

This patch fixes the previously unknown issues so that the pdf docs for
libstdc++ can be built on texlive-2007 and texlive-2013.

The root cause of such error is the policy_based_data_structures xml
markup using <filename>, apparently the trailing whitespaces and or
embedded tabs in the previous markup generated incorrect LaTeX. This is
also present in a couple other files.

Since I've now debugged latex whitespace problems in both docbook and
doxygen toolchains, I wrote up a little cheat sheet for whomever does
this next, in the hopes that this saves some sanity. I added this to
doc hacking, and added some makefile rules to aid debugging.

As part of this, I left in a new validation rule,

doc-xml-validate-rng-db

Which is the first step away from the usual DTD and to Relax NG schemas.

I'm putting this patch on the 4.7 branch as well, since that has the
same markup issues. 

It's unlikely that libstdc++ PDF docs since 4.6 have been buildable on
ubuntu greater than lucid (definitely greater than quantal) due to this
issue. Sadly. 

tested x86/linuxes

-benjamin

Patch


2012-12-10  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/Makefile.am (xml_sources_manual): Add
	policy_data_structures_biblio.xml.
	(${docbook_outdir}/latex): Add.
	(doc-xml-validate-docbook): Split into..
	(doc-xml-validate-dtd-db):... this for DTD.
	(doc-xml-validate-rng-db):... this for Relax NG.
	(doc-pdf-docbook-dirs): Add.
	(doc-pdf-docbook-pre): Add.
	* doc/xml/manual/build_hacking.xml: Add literal markup.
	* doc/xml/manual/documentation_hacking.xml: Clean whitespace in
	<filename> markup. Add notes about debugging the generation process.
	* doc/xml/manual/policy_data_structures.xml: Split biblio into...
	* doc/xml/manual/policy_data_structures_biblio.xml: ... this. New.
	* doc/xml/manual/test_policy_data_structures.xml: Fixup <filename>
	markup.

diff --git a/libstdc++-v3/doc/Makefile.am b/libstdc++-v3/doc/Makefile.am
index 5d807dc..a2ce87e 100644
--- a/libstdc++-v3/doc/Makefile.am
+++ b/libstdc++-v3/doc/Makefile.am
@@ -332,6 +332,7 @@  xml_sources_manual = \
 	${xml_dir}/manual/numerics.xml \
 	${xml_dir}/manual/parallel_mode.xml \
 	${xml_dir}/manual/policy_data_structures.xml \
+	${xml_dir}/manual/policy_data_structures_biblio.xml \
 	${xml_dir}/manual/prerequisites.xml \
 	${xml_dir}/manual/profile_mode.xml \
 	${xml_dir}/manual/shared_ptr.xml \
@@ -486,22 +487,15 @@  ${docbook_outdir}/html:
 ${docbook_outdir}/pdf:
 	mkdir -p ${docbook_outdir}/pdf
 
+${docbook_outdir}/latex:
+	mkdir -p ${docbook_outdir}/latex
+
 ${docbook_outdir}/texinfo:
 	mkdir -p ${docbook_outdir}/texinfo
 
 ${docbook_outdir}/xml:
 	mkdir -p ${docbook_outdir}/xml
 
-# Validate existing XML structure.
-XMLLINT = xmllint
-LINT_FLAGS = --debug --xinclude --noent --noblanks --noout
-SCHEMA_FLAGS = http://www.docbook.org/xml/5.0/dtd/docbook.dtd
-#SCHEMA_FLAGS = --nonet /usr/share/xml/docbook5/schema/dtd/5.0/docbook.dtd
-XMLLINT_VALID_FLAGS = $(LINT_FLAGS) --dtdvalid $(SCHEMA_FLAGS)
-XMLLINT_FLAGS = --xinclude --nsclean --c14n --noent --noblanks --nocdata
-doc-xml-validate-docbook: $(xml_sources) $(xml_images)
-	@echo "Generating XML validation log..."
-	$(XMLLINT) $(XMLLINT_VALID_FLAGS) ${top_srcdir}/doc/xml/spine.xml
 
 # XML, all one page
 # Some info on canonicalization
@@ -518,6 +512,24 @@  stamp-xml-single-docbook: $(xml_sources) ${docbook_outdir}/xml
 
 doc-xml-single-docbook: stamp-xml-single-docbook
 
+# Validate existing XML structure.
+XMLLINT = xmllint
+LINT_FLAGS = --debug --xinclude --noent --noblanks --noout
+SCHEMA_FLAGS = --dtdvalid http://www.docbook.org/xml/5.0/dtd/docbook.dtd
+SCHEMA_RNG_FLAGS = --relaxng http://www.docbook.org/xml/5.0/rng/docbook.rng
+#SCHEMA_FLAGS = --nonet --dtdvalid /usr/share/xxx/dtd/5.0/docbook.dtd
+XMLLINT_VALID_FLAGS = $(LINT_FLAGS) $(SCHEMA_FLAGS)
+XMLLINT_FLAGS = --xinclude --nsclean --c14n --noent --noblanks --nocdata
+doc-xml-validate-docbook: doc-xml-validate-dtd-db
+
+doc-xml-validate-dtd-db: $(xml_sources) $(xml_images)
+	@echo "Generating XML validation log..."
+	$(XMLLINT) $(XMLLINT_VALID_FLAGS) ${top_srcdir}/doc/xml/spine.xml
+
+doc-xml-validate-rng-db: $(xml_sources) $(xml_images) doc-xml-single-docbook
+	@echo "Generating XML RelaxNG validation log..."
+	$(XMLLINT) $(LINT_FLAGS) $(SCHEMA_RNG_FLAGS) ${set_xml}
+
 # HTML support files
 stamp-html-docbook-images: stamp-html-docbook $(xml_images)
 	$(INSTALL_DATA)	$(xml_images) ${docbook_outdir}/html/images
@@ -564,11 +576,16 @@  doc-fo-docbook: stamp-fo-docbook
 
 # PDF, via dblatex
 manual_pdf = ${docbook_outdir}/pdf/libstdc++-manual.pdf
-DBLATEX_FLAGS = --dump --verbose --pdf
-stamp-pdf-docbook: $(xml_sources) ${docbook_outdir}/pdf
+DBLATEX_FLAGS = --verbose --pdf --dump --debug --tmpdir=${docbook_outdir}/latex
+
+doc-pdf-docbook-dirs: ${docbook_outdir}/pdf ${docbook_outdir}/latex
+
+doc-pdf-docbook-pre: $(xml_sources) doc-pdf-docbook-dirs
+
+stamp-pdf-docbook: doc-pdf-docbook-pre doc-xml-single-docbook
 	@echo "Generating pdf dblatex files..."
-	dblatex $(DBLATEX_FLAGS) \
-	-o ${manual_pdf} ${top_srcdir}/doc/xml/spine.xml
+	dblatex $(DBLATEX_FLAGS) -o ${manual_pdf} \
+	${top_srcdir}/doc/xml/spine.xml
 	$(STAMP) stamp-pdf-docbook
 
 doc-pdf-docbook: stamp-pdf-docbook
diff --git a/libstdc++-v3/doc/xml/manual/build_hacking.xml b/libstdc++-v3/doc/xml/manual/build_hacking.xml
index a51cf7b..917b4d2 100644
--- a/libstdc++-v3/doc/xml/manual/build_hacking.xml
+++ b/libstdc++-v3/doc/xml/manual/build_hacking.xml
@@ -256,15 +256,15 @@  in the build directory starts the build process. The <literal>all</literal> targ
 
 
   <para>
-    All the GLIBCXX_ENABLE_FOO macros use a common helper,
-    GLIBCXX_ENABLE.  (You don't have to use it, but it's easy.)  The
-    helper does two things for us:
+    All the <literal>GLIBCXX_ENABLE_FOO</literal> macros use a common
+    helper, <literal>GLIBCXX_ENABLE</literal>.  (You don't have to use
+    it, but it's easy.)  The helper does two things for us:
   </para>
 
 <orderedlist>
  <listitem>
    <para>
-     Builds the call to the AC_ARG_ENABLE macro, with --help text
+     Builds the call to the <literal>AC_ARG_ENABLE</literal> macro, with --help text
      properly quoted and aligned.  (Death to changequote!)
    </para>
  </listitem>
@@ -272,7 +272,7 @@  in the build directory starts the build process. The <literal>all</literal> targ
    <para>
      Checks the result against a list of allowed possibilities, and
      signals a fatal error if there's no match.  This means that the
-     rest of the GLIBCXX_ENABLE_FOO macro doesn't need to test for
+     rest of the <literal>GLIBCXX_ENABLE_FOO</literal> macro doesn't need to test for
      strange arguments, nor do we need to protect against
      empty/whitespace strings with the <code>"x$foo" = "xbar"</code>
      idiom.
@@ -319,13 +319,13 @@  in the build directory starts the build process. The <literal>all</literal> targ
      not pass --enable/--disable.  It should be one of the permitted
      values passed later.  Examples: <code>[yes]</code>, or
      <code>[bar]</code>, or <code>[$1]</code> (which passes the
-     argument given to the GLIBCXX_ENABLE_FOO macro as the
-     default).
+     argument given to the <literal>GLIBCXX_ENABLE_FOO</literal> macro
+     as the default).
    </para>
    <para>
      For cases where we need to probe for particular models of things,
      it is useful to have an undocumented "auto" value here (see
-     GLIBCXX_ENABLE_CLOCALE for an example).
+     <literal>GLIBCXX_ENABLE_CLOCALE</literal> for an example).
    </para>
  </listitem>
  <listitem>
diff --git a/libstdc++-v3/doc/xml/manual/documentation_hacking.xml b/libstdc++-v3/doc/xml/manual/documentation_hacking.xml
index e74f2b7..91d16dd 100644
--- a/libstdc++-v3/doc/xml/manual/documentation_hacking.xml
+++ b/libstdc++-v3/doc/xml/manual/documentation_hacking.xml
@@ -102,14 +102,10 @@ 
 	    in the following directories:
 	  </para>
 	  <para>
-	    <filename class="directory">
-	      doc/libstdc++/libstdc++-api.html
-	    </filename>
+	    <filename>doc/libstdc++/libstdc++-api.html</filename>
 	  </para>
 	  <para>
-	    <filename class="directory">
-	      doc/libstdc++/libstdc++-manual.html
-	    </filename>
+	    <filename>doc/libstdc++/libstdc++-manual.html</filename>
 	  </para>
 	</listitem>
       </varlistentry>
@@ -346,6 +342,64 @@ 
 
     </section>
 
+ <section xml:id="doxygen.debug">
+   <info><title>Debugging Generation</title></info>
+   
+	<para>
+	  Sometimes, mis-configuration of the pre-requisite tools can
+	  lead to errors when attempting to build the
+	  documentation. Here are some of the obvious errors, and ways
+	  to fix some common issues that may appear quite cryptic.
+	</para>
+	
+	<para>
+	  First, if using a rule like <code>make pdf</code>, try to
+	  narrow down the scope of the error to either docbook
+	  (<code>make doc-pdf-docbook</code>) or doxygen (<code>make
+	  doc-pdf-doxygen</code>).
+	</para>
+	<para>
+	  Working on the doxygen path only, closely examine the
+	  contents of the following build directory:
+	  <filename>build/target/libstdc++-v3/doc/doxygen/latex</filename>.
+	  Pay attention to three files enclosed within, annotated as follows.
+	</para>
+<itemizedlist>
+
+<listitem>
+  <para>
+   <emphasis>refman.tex</emphasis>
+  </para>
+
+  <para>
+    The actual latex file, or partial latex file. This is generated
+    via <command>doxygen</command>, and is the LaTeX version of the
+    Doxygen XML file <filename>libstdc++-api.xml</filename>. Go to a specific
+    line, and look at the genrated LaTeX, and try to deduce what
+    markup in <filename>libstdc++-api.xml</filename> is causing it.
+  </para>
+</listitem>
+
+<listitem>
+  <para>
+   <emphasis>refman.out</emphasis>
+  <para>
+    A log of the compilation of the converted LaTeX form to pdf. This
+    is a linear list, from the beginning of the
+    <filename>refman.tex</filename> file: the last entry of this file
+    should be the end of the LaTeX file. If it is truncated, then you
+    know that the last entry is the last part of the generated LaTeX
+    source file that is valid. Often this file contains an error with
+    a specific line number of <filename>refman.tex</filename> that is
+    incorrect, or will have clues at the end of the file with the dump
+    of the memory usage of LaTeX.
+  </para>
+  </para>
+</listitem>
+</itemizedlist>
+
+ </section>
+
     <section xml:id="doxygen.markup"><info><title>Markup</title></info>
       
 
@@ -742,6 +796,95 @@  make <literal>XSL_STYLE_DIR="/usr/share/xml/docbook/stylesheet/nwalsh"</literal>
 
       </section>
 
+    <section xml:id="docbook.debug">
+	<info><title>Debugging Generation</title></info>
+
+	<para>
+	  Sometimes, mis-configuration of the pre-requisite tools can
+	  lead to errors when attempting to build the
+	  documentation. Here are some of the obvious errors, and ways
+	  to fix some common issues that may appear quite cryptic.
+	</para>
+	
+	<para>
+	  First, if using a rule like <code>make pdf</code>, try to
+	  narrow down the scope of the error to either docbook
+	  (<code>make doc-pdf-docbook</code>) or doxygen (<code>make
+	  doc-pdf-doxygen</code>).
+	</para>
+
+	<para>
+	  Working on the docbook path only, closely examine the
+	  contents of the following build directory:
+	  <filename>build/target/libstdc++-v3/doc/docbook/latex</filename>.
+	  Pay attention to three files enclosed within, annotated as follows.
+	</para>
+
+<itemizedlist>
+
+<listitem>
+  <para>
+   <emphasis>spine.tex</emphasis>
+  </para>
+
+  <para>
+    The actual latex file, or partial latex file. This is generated
+    via <command>dblatex</command>, and is the LaTeX version of the
+    DocBook XML file <filename>spine.xml</filename>. Go to a specific
+    line, and look at the genrated LaTeX, and try to deduce what
+    markup in <filename>spine.xml</filename> is causing it.
+  </para>
+</listitem>
+
+<listitem>
+  <para>
+   <emphasis>spine.out</emphasis>
+  </para>
+
+  <para>
+    A log of the conversion from the XML form to the LaTeX form. This
+    is a linear list, from the beginning of the
+    <filename>spine.xml</filename> file: the last entry of this file
+    should be the end of the DocBook file. If it is truncated, then
+    you know that the last entry is the last part of the XML source
+    file that is valid. The error is after this point.
+  </para>
+</listitem>
+
+
+<listitem>
+  <para>
+   <emphasis>spine.log</emphasis>
+  </para>
+
+  <para>
+    A log of the compilation of the converted LaTeX form to pdf. This
+    is a linear list, from the beginning of the
+    <filename>spine.tex</filename> file: the last entry of this file
+    should be the end of the LaTeX file. If it is truncated, then you
+    know that the last entry is the last part of the generated LaTeX
+    source file that is valid. Often this file contains an error with
+    a specific line number of <filename>spine.tex</filename> that is
+    incorrect.
+  </para>
+</listitem>
+
+</itemizedlist>
+
+	<para>
+	  If the issue is not obvious after examination, or if one
+	  encounters the inscruitable <quote>Incomplete
+	  \ifmmode</quote> error, a fall-back strategy is to start
+	  commenting out parts of the XML document (regardless of what
+	  this does to over-all document validity). Start by
+	  commenting out each of the largest parts of the
+	  <filename>spine.xml</filename> file, section by section,
+	  until the offending section is identified.
+	</para>
+
+
+    </section>
+
     <section xml:id="docbook.validation"><info><title>Editing and Validation</title></info>
 
       <para>
diff --git a/libstdc++-v3/doc/xml/manual/policy_data_structures.xml b/libstdc++-v3/doc/xml/manual/policy_data_structures.xml
index a0699b4..9e6bb59 100644
--- a/libstdc++-v3/doc/xml/manual/policy_data_structures.xml
+++ b/libstdc++-v3/doc/xml/manual/policy_data_structures.xml
@@ -4976,7 +4976,7 @@ 
 	    <mediaobject>
 	      <imageobject>
 		<imagedata align="center" format="PNG" scale="100"
-			   fileref="../images/pbds_priority_queue_tag_hierarchy.png"/>
+                 fileref="../images/pbds_priority_queue_tag_hierarchy.png"/>
 	      </imageobject>
 	      <textobject>
 		<phrase>Priority-Queue Data-Structure Tags.</phrase>
@@ -5053,7 +5053,6 @@ 
   <!-- S05: Reference/Acknowledgments -->
   <section xml:id="pbds.ack">
     <info><title>Acknowledgments</title></info>
-    <?dbhtml filename="policy_data_structures_biblio.html"?>
 
     <para>
       Written by Ami Tavory and Vladimir Dreizin (IBM Haifa Research
@@ -5104,1460 +5103,8 @@ 
   </section>
 
   <!-- S06: Biblio -->
-  <bibliography xml:id="pbds.biblio">
-    <info>
-      <title>
-	Bibliography
-      </title>
-    </info>
-    <?dbhtml filename="policy_data_structures_biblio.html"?>
-
-    <!-- 01 -->
-    <biblioentry xml:id="biblio.abrahams97exception">
-      <title>
-	<link xmlns:xlink="http://www.w3.org/1999/xlink"
-	      xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/1997/N1075.pdf">
-	  STL Exception Handling Contract
-	</link>
-      </title>
-      <date>1997</date>
-
-      <author>
-	<personname>
-	  <firstname>
-	    Dave
-	  </firstname>
-	  <surname>
-	    Abrahams
-	  </surname>
-	</personname>
-      </author>
-
-      <publisher>
-	<publishername>
-	  ISO SC22/WG21
-	</publishername>
-      </publisher>
-    </biblioentry>
-
-
-    <!-- 02 -->
-    <biblioentry xml:id="biblio.alexandrescu01modern">
-      <title>
-	Modern C++ Design: Generic Programming and Design Patterns Applied
-      </title>
-      <date>
-	2001
-      </date>
-
-      <author>
-	<personname>
-	  <firstname>
-	    Andrei
-	  </firstname>
-	  <surname>
-	    Alexandrescu
-	  </surname>
-	</personname>
-      </author>
-
-      <publisher>
-	<publishername>
-	  Addison-Wesley Publishing Company
-	</publishername>
-      </publisher>
-    </biblioentry>
-
-
-    <!-- 03 -->
-    <biblioentry xml:id="biblio.andrew04mtf">
-      <title>
-	MTF, Bit, and COMB: A Guide to Deterministic and Randomized
-	Algorithms for the List Update Problem
-      </title>
-
-      <authorgroup>
-	<author>
-	  <personname>
-	    <firstname>
-	      K.
-	    </firstname>
-	    <surname>
-	      Andrew
-	    </surname>
-	  </personname>
-	</author>
-
-	<author>
-	  <personname>
-	    <firstname>
-	      D.
-	    </firstname>
-	    <surname>
-	      Gleich
-	    </surname>
-	  </personname>
-	</author>
-      </authorgroup>
-    </biblioentry>
-
-    <!-- 04 -->
-    <biblioentry xml:id="biblio.austern00noset">
-      <title>
-	Why You Shouldn't Use set - and What You Should Use Instead
-      </title>
-      <date>
-	April, 2000
-      </date>
-
-      <author>
-	<personname>
-	  <firstname>
-	    Matthew
-	  </firstname>
-	  <surname>
-	    Austern
-	  </surname>
-	</personname>
-      </author>
-
-      <publisher>
-	<publishername>
-	  C++ Report
-	</publishername>
-      </publisher>
-    </biblioentry>
-
-    <!-- 05 -->
-    <biblioentry xml:id="biblio.austern01htprop">
-      <title>
-	<link xmlns:xlink="http://www.w3.org/1999/xlink"
-	      xlink:href="http://www.open-std.org/JTC1/sc22/wg21/docs/papers/2001/n1326.html">
-	  A Proposal to Add Hashtables to the Standard Library
-	</link>
-      </title>
-      <date>
-	2001
-      </date>
-
-      <author>
-	<personname>
-	  <firstname>
-	    Matthew
-	  </firstname>
-	  <surname>
-	    Austern
-	  </surname>
-	</personname>
-      </author>
-
-      <publisher>
-	<publishername>
-	  ISO SC22/WG21
-	</publishername>
-      </publisher>
-    </biblioentry>
-
-    <!-- 06 -->
-    <biblioentry xml:id="biblio.austern98segmentedit">
-      <title>
-	Segmented iterators and hierarchical algorithms
-      </title>
-      <date>
-	April, 1998
-      </date>
-
-      <author>
-	<personname>
-	  <firstname>
-	    Matthew
-	  </firstname>
-	  <surname>
-	    Austern
-	  </surname>
-	</personname>
-      </author>
-
-      <publisher>
-	<publishername>
-	  Generic Programming
-	</publishername>
-      </publisher>
-    </biblioentry>
-
-    <!-- 07 -->
-    <biblioentry xml:id="biblio.dawestimer">
-      <title>
-	<link xmlns:xlink="http://www.w3.org/1999/xlink"
-	      xlink:href="www.boost.org/doc/libs/release/libs/timer/">
-	  Boost Timer Library
-	</link>
-      </title>
-
-      <author>
-	<personname>
-	  <firstname>
-	    Beeman
-	  </firstname>
-	  <surname>
-	    Dawes
-	  </surname>
-	</personname>
-      </author>
-
-      <publisher>
-	<publishername>
-	  Boost
-	</publishername>
-      </publisher>
-    </biblioentry>
-
-    <!-- 08 -->
-    <biblioentry xml:id="biblio.clearypool">
-      <title>
-	<link xmlns:xlink="http://www.w3.org/1999/xlink"
-	      xlink:href="www.boost.org/doc/libs/release/libs/pool/">
-	  Boost Pool Library
-	</link>
-      </title>
-
-      <author>
-	<personname>
-	  <firstname>
-	    Stephen
-	  </firstname>
-	  <surname>
-	    Cleary
-	  </surname>
-	</personname>
-      </author>
-
-      <publisher>
-	<publishername>
-	  Boost
-	</publishername>
-      </publisher>
-    </biblioentry>
-
-
-    <!-- 09 -->
-    <biblioentry xml:id="biblio.maddocktraits">
-      <title>
-	<link xmlns:xlink="http://www.w3.org/1999/xlink"
-	      xlink:href="www.boost.org/doc/libs/release/libs/type_traits/">
-	  Boost Type Traits Library
-	</link>
-      </title>
-      <authorgroup>
-	<author>
-	  <personname>
-	    <firstname>
-	      Maddock
-	    </firstname>
-	    <surname>
-	      John
-	    </surname>
-	  </personname>
-	</author>
-	<author>
-	  <personname>
-	    <firstname>
-	      Stephen
-	    </firstname>
-	    <surname>
-	      Cleary
-	    </surname>
-	  </personname>
-	</author>
-      </authorgroup>
-      <publisher>
-	<publishername>
-	  Boost
-	</publishername>
-      </publisher>
-    </biblioentry>
-
-    <!-- 10 -->
-    <biblioentry xml:id="biblio.brodal96priority">
-      <title>
-	<link xmlns:xlink="http://www.w3.org/1999/xlink"
-	      xlink:href="https://dl.acm.org/citation.cfm?id=313883">
-	  Worst-case efficient priority queues
-	</link>
-      </title>
-
-      <author>
-	<personname>
-	  <firstname>
-	    Gerth
-	  </firstname>
-	  <surname>
-	    Stolting Brodal
-	  </surname>
-	</personname>
-      </author>
-
-    </biblioentry>
-
-    <!-- 11 -->
-    <biblioentry xml:id="biblio.bulkamayheweff">
-      <title>
-	Efficient C++ Programming Techniques
-      </title>
-      <date>
-	1997
-      </date>
-
-      <authorgroup>
-	<author>
-	  <personname>
-	    <firstname>
-	      D.
-	    </firstname>
-	    <surname>
-	      Bulka
-	    </surname>
-	  </personname>
-	</author>
-	<author>
-	  <personname>
-	    <firstname>
-	      D.
-	    </firstname>
-	    <surname>
-	      Mayhew
-	    </surname>
-	  </personname>
-	</author>
-      </authorgroup>
-
-      <publisher>
-	<publishername>
-	  Addison-Wesley Publishing Company
-	</publishername>
-      </publisher>
-    </biblioentry>
-
-    <!-- 12 -->
-    <biblioentry xml:id="biblio.clrs2001">
-      <title>
-	Introduction to Algorithms, 2nd edition
-      </title>
-      <date>
-	2001
-      </date>
-      <authorgroup>
-	<author>
-	  <personname>
-	    <firstname>
-	      T. H.
-	    </firstname>
-	    <surname>
-	      Cormen
-	    </surname>
-	  </personname>
-	</author>
-
-	<author>
-	  <personname>
-	    <firstname>
-	      C. E.
-	    </firstname>
-	    <surname>
-	      Leiserson
-	    </surname>
-	  </personname>
-	</author>
-
-	<author>
-	  <personname>
-	    <firstname>
-	      R. L.
-	    </firstname>
-	    <surname>
-	      Rivest
-	    </surname>
-	  </personname>
-	</author>
-
-	<author>
-	  <personname>
-	    <firstname>
-	      C.
-	    </firstname>
-	    <surname>
-	      Stein
-	    </surname>
-	  </personname>
-	</author>
-      </authorgroup>
-      <publisher>
-	<publishername>
-	  MIT Press
-	</publishername>
-      </publisher>
-    </biblioentry>
-
-    <!-- 13 -->
-    <biblioentry xml:id="biblio.dubhashi98neg">
-      <title>
-	Balls and bins: A study in negative dependence
-      </title>
-      <date>
-	1998
-      </date>
-      <authorgroup>
-	<author>
-	  <personname>
-	    <firstname>
-	      D.
-	    </firstname>
-	    <surname>
-	      Dubashi
-	    </surname>
-	  </personname>
-	</author>
-	<author>
-	  <personname>
-	    <firstname>
-	      D.
-	    </firstname>
-	    <surname>
-	      Ranjan
-	    </surname>
-	  </personname>
-	</author>
-      </authorgroup>
-
-      <publisher>
-	<publishername>
-	  Random Structures and Algorithms 13
-	</publishername>
-      </publisher>
-    </biblioentry>
-
-
-    <!-- 14 -->
-    <biblioentry xml:id="biblio.fagin79extendible">
-      <title>
-	Extendible hashing - a fast access method for dynamic files
-      </title>
-      <date>
-	1979
-      </date>
-
-      <authorgroup>
-	<author>
-	  <personname>
-	    <firstname>
-	      R.
-	    </firstname>
-	    <surname>
-	      Fagin
-	    </surname>
-	  </personname>
-	</author>
-	<author>
-	  <personname>
-	    <firstname>
-	      J.
-	    </firstname>
-	    <surname>
-	      Nievergelt
-	    </surname>
-	  </personname>
-	</author>
-	<author>
-	  <personname>
-	    <firstname>
-	      N.
-	    </firstname>
-	    <surname>
-	      Pippenger
-	    </surname>
-	  </personname>
-	</author>
-	<author>
-	  <personname>
-	    <firstname>
-	      H. R.
-	    </firstname>
-	    <surname>
-	      Strong
-	    </surname>
-	  </personname>
-	</author>
-      </authorgroup>
-
-      <publisher>
-	<publishername>
-	  ACM Trans. Database Syst. 4
-	</publishername>
-      </publisher>
-    </biblioentry>
-
-
-
-    <!-- 15 -->
-    <biblioentry xml:id="biblio.filliatre2000ptset">
-      <title>
-	<link xmlns:xlink="http://www.w3.org/1999/xlink"
-	      xlink:href="http://cristal.inria.fr/~frisch/icfp06_contest/advtr/applyOmatic/ptset.ml">
-	  Ptset: Sets of integers implemented as Patricia trees
-	</link>
-      </title>
-
-      <date>
-	2000
-      </date>
-
-      <author>
-	<personname>
-	  <firstname>
-	    Jean-Christophe
-	  </firstname>
-	  <surname>
-	    Filliatre
-	  </surname>
-	</personname>
-      </author>
-    </biblioentry>
-
-
-
-    <!-- 16 -->
-    <biblioentry xml:id="biblio.fredman86pairing">
-      <title>
-	<link xmlns:xlink="http://www.w3.org/1999/xlink"
-	      xlink:href="http://www.cs.cmu.edu/~sleator/papers/pairing-heaps.pdf">
-	  The pairing heap: a new form of self-adjusting heap
-	</link>
-      </title>
-      <date>
-	1986
-      </date>
-      <authorgroup>
-	<author>
-	  <personname>
-	    <firstname>
-	      M. L.
-	    </firstname>
-	    <surname>
-	      Fredman
-	    </surname>
-	  </personname>
-	</author>
-	<author>
-	  <personname>
-	    <firstname>
-	      R.
-	    </firstname>
-	    <surname>
-	      Sedgewick
-	    </surname>
-	  </personname>
-	</author>
-	<author>
-	  <personname>
-	    <firstname>
-	      D. D.
-	    </firstname>
-	    <surname>
-	      Sleator
-	    </surname>
-	  </personname>
-	</author>
-	<author>
-	  <personname>
-	    <firstname>
-	      R. E.
-	    </firstname>
-	    <surname>
-	      Tarjan
-	    </surname>
-	  </personname>
-	</author>
-      </authorgroup>
-    </biblioentry>
-
-
-    <!-- 17 -->
-    <biblioentry xml:id="biblio.gof">
-      <title>
-	Design Patterns - Elements of Reusable Object-Oriented Software
-      </title>
-      <date>
-	1995
-      </date>
-      <authorgroup>
-	<author>
-	  <personname>
-	    <firstname>
-	      E.
-	    </firstname>
-	    <surname>
-	      Gamma
-	    </surname>
-	  </personname>
-	</author>
-	<author>
-	  <personname>
-	    <firstname>
-	      R.
-	    </firstname>
-	    <surname>
-	      Helm
-	    </surname>
-	  </personname>
-	</author>
-	<author>
-	  <personname>
-	    <firstname>
-	      R.
-	    </firstname>
-	    <surname>
-	      Johnson
-	    </surname>
-	  </personname>
-	</author>
-	<author>
-	  <personname>
-	    <firstname>
-	      J.
-	    </firstname>
-	    <surname>
-	      Vlissides
-	    </surname>
-	  </personname>
-	</author>
-      </authorgroup>
-      <publisher>
-	<publishername>
-	  Addison-Wesley Publishing Company
-	</publishername>
-      </publisher>
-    </biblioentry>
-
-
-    <!-- 18 -->
-    <biblioentry xml:id="biblio.garg86order">
-      <title>
-	Order-preserving key transformations
-      </title>
-      <date>
-	1986
-      </date>
-      <authorgroup>
-	<author>
-	  <personname>
-	    <firstname>
-	      A. K.
-	    </firstname>
-	    <surname>
-	      Garg
-	    </surname>
-	  </personname>
-	</author>
-	<author>
-	  <personname>
-	    <firstname>
-	      C. C.
-	    </firstname>
-	    <surname>
-	      Gotlieb
-	    </surname>
-	  </personname>
-	</author>
-      </authorgroup>
-
-      <publisher>
-	<publishername>
-	  Trans. Database Syst. 11
-	</publishername>
-      </publisher>
-    </biblioentry>
-
-    <!-- 19 -->
-    <biblioentry xml:id="biblio.hyslop02making">
-      <title>
-	Making a real hash of things
-      </title>
-      <date>
-	May 2002
-      </date>
-      <authorgroup>
-	<author>
-	  <personname>
-	    <firstname>
-	      J.
-	    </firstname>
-	    <surname>
-	      Hyslop
-	    </surname>
-	  </personname>
-	</author>
-	<author>
-	  <personname>
-	    <firstname>
-	      Herb
-	    </firstname>
-	    <surname>
-	      Sutter
-	    </surname>
-	  </personname>
-	</author>
-      </authorgroup>
-
-      <publisher>
-	<publishername>
-	  C++ Report
-	</publishername>
-      </publisher>
-    </biblioentry>
-
-
-    <!-- 20 -->
-    <biblioentry xml:id="biblio.jossutis01stl">
-      <title>
-	The C++ Standard Library - A Tutorial and Reference
-      </title>
-      <date>
-	2001
-      </date>
-
-      <author>
-	<personname>
-	  <firstname>
-	    N. M.
-	  </firstname>
-	  <surname>
-	    Jossutis
-	  </surname>
-	</personname>
-      </author>
-      <publisher>
-	<publishername>
-	  Addison-Wesley Publishing Company
-	</publishername>
-      </publisher>
-    </biblioentry>
-
-    <!-- 21 -->
-    <biblioentry xml:id="biblio.kt99fat_heaps">
-      <title>
-	<link xmlns:xlink="http://www.w3.org/1999/xlink"
-	      xlink:href="http://www.cs.princeton.edu/research/techreps/TR-597-99">
-	  New Heap Data Structures
-	</link>
-      </title>
-      <date>
-	1999
-      </date>
-
-      <authorgroup>
-	<author>
-	  <personname>
-	    <firstname>
-	      Haim
-	    </firstname>
-	    <surname>
-	      Kaplan
-	    </surname>
-	  </personname>
-	</author>
-	<author>
-	  <personname>
-	    <firstname>
-	      Robert E.
-	    </firstname>
-	    <surname>
-	      Tarjan
-	    </surname>
-	  </personname>
-	</author>
-      </authorgroup>
-    </biblioentry>
-
-
-    <!-- 22 -->
-    <biblioentry xml:id="biblio.kleft00sets">
-      <title>
-	Are Set Iterators Mutable or Immutable?
-      </title>
-      <date>
-	October 2000
-      </date>
-      <authorgroup>
-	<author>
-	  <personname>
-	    <firstname>
-	      Angelika
-	    </firstname>
-	    <surname>
-	      Langer
-	    </surname>
-	  </personname>
-	</author>
-
-	<author>
-	  <personname>
-	    <firstname>
-	      Klaus
-	    </firstname>
-	    <surname>
-	      Kleft
-	    </surname>
-	  </personname>
-	</author>
-      </authorgroup>
-
-      <publisher>
-	<publishername>
-	  C/C++ Users Jornal
-	</publishername>
-      </publisher>
-    </biblioentry>
-
-    <!-- 23 -->
-    <biblioentry xml:id="biblio.knuth98sorting">
-      <title>
-	The Art of Computer Programming - Sorting and Searching
-      </title>
-      <date>
-	1998
-      </date>
-
-      <author>
-	<personname>
-	  <firstname>
-	    D. E.
-	  </firstname>
-	  <surname>
-	    Knuth
-	  </surname>
-	</personname>
-      </author>
-
-      <publisher>
-	<publishername>
-	  Addison-Wesley Publishing Company
-	</publishername>
-      </publisher>
-    </biblioentry>
-
-    <!-- 24 -->
-    <biblioentry xml:id="biblio.liskov98data">
-      <title>
-	Data abstraction and hierarchy
-      </title>
-      <date>
-	May 1998
-      </date>
-
-      <author>
-	<personname>
-	  <firstname>
-	    B.
-	  </firstname>
-	  <surname>
-	    Liskov
-	  </surname>
-	</personname>
-      </author>
-
-      <publisher>
-	<publishername>
-	  SIGPLAN Notices 23
-	</publishername>
-      </publisher>
-    </biblioentry>
-
-    <!-- 25 -->
-    <biblioentry xml:id="biblio.litwin80lh">
-      <title>
-	Linear hashing: A new tool for file and table addressing
-      </title>
-      <date>
-	June 1980
-      </date>
-
-      <author>
-	<personname>
-	  <firstname>
-	    W.
-	  </firstname>
-	  <surname>
-	    Litwin
-	  </surname>
-	</personname>
-      </author>
-
-      <publisher>
-	<publishername>
-	  Proceedings of International Conference on Very Large Data Bases
-	</publishername>
-      </publisher>
-    </biblioentry>
-
-    <!-- 26 -->
-    <biblioentry xml:id="biblio.maverik_lowerbounds">
-      <title>
-	<link xmlns:xlink="http://www.w3.org/1999/xlink"
-	      xlink:href="http://magic.aladdin.cs.cmu.edu/2005/08/01/deamortization-part-2-binomial-heaps">
-	  Deamortization - Part 2: Binomial Heaps
-	</link>
-      </title>
-      <date>
-	2005
-      </date>
-
-      <author>
-	<personname>
-	  <firstname>
-	    Maverik
-	  </firstname>
-	  <surname>
-	    Woo
-	  </surname>
-	</personname>
-      </author>
-    </biblioentry>
-
-    <!-- 27 -->
-    <biblioentry xml:id="biblio.meyers96more">
-      <title>
-	More Effective C++: 35 New Ways to Improve Your Programs and Designs
-      </title>
-      <date>
-	1996
-      </date>
-
-      <author>
-	<personname>
-	  <firstname>
-	    Scott
-	  </firstname>
-	  <surname>
-	    Meyers
-	  </surname>
-	</personname>
-      </author>
-
-      <publisher>
-	<publishername>
-	  Addison-Wesley Publishing Company
-	</publishername>
-      </publisher>
-    </biblioentry>
-
-    <!-- 28 -->
-    <biblioentry xml:id="biblio.meyers00nonmember">
-      <title>
-	How Non-Member Functions Improve Encapsulation
-      </title>
-      <date>
-	2000
-      </date>
-
-      <author>
-	<personname>
-	  <firstname>
-	    Scott
-	  </firstname>
-	  <surname>
-	    Meyers
-	  </surname>
-	</personname>
-      </author>
-
-      <publisher>
-	<publishername>
-	  C/C++ Users Journal
-	</publishername>
-      </publisher>
-    </biblioentry>
-
-    <!-- 29 -->
-    <biblioentry xml:id="biblio.meyers01stl">
-      <title>
-	Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library
-      </title>
-      <date>
-	2001
-      </date>
-
-      <author>
-	<personname>
-	  <firstname>
-	    Scott
-	  </firstname>
-	  <surname>
-	    Meyers
-	  </surname>
-	</personname>
-      </author>
-
-      <publisher>
-	<publishername>
-	  Addison-Wesley Publishing Company
-	</publishername>
-      </publisher>
-    </biblioentry>
-
-    <!-- 30 -->
-    <biblioentry xml:id="biblio.meyers02both">
-      <title>
-	Class Template, Member Template - or Both?
-      </title>
-      <date>
-	2003
-      </date>
-
-      <author>
-	<personname>
-	  <firstname>
-	    Scott
-	  </firstname>
-	  <surname>
-	    Meyers
-	  </surname>
-	</personname>
-      </author>
-
-      <publisher>
-	<publishername>
-	  C/C++ Users Journal
-	</publishername>
-      </publisher>
-    </biblioentry>
-
-    <!-- 31 -->
-    <biblioentry xml:id="biblio.motwani95random">
-      <title>
-	Randomized Algorithms
-      </title>
-      <date>
-	2003
-      </date>
-      <authorgroup>
-	<author>
-	  <personname>
-	    <firstname>
-	      R.
-	    </firstname>
-	    <surname>
-	      Motwani
-	    </surname>
-	  </personname>
-	</author>
-	<author>
-	  <personname>
-	    <firstname>
-	      P.
-	    </firstname>
-	    <surname>
-	      Raghavan
-	    </surname>
-	  </personname>
-	</author>
-      </authorgroup>
-      <publisher>
-	<publishername>
-	  Cambridge University Press
-	</publishername>
-      </publisher>
-    </biblioentry>
-
-
-    <!-- 32 -->
-    <biblioentry xml:id="biblio.mscom">
-      <title>
-	<link xmlns:xlink="http://www.w3.org/1999/xlink"
-	      xlink:href="https://www.microsoft.com/com/">
-	  COM: Component Model Object Technologies
-	</link>
-      </title>
-      <publisher>
-	<publishername>
-	  Microsoft
-	</publishername>
-      </publisher>
-    </biblioentry>
-
-    <!-- 33 -->
-    <biblioentry xml:id="biblio.musser95rationale">
-      <title>
-	Rationale for Adding Hash Tables to the C++ Standard Template Library
-      </title>
-      <date>
-	1995
-      </date>
-
-      <author>
-	<personname>
-	  <firstname>
-	    David R.
-	  </firstname>
-	  <surname>
-	    Musser
-	  </surname>
-	</personname>
-      </author>
-
-    </biblioentry>
-
-    <!-- 35 -->
-    <biblioentry xml:id="biblio.musser96stltutorial">
-      <title>
-	STL Tutorial and Reference Guide
-      </title>
-      <date>
-	1996
-      </date>
-
-      <authorgroup>
-	<author>
-	  <personname>
-	    <firstname>
-	      David R.
-	    </firstname>
-	    <surname>
-	      Musser
-	    </surname>
-	  </personname>
-	</author>
-	<author>
-	  <personname>
-	    <firstname>
-	      A.
-	    </firstname>
-	    <surname>
-	      Saini
-	    </surname>
-	  </personname>
-	</author>
-      </authorgroup>
-      <publisher>
-	<publishername>
-	  Addison-Wesley Publishing Company
-	</publishername>
-      </publisher>
-
-    </biblioentry>
-
-
-    <!-- 36 -->
-    <biblioentry xml:id="biblio.nelson96stlpq">
-      <title>
-	<link xmlns:xlink="http://www.w3.org/1999/xlink"
-	      xlink:href="http://www.dogma.net/markn/articles/pq_stl/priority.htm">Priority Queues and the STL
-	</link>
-      </title>
-      <date>
-	January 1996
-      </date>
-
-      <author>
-	<personname>
-	  <firstname>
-	    Mark
-	  </firstname>
-	  <surname>
-	    Nelson
-	  </surname>
-	</personname>
-      </author>
-
-      <publisher>
-	<publishername>
-	  Dr. Dobbs Journal
-	</publishername>
-      </publisher>
-    </biblioentry>
-
-
-    <!-- 37 -->
-    <biblioentry xml:id="biblio.okasaki98mereable">
-      <title>
-	Fast mergeable integer maps
-      </title>
-      <date>
-	September 1998
-      </date>
-      <authorgroup>
-	<author>
-	  <personname>
-	    <firstname>
-	      C.
-	    </firstname>
-	    <surname>
-	      Okasaki
-	    </surname>
-	  </personname>
-	</author>
-	<author>
-	  <personname>
-	    <firstname>
-	      A.
-	    </firstname>
-	    <surname>
-	      Gill
-	    </surname>
-	  </personname>
-	</author>
-      </authorgroup>
-      <publisher>
-	<publishername>
-	  In Workshop on ML
-	</publishername>
-      </publisher>
-    </biblioentry>
-
-    <!-- 38 -->
-    <biblioentry xml:id="biblio.sgi_stl">
-      <title>
-	<link xmlns:xlink="http://www.w3.org/1999/xlink"
-	      xlink:href="http://www.sgi.com/tech/stl/">
-	  Standard Template Library Programmer's Guide
-	</link>
-      </title>
-      <author>
-	<personname>
-	  <firstname>
-	    Matt
-	  </firstname>
-	  <surname>
-	    Austern
-	  </surname>
-	</personname>
-      </author>
-
-      <publisher>
-	<publishername>
-	  SGI
-	</publishername>
-      </publisher>
-    </biblioentry>
-
-    <!-- 39 -->
-    <biblioentry xml:id="biblio.select_man">
-      <title>
-	<link xmlns:xlink="http://www.w3.org/1999/xlink"
-	      xlink:href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/select.html">
-	  select
-	</link>
-      </title>
-    </biblioentry>
-
-
-    <!-- 40 -->
-    <biblioentry xml:id="biblio.sleator84amortized">
-      <title>
-	Amortized Efficiency of List Update Problems
-      </title>
-      <date>
-	1984
-      </date>
-      <authorgroup>
-	<author>
-	  <personname>
-	    <firstname>
-	      D. D.
-	    </firstname>
-	    <surname>
-	      Sleator
-	    </surname>
-	  </personname>
-	</author>
-
-	<author>
-	  <personname>
-	    <firstname>
-	      R. E.
-	    </firstname>
-	    <surname>
-	      Tarjan
-	    </surname>
-	  </personname>
-	</author>
-      </authorgroup>
-
-      <publisher>
-	<publishername>
-	  ACM Symposium on Theory of Computing
-	</publishername>
-      </publisher>
-    </biblioentry>
-
-    <!-- 41 -->
-    <biblioentry xml:id="biblio.sleator85self">
-      <title>
-	Self-Adjusting Binary Search Trees
-      </title>
-      <date>
-	1985
-      </date>
-
-      <authorgroup>
-	<author>
-	  <personname>
-	    <firstname>
-	      D. D.
-	    </firstname>
-	    <surname>
-	      Sleator
-	    </surname>
-	  </personname>
-	</author>
-
-	<author>
-	  <personname>
-	    <firstname>
-	      R. E.
-	    </firstname>
-	    <surname>
-	      Tarjan
-	    </surname>
-	  </personname>
-	</author>
-      </authorgroup>
-
-      <publisher>
-	<publishername>
-	  ACM Symposium on Theory of Computing
-	</publishername>
-      </publisher>
-    </biblioentry>
-
-    <!-- 42 -->
-    <biblioentry xml:id="biblio.stepanov94standard">
-      <title>
-	The Standard Template Library
-      </title>
-      <date>
-	1984
-      </date>
-      <authorgroup>
-	<author>
-	  <personname>
-	    <firstname>
-	      A. A.
-	    </firstname>
-	    <surname>
-	      Stepanov
-	    </surname>
-	  </personname>
-	</author>
-	<author>
-	  <personname>
-	    <firstname>
-	      M.
-	    </firstname>
-	    <surname>
-	      Lee
-	    </surname>
-	  </personname>
-	</author>
-      </authorgroup>
-    </biblioentry>
-
-    <!-- 43 -->
-    <biblioentry xml:id="biblio.stroustrup97cpp">
-      <title>
-	The C++ Programming Langugage
-      </title>
-      <date>
-	1997
-      </date>
-
-      <author>
-	<personname>
-	  <firstname>
-	    Bjarne
-	  </firstname>
-	  <surname>
-	    Stroustrup
-	  </surname>
-	</personname>
-      </author>
-
-      <publisher>
-	<publishername>
-	  Addison-Wesley Publishing Company
-	</publishername>
-      </publisher>
-    </biblioentry>
-
-    <!-- 44 -->
-    <biblioentry xml:id="biblio.vandevoorde2002cpptemplates">
-      <title>
-	C++ Templates: The Complete Guide
-      </title>
-      <date>
-	2002
-      </date>
-      <authorgroup>
-	<author>
-	  <personname>
-	    <firstname>
-	      D.
-	    </firstname>
-	    <surname>
-	      Vandevoorde
-	    </surname>
-	  </personname>
-	</author>
-
-	<author>
-	  <personname>
-	    <firstname>
-	      N. M.
-	    </firstname>
-	    <surname>
-	      Josuttis
-	    </surname>
-	  </personname>
-	</author>
-      </authorgroup>
-      <publisher>
-	<publishername>
-	  Addison-Wesley Publishing Company
-	</publishername>
-      </publisher>
-    </biblioentry>
-
-
-    <!-- 45 -->
-    <biblioentry xml:id="biblio.wickland96thirty">
-      <title>
-	<link xmlns:xlink="http://www.w3.org/1999/xlink"
-	      xlink:href="http://myweb.wvnet.edu/~gsa00121/books/amongdead30.zip">
-	  Thirty Years Among the Dead
-	</link>
-      </title>
-      <date>
-	1996
-      </date>
-
-      <author>
-	<personname>
-	  <firstname>
-	    C. A.
-	  </firstname>
-	  <surname>
-	    Wickland
-	  </surname>
-	</personname>
-      </author>
-
-      <publisher>
-	<publishername>
-	  National Psychological Institute
-	</publishername>
-      </publisher>
-    </biblioentry>
-
-
-  </bibliography>
+<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml"
+	    href="policy_data_structures_biblio.xml">
+</xi:include>
 
 </chapter>
diff --git a/libstdc++-v3/doc/xml/manual/policy_data_structures_biblio.xml b/libstdc++-v3/doc/xml/manual/policy_data_structures_biblio.xml
new file mode 100644
index 0000000..ec8854a
--- /dev/null
+++ b/libstdc++-v3/doc/xml/manual/policy_data_structures_biblio.xml
@@ -0,0 +1,1456 @@ 
+
+ <!-- Policy Based Data Structures: Biblio -->
+ <bibliography xml:id="pbds.biblio">
+    <info>
+      <title>
+	Bibliography
+      </title>
+    </info>
+    <?dbhtml filename="policy_data_structures_biblio.html"?>
+
+    <!-- 01 -->
+    <biblioentry xml:id="biblio.abrahams97exception">
+      <title>
+	<link xmlns:xlink="http://www.w3.org/1999/xlink"
+	      xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/1997/N1075.pdf">
+	  STL Exception Handling Contract
+	</link>
+      </title>
+      <date>1997</date>
+
+      <author>
+	<personname>
+	  <firstname>
+	    Dave
+	  </firstname>
+	  <surname>
+	    Abrahams
+	  </surname>
+	</personname>
+      </author>
+
+      <publisher>
+	<publishername>
+	  ISO SC22/WG21
+	</publishername>
+      </publisher>
+    </biblioentry>
+
+
+    <!-- 02 -->
+    <biblioentry xml:id="biblio.alexandrescu01modern">
+      <title>
+	Modern C++ Design: Generic Programming and Design Patterns Applied
+      </title>
+      <date>
+	2001
+      </date>
+
+      <author>
+	<personname>
+	  <firstname>
+	    Andrei
+	  </firstname>
+	  <surname>
+	    Alexandrescu
+	  </surname>
+	</personname>
+      </author>
+
+      <publisher>
+	<publishername>
+	  Addison-Wesley Publishing Company
+	</publishername>
+      </publisher>
+    </biblioentry>
+
+
+    <!-- 03 -->
+    <biblioentry xml:id="biblio.andrew04mtf">
+      <title>
+	MTF, Bit, and COMB: A Guide to Deterministic and Randomized
+	Algorithms for the List Update Problem
+      </title>
+
+      <authorgroup>
+	<author>
+	  <personname>
+	    <firstname>
+	      K.
+	    </firstname>
+	    <surname>
+	      Andrew
+	    </surname>
+	  </personname>
+	</author>
+
+	<author>
+	  <personname>
+	    <firstname>
+	      D.
+	    </firstname>
+	    <surname>
+	      Gleich
+	    </surname>
+	  </personname>
+	</author>
+      </authorgroup>
+    </biblioentry>
+
+    <!-- 04 -->
+    <biblioentry xml:id="biblio.austern00noset">
+      <title>
+	Why You Shouldn't Use set - and What You Should Use Instead
+      </title>
+      <date>
+	April, 2000
+      </date>
+
+      <author>
+	<personname>
+	  <firstname>
+	    Matthew
+	  </firstname>
+	  <surname>
+	    Austern
+	  </surname>
+	</personname>
+      </author>
+
+      <publisher>
+	<publishername>
+	  C++ Report
+	</publishername>
+      </publisher>
+    </biblioentry>
+
+    <!-- 05 -->
+    <biblioentry xml:id="biblio.austern01htprop">
+      <title>
+	<link xmlns:xlink="http://www.w3.org/1999/xlink"
+	      xlink:href="http://www.open-std.org/JTC1/sc22/wg21/docs/papers/2001/n1326.html">
+	  A Proposal to Add Hashtables to the Standard Library
+	</link>
+      </title>
+      <date>
+	2001
+      </date>
+
+      <author>
+	<personname>
+	  <firstname>
+	    Matthew
+	  </firstname>
+	  <surname>
+	    Austern
+	  </surname>
+	</personname>
+      </author>
+
+      <publisher>
+	<publishername>
+	  ISO SC22/WG21
+	</publishername>
+      </publisher>
+    </biblioentry>
+
+    <!-- 06 -->
+    <biblioentry xml:id="biblio.austern98segmentedit">
+      <title>
+	Segmented iterators and hierarchical algorithms
+      </title>
+      <date>
+	April, 1998
+      </date>
+
+      <author>
+	<personname>
+	  <firstname>
+	    Matthew
+	  </firstname>
+	  <surname>
+	    Austern
+	  </surname>
+	</personname>
+      </author>
+
+      <publisher>
+	<publishername>
+	  Generic Programming
+	</publishername>
+      </publisher>
+    </biblioentry>
+
+    <!-- 07 -->
+    <biblioentry xml:id="biblio.dawestimer">
+      <title>
+	<link xmlns:xlink="http://www.w3.org/1999/xlink"
+	      xlink:href="www.boost.org/doc/libs/release/libs/timer/">
+	  Boost Timer Library
+	</link>
+      </title>
+
+      <author>
+	<personname>
+	  <firstname>
+	    Beeman
+	  </firstname>
+	  <surname>
+	    Dawes
+	  </surname>
+	</personname>
+      </author>
+
+      <publisher>
+	<publishername>
+	  Boost
+	</publishername>
+      </publisher>
+    </biblioentry>
+
+    <!-- 08 -->
+    <biblioentry xml:id="biblio.clearypool">
+      <title>
+	<link xmlns:xlink="http://www.w3.org/1999/xlink"
+	      xlink:href="www.boost.org/doc/libs/release/libs/pool/">
+	  Boost Pool Library
+	</link>
+      </title>
+
+      <author>
+	<personname>
+	  <firstname>
+	    Stephen
+	  </firstname>
+	  <surname>
+	    Cleary
+	  </surname>
+	</personname>
+      </author>
+
+      <publisher>
+	<publishername>
+	  Boost
+	</publishername>
+      </publisher>
+    </biblioentry>
+
+
+    <!-- 09 -->
+    <biblioentry xml:id="biblio.maddocktraits">
+      <title>
+	<link xmlns:xlink="http://www.w3.org/1999/xlink"
+	      xlink:href="www.boost.org/doc/libs/release/libs/type_traits/">
+	  Boost Type Traits Library
+	</link>
+      </title>
+      <authorgroup>
+	<author>
+	  <personname>
+	    <firstname>
+	      Maddock
+	    </firstname>
+	    <surname>
+	      John
+	    </surname>
+	  </personname>
+	</author>
+	<author>
+	  <personname>
+	    <firstname>
+	      Stephen
+	    </firstname>
+	    <surname>
+	      Cleary
+	    </surname>
+	  </personname>
+	</author>
+      </authorgroup>
+      <publisher>
+	<publishername>
+	  Boost
+	</publishername>
+      </publisher>
+    </biblioentry>
+
+    <!-- 10 -->
+    <biblioentry xml:id="biblio.brodal96priority">
+      <title>
+	<link xmlns:xlink="http://www.w3.org/1999/xlink"
+	      xlink:href="https://dl.acm.org/citation.cfm?id=313883">
+	  Worst-case efficient priority queues
+	</link>
+      </title>
+
+      <author>
+	<personname>
+	  <firstname>
+	    Gerth
+	  </firstname>
+	  <surname>
+	    Stolting Brodal
+	  </surname>
+	</personname>
+      </author>
+
+    </biblioentry>
+
+    <!-- 11 -->
+    <biblioentry xml:id="biblio.bulkamayheweff">
+      <title>
+	Efficient C++ Programming Techniques
+      </title>
+      <date>
+	1997
+      </date>
+
+      <authorgroup>
+	<author>
+	  <personname>
+	    <firstname>
+	      D.
+	    </firstname>
+	    <surname>
+	      Bulka
+	    </surname>
+	  </personname>
+	</author>
+	<author>
+	  <personname>
+	    <firstname>
+	      D.
+	    </firstname>
+	    <surname>
+	      Mayhew
+	    </surname>
+	  </personname>
+	</author>
+      </authorgroup>
+
+      <publisher>
+	<publishername>
+	  Addison-Wesley Publishing Company
+	</publishername>
+      </publisher>
+    </biblioentry>
+
+    <!-- 12 -->
+    <biblioentry xml:id="biblio.clrs2001">
+      <title>
+	Introduction to Algorithms, 2nd edition
+      </title>
+      <date>
+	2001
+      </date>
+      <authorgroup>
+	<author>
+	  <personname>
+	    <firstname>
+	      T. H.
+	    </firstname>
+	    <surname>
+	      Cormen
+	    </surname>
+	  </personname>
+	</author>
+
+	<author>
+	  <personname>
+	    <firstname>
+	      C. E.
+	    </firstname>
+	    <surname>
+	      Leiserson
+	    </surname>
+	  </personname>
+	</author>
+
+	<author>
+	  <personname>
+	    <firstname>
+	      R. L.
+	    </firstname>
+	    <surname>
+	      Rivest
+	    </surname>
+	  </personname>
+	</author>
+
+	<author>
+	  <personname>
+	    <firstname>
+	      C.
+	    </firstname>
+	    <surname>
+	      Stein
+	    </surname>
+	  </personname>
+	</author>
+      </authorgroup>
+      <publisher>
+	<publishername>
+	  MIT Press
+	</publishername>
+      </publisher>
+    </biblioentry>
+
+    <!-- 13 -->
+    <biblioentry xml:id="biblio.dubhashi98neg">
+      <title>
+	Balls and bins: A study in negative dependence
+      </title>
+      <date>
+	1998
+      </date>
+      <authorgroup>
+	<author>
+	  <personname>
+	    <firstname>
+	      D.
+	    </firstname>
+	    <surname>
+	      Dubashi
+	    </surname>
+	  </personname>
+	</author>
+	<author>
+	  <personname>
+	    <firstname>
+	      D.
+	    </firstname>
+	    <surname>
+	      Ranjan
+	    </surname>
+	  </personname>
+	</author>
+      </authorgroup>
+
+      <publisher>
+	<publishername>
+	  Random Structures and Algorithms 13
+	</publishername>
+      </publisher>
+    </biblioentry>
+
+
+    <!-- 14 -->
+    <biblioentry xml:id="biblio.fagin79extendible">
+      <title>
+	Extendible hashing - a fast access method for dynamic files
+      </title>
+      <date>
+	1979
+      </date>
+
+      <authorgroup>
+	<author>
+	  <personname>
+	    <firstname>
+	      R.
+	    </firstname>
+	    <surname>
+	      Fagin
+	    </surname>
+	  </personname>
+	</author>
+	<author>
+	  <personname>
+	    <firstname>
+	      J.
+	    </firstname>
+	    <surname>
+	      Nievergelt
+	    </surname>
+	  </personname>
+	</author>
+	<author>
+	  <personname>
+	    <firstname>
+	      N.
+	    </firstname>
+	    <surname>
+	      Pippenger
+	    </surname>
+	  </personname>
+	</author>
+	<author>
+	  <personname>
+	    <firstname>
+	      H. R.
+	    </firstname>
+	    <surname>
+	      Strong
+	    </surname>
+	  </personname>
+	</author>
+      </authorgroup>
+
+      <publisher>
+	<publishername>
+	  ACM Trans. Database Syst. 4
+	</publishername>
+      </publisher>
+    </biblioentry>
+
+
+
+    <!-- 15 -->
+    <biblioentry xml:id="biblio.filliatre2000ptset">
+      <title>
+	<link xmlns:xlink="http://www.w3.org/1999/xlink"
+	      xlink:href="http://cristal.inria.fr/~frisch/icfp06_contest/advtr/applyOmatic/ptset.ml">
+	  Ptset: Sets of integers implemented as Patricia trees
+	</link>
+      </title>
+
+      <date>
+	2000
+      </date>
+
+      <author>
+	<personname>
+	  <firstname>
+	    Jean-Christophe
+	  </firstname>
+	  <surname>
+	    Filliatre
+	  </surname>
+	</personname>
+      </author>
+    </biblioentry>
+
+
+
+    <!-- 16 -->
+    <biblioentry xml:id="biblio.fredman86pairing">
+      <title>
+	<link xmlns:xlink="http://www.w3.org/1999/xlink"
+	      xlink:href="http://www.cs.cmu.edu/~sleator/papers/pairing-heaps.pdf">
+	  The pairing heap: a new form of self-adjusting heap
+	</link>
+      </title>
+      <date>
+	1986
+      </date>
+      <authorgroup>
+	<author>
+	  <personname>
+	    <firstname>
+	      M. L.
+	    </firstname>
+	    <surname>
+	      Fredman
+	    </surname>
+	  </personname>
+	</author>
+	<author>
+	  <personname>
+	    <firstname>
+	      R.
+	    </firstname>
+	    <surname>
+	      Sedgewick
+	    </surname>
+	  </personname>
+	</author>
+	<author>
+	  <personname>
+	    <firstname>
+	      D. D.
+	    </firstname>
+	    <surname>
+	      Sleator
+	    </surname>
+	  </personname>
+	</author>
+	<author>
+	  <personname>
+	    <firstname>
+	      R. E.
+	    </firstname>
+	    <surname>
+	      Tarjan
+	    </surname>
+	  </personname>
+	</author>
+      </authorgroup>
+    </biblioentry>
+
+
+    <!-- 17 -->
+    <biblioentry xml:id="biblio.gof">
+      <title>
+	Design Patterns - Elements of Reusable Object-Oriented Software
+      </title>
+      <date>
+	1995
+      </date>
+      <authorgroup>
+	<author>
+	  <personname>
+	    <firstname>
+	      E.
+	    </firstname>
+	    <surname>
+	      Gamma
+	    </surname>
+	  </personname>
+	</author>
+	<author>
+	  <personname>
+	    <firstname>
+	      R.
+	    </firstname>
+	    <surname>
+	      Helm
+	    </surname>
+	  </personname>
+	</author>
+	<author>
+	  <personname>
+	    <firstname>
+	      R.
+	    </firstname>
+	    <surname>
+	      Johnson
+	    </surname>
+	  </personname>
+	</author>
+	<author>
+	  <personname>
+	    <firstname>
+	      J.
+	    </firstname>
+	    <surname>
+	      Vlissides
+	    </surname>
+	  </personname>
+	</author>
+      </authorgroup>
+      <publisher>
+	<publishername>
+	  Addison-Wesley Publishing Company
+	</publishername>
+      </publisher>
+    </biblioentry>
+
+
+    <!-- 18 -->
+    <biblioentry xml:id="biblio.garg86order">
+      <title>
+	Order-preserving key transformations
+      </title>
+      <date>
+	1986
+      </date>
+      <authorgroup>
+	<author>
+	  <personname>
+	    <firstname>
+	      A. K.
+	    </firstname>
+	    <surname>
+	      Garg
+	    </surname>
+	  </personname>
+	</author>
+	<author>
+	  <personname>
+	    <firstname>
+	      C. C.
+	    </firstname>
+	    <surname>
+	      Gotlieb
+	    </surname>
+	  </personname>
+	</author>
+      </authorgroup>
+
+      <publisher>
+	<publishername>
+	  Trans. Database Syst. 11
+	</publishername>
+      </publisher>
+    </biblioentry>
+
+    <!-- 19 -->
+    <biblioentry xml:id="biblio.hyslop02making">
+      <title>
+	Making a real hash of things
+      </title>
+      <date>
+	May 2002
+      </date>
+      <authorgroup>
+	<author>
+	  <personname>
+	    <firstname>
+	      J.
+	    </firstname>
+	    <surname>
+	      Hyslop
+	    </surname>
+	  </personname>
+	</author>
+	<author>
+	  <personname>
+	    <firstname>
+	      Herb
+	    </firstname>
+	    <surname>
+	      Sutter
+	    </surname>
+	  </personname>
+	</author>
+      </authorgroup>
+
+      <publisher>
+	<publishername>
+	  C++ Report
+	</publishername>
+      </publisher>
+    </biblioentry>
+
+
+    <!-- 20 -->
+    <biblioentry xml:id="biblio.jossutis01stl">
+      <title>
+	The C++ Standard Library - A Tutorial and Reference
+      </title>
+      <date>
+	2001
+      </date>
+
+      <author>
+	<personname>
+	  <firstname>
+	    N. M.
+	  </firstname>
+	  <surname>
+	    Jossutis
+	  </surname>
+	</personname>
+      </author>
+      <publisher>
+	<publishername>
+	  Addison-Wesley Publishing Company
+	</publishername>
+      </publisher>
+    </biblioentry>
+
+    <!-- 21 -->
+    <biblioentry xml:id="biblio.kt99fat_heaps">
+      <title>
+	<link xmlns:xlink="http://www.w3.org/1999/xlink"
+	      xlink:href="http://www.cs.princeton.edu/research/techreps/TR-597-99">
+	  New Heap Data Structures
+	</link>
+      </title>
+      <date>
+	1999
+      </date>
+
+      <authorgroup>
+	<author>
+	  <personname>
+	    <firstname>
+	      Haim
+	    </firstname>
+	    <surname>
+	      Kaplan
+	    </surname>
+	  </personname>
+	</author>
+	<author>
+	  <personname>
+	    <firstname>
+	      Robert E.
+	    </firstname>
+	    <surname>
+	      Tarjan
+	    </surname>
+	  </personname>
+	</author>
+      </authorgroup>
+    </biblioentry>
+
+
+    <!-- 22 -->
+    <biblioentry xml:id="biblio.kleft00sets">
+      <title>
+	Are Set Iterators Mutable or Immutable?
+      </title>
+      <date>
+	October 2000
+      </date>
+      <authorgroup>
+	<author>
+	  <personname>
+	    <firstname>
+	      Angelika
+	    </firstname>
+	    <surname>
+	      Langer
+	    </surname>
+	  </personname>
+	</author>
+
+	<author>
+	  <personname>
+	    <firstname>
+	      Klaus
+	    </firstname>
+	    <surname>
+	      Kleft
+	    </surname>
+	  </personname>
+	</author>
+      </authorgroup>
+
+      <publisher>
+	<publishername>
+	  C/C++ Users Jornal
+	</publishername>
+      </publisher>
+    </biblioentry>
+
+    <!-- 23 -->
+    <biblioentry xml:id="biblio.knuth98sorting">
+      <title>
+	The Art of Computer Programming - Sorting and Searching
+      </title>
+      <date>
+	1998
+      </date>
+
+      <author>
+	<personname>
+	  <firstname>
+	    D. E.
+	  </firstname>
+	  <surname>
+	    Knuth
+	  </surname>
+	</personname>
+      </author>
+
+      <publisher>
+	<publishername>
+	  Addison-Wesley Publishing Company
+	</publishername>
+      </publisher>
+    </biblioentry>
+
+    <!-- 24 -->
+    <biblioentry xml:id="biblio.liskov98data">
+      <title>
+	Data abstraction and hierarchy
+      </title>
+      <date>
+	May 1998
+      </date>
+
+      <author>
+	<personname>
+	  <firstname>
+	    B.
+	  </firstname>
+	  <surname>
+	    Liskov
+	  </surname>
+	</personname>
+      </author>
+
+      <publisher>
+	<publishername>
+	  SIGPLAN Notices 23
+	</publishername>
+      </publisher>
+    </biblioentry>
+
+    <!-- 25 -->
+    <biblioentry xml:id="biblio.litwin80lh">
+      <title>
+	Linear hashing: A new tool for file and table addressing
+      </title>
+      <date>
+	June 1980
+      </date>
+
+      <author>
+	<personname>
+	  <firstname>
+	    W.
+	  </firstname>
+	  <surname>
+	    Litwin
+	  </surname>
+	</personname>
+      </author>
+
+      <publisher>
+	<publishername>
+	  Proceedings of International Conference on Very Large Data Bases
+	</publishername>
+      </publisher>
+    </biblioentry>
+
+    <!-- 26 -->
+    <biblioentry xml:id="biblio.maverik_lowerbounds">
+      <title>
+	<link xmlns:xlink="http://www.w3.org/1999/xlink"
+	      xlink:href="http://magic.aladdin.cs.cmu.edu/2005/08/01/deamortization-part-2-binomial-heaps">
+	  Deamortization - Part 2: Binomial Heaps
+	</link>
+      </title>
+      <date>
+	2005
+      </date>
+
+      <author>
+	<personname>
+	  <firstname>
+	    Maverik
+	  </firstname>
+	  <surname>
+	    Woo
+	  </surname>
+	</personname>
+      </author>
+    </biblioentry>
+
+    <!-- 27 -->
+    <biblioentry xml:id="biblio.meyers96more">
+      <title>
+	More Effective C++: 35 New Ways to Improve Your Programs and Designs
+      </title>
+      <date>
+	1996
+      </date>
+
+      <author>
+	<personname>
+	  <firstname>
+	    Scott
+	  </firstname>
+	  <surname>
+	    Meyers
+	  </surname>
+	</personname>
+      </author>
+
+      <publisher>
+	<publishername>
+	  Addison-Wesley Publishing Company
+	</publishername>
+      </publisher>
+    </biblioentry>
+
+    <!-- 28 -->
+    <biblioentry xml:id="biblio.meyers00nonmember">
+      <title>
+	How Non-Member Functions Improve Encapsulation
+      </title>
+      <date>
+	2000
+      </date>
+
+      <author>
+	<personname>
+	  <firstname>
+	    Scott
+	  </firstname>
+	  <surname>
+	    Meyers
+	  </surname>
+	</personname>
+      </author>
+
+      <publisher>
+	<publishername>
+	  C/C++ Users Journal
+	</publishername>
+      </publisher>
+    </biblioentry>
+
+    <!-- 29 -->
+    <biblioentry xml:id="biblio.meyers01stl">
+      <title>
+	Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library
+      </title>
+      <date>
+	2001
+      </date>
+
+      <author>
+	<personname>
+	  <firstname>
+	    Scott
+	  </firstname>
+	  <surname>
+	    Meyers
+	  </surname>
+	</personname>
+      </author>
+
+      <publisher>
+	<publishername>
+	  Addison-Wesley Publishing Company
+	</publishername>
+      </publisher>
+    </biblioentry>
+
+    <!-- 30 -->
+    <biblioentry xml:id="biblio.meyers02both">
+      <title>
+	Class Template, Member Template - or Both?
+      </title>
+      <date>
+	2003
+      </date>
+
+      <author>
+	<personname>
+	  <firstname>
+	    Scott
+	  </firstname>
+	  <surname>
+	    Meyers
+	  </surname>
+	</personname>
+      </author>
+
+      <publisher>
+	<publishername>
+	  C/C++ Users Journal
+	</publishername>
+      </publisher>
+    </biblioentry>
+
+    <!-- 31 -->
+    <biblioentry xml:id="biblio.motwani95random">
+      <title>
+	Randomized Algorithms
+      </title>
+      <date>
+	2003
+      </date>
+      <authorgroup>
+	<author>
+	  <personname>
+	    <firstname>
+	      R.
+	    </firstname>
+	    <surname>
+	      Motwani
+	    </surname>
+	  </personname>
+	</author>
+	<author>
+	  <personname>
+	    <firstname>
+	      P.
+	    </firstname>
+	    <surname>
+	      Raghavan
+	    </surname>
+	  </personname>
+	</author>
+      </authorgroup>
+      <publisher>
+	<publishername>
+	  Cambridge University Press
+	</publishername>
+      </publisher>
+    </biblioentry>
+
+
+    <!-- 32 -->
+    <biblioentry xml:id="biblio.mscom">
+      <title>
+	<link xmlns:xlink="http://www.w3.org/1999/xlink"
+	      xlink:href="https://www.microsoft.com/com/">
+	  COM: Component Model Object Technologies
+	</link>
+      </title>
+      <publisher>
+	<publishername>
+	  Microsoft
+	</publishername>
+      </publisher>
+    </biblioentry>
+
+    <!-- 33 -->
+    <biblioentry xml:id="biblio.musser95rationale">
+      <title>
+	Rationale for Adding Hash Tables to the C++ Standard Template Library
+      </title>
+      <date>
+	1995
+      </date>
+
+      <author>
+	<personname>
+	  <firstname>
+	    David R.
+	  </firstname>
+	  <surname>
+	    Musser
+	  </surname>
+	</personname>
+      </author>
+
+    </biblioentry>
+
+    <!-- 35 -->
+    <biblioentry xml:id="biblio.musser96stltutorial">
+      <title>
+	STL Tutorial and Reference Guide
+      </title>
+      <date>
+	1996
+      </date>
+
+      <authorgroup>
+	<author>
+	  <personname>
+	    <firstname>
+	      David R.
+	    </firstname>
+	    <surname>
+	      Musser
+	    </surname>
+	  </personname>
+	</author>
+	<author>
+	  <personname>
+	    <firstname>
+	      A.
+	    </firstname>
+	    <surname>
+	      Saini
+	    </surname>
+	  </personname>
+	</author>
+      </authorgroup>
+      <publisher>
+	<publishername>
+	  Addison-Wesley Publishing Company
+	</publishername>
+      </publisher>
+
+    </biblioentry>
+
+
+    <!-- 36 -->
+    <biblioentry xml:id="biblio.nelson96stlpq">
+      <title>
+	<link xmlns:xlink="http://www.w3.org/1999/xlink"
+	      xlink:href="http://www.dogma.net/markn/articles/pq_stl/priority.htm">Priority Queues and the STL
+	</link>
+      </title>
+      <date>
+	January 1996
+      </date>
+
+      <author>
+	<personname>
+	  <firstname>
+	    Mark
+	  </firstname>
+	  <surname>
+	    Nelson
+	  </surname>
+	</personname>
+      </author>
+
+      <publisher>
+	<publishername>
+	  Dr. Dobbs Journal
+	</publishername>
+      </publisher>
+    </biblioentry>
+
+
+    <!-- 37 -->
+    <biblioentry xml:id="biblio.okasaki98mereable">
+      <title>
+	Fast mergeable integer maps
+      </title>
+      <date>
+	September 1998
+      </date>
+      <authorgroup>
+	<author>
+	  <personname>
+	    <firstname>
+	      C.
+	    </firstname>
+	    <surname>
+	      Okasaki
+	    </surname>
+	  </personname>
+	</author>
+	<author>
+	  <personname>
+	    <firstname>
+	      A.
+	    </firstname>
+	    <surname>
+	      Gill
+	    </surname>
+	  </personname>
+	</author>
+      </authorgroup>
+      <publisher>
+	<publishername>
+	  In Workshop on ML
+	</publishername>
+      </publisher>
+    </biblioentry>
+
+    <!-- 38 -->
+    <biblioentry xml:id="biblio.sgi_stl">
+      <title>
+	<link xmlns:xlink="http://www.w3.org/1999/xlink"
+	      xlink:href="http://www.sgi.com/tech/stl/">
+	  Standard Template Library Programmer's Guide
+	</link>
+      </title>
+      <author>
+	<personname>
+	  <firstname>
+	    Matt
+	  </firstname>
+	  <surname>
+	    Austern
+	  </surname>
+	</personname>
+      </author>
+
+      <publisher>
+	<publishername>
+	  SGI
+	</publishername>
+      </publisher>
+    </biblioentry>
+
+    <!-- 39 -->
+    <biblioentry xml:id="biblio.select_man">
+      <title>
+	<link xmlns:xlink="http://www.w3.org/1999/xlink"
+	      xlink:href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/select.html">
+	  select
+	</link>
+      </title>
+    </biblioentry>
+
+
+    <!-- 40 -->
+    <biblioentry xml:id="biblio.sleator84amortized">
+      <title>
+	Amortized Efficiency of List Update Problems
+      </title>
+      <date>
+	1984
+      </date>
+      <authorgroup>
+	<author>
+	  <personname>
+	    <firstname>
+	      D. D.
+	    </firstname>
+	    <surname>
+	      Sleator
+	    </surname>
+	  </personname>
+	</author>
+
+	<author>
+	  <personname>
+	    <firstname>
+	      R. E.
+	    </firstname>
+	    <surname>
+	      Tarjan
+	    </surname>
+	  </personname>
+	</author>
+      </authorgroup>
+
+      <publisher>
+	<publishername>
+	  ACM Symposium on Theory of Computing
+	</publishername>
+      </publisher>
+    </biblioentry>
+
+    <!-- 41 -->
+    <biblioentry xml:id="biblio.sleator85self">
+      <title>
+	Self-Adjusting Binary Search Trees
+      </title>
+      <date>
+	1985
+      </date>
+
+      <authorgroup>
+	<author>
+	  <personname>
+	    <firstname>
+	      D. D.
+	    </firstname>
+	    <surname>
+	      Sleator
+	    </surname>
+	  </personname>
+	</author>
+
+	<author>
+	  <personname>
+	    <firstname>
+	      R. E.
+	    </firstname>
+	    <surname>
+	      Tarjan
+	    </surname>
+	  </personname>
+	</author>
+      </authorgroup>
+
+      <publisher>
+	<publishername>
+	  ACM Symposium on Theory of Computing
+	</publishername>
+      </publisher>
+    </biblioentry>
+
+    <!-- 42 -->
+    <biblioentry xml:id="biblio.stepanov94standard">
+      <title>
+	The Standard Template Library
+      </title>
+      <date>
+	1984
+      </date>
+      <authorgroup>
+	<author>
+	  <personname>
+	    <firstname>
+	      A. A.
+	    </firstname>
+	    <surname>
+	      Stepanov
+	    </surname>
+	  </personname>
+	</author>
+	<author>
+	  <personname>
+	    <firstname>
+	      M.
+	    </firstname>
+	    <surname>
+	      Lee
+	    </surname>
+	  </personname>
+	</author>
+      </authorgroup>
+    </biblioentry>
+
+    <!-- 43 -->
+    <biblioentry xml:id="biblio.stroustrup97cpp">
+      <title>
+	The C++ Programming Langugage
+      </title>
+      <date>
+	1997
+      </date>
+
+      <author>
+	<personname>
+	  <firstname>
+	    Bjarne
+	  </firstname>
+	  <surname>
+	    Stroustrup
+	  </surname>
+	</personname>
+      </author>
+
+      <publisher>
+	<publishername>
+	  Addison-Wesley Publishing Company
+	</publishername>
+      </publisher>
+    </biblioentry>
+
+    <!-- 44 -->
+    <biblioentry xml:id="biblio.vandevoorde2002cpptemplates">
+      <title>
+	C++ Templates: The Complete Guide
+      </title>
+      <date>
+	2002
+      </date>
+      <authorgroup>
+	<author>
+	  <personname>
+	    <firstname>
+	      D.
+	    </firstname>
+	    <surname>
+	      Vandevoorde
+	    </surname>
+	  </personname>
+	</author>
+
+	<author>
+	  <personname>
+	    <firstname>
+	      N. M.
+	    </firstname>
+	    <surname>
+	      Josuttis
+	    </surname>
+	  </personname>
+	</author>
+      </authorgroup>
+      <publisher>
+	<publishername>
+	  Addison-Wesley Publishing Company
+	</publishername>
+      </publisher>
+    </biblioentry>
+
+
+    <!-- 45 -->
+    <biblioentry xml:id="biblio.wickland96thirty">
+      <title>
+	<link xmlns:xlink="http://www.w3.org/1999/xlink"
+	      xlink:href="http://myweb.wvnet.edu/~gsa00121/books/amongdead30.zip">
+	  Thirty Years Among the Dead
+	</link>
+      </title>
+      <date>
+	1996
+      </date>
+
+      <author>
+	<personname>
+	  <firstname>
+	    C. A.
+	  </firstname>
+	  <surname>
+	    Wickland
+	  </surname>
+	</personname>
+      </author>
+
+      <publisher>
+	<publishername>
+	  National Psychological Institute
+	</publishername>
+      </publisher>
+    </biblioentry>
+
+</bibliography>
diff --git a/libstdc++-v3/doc/xml/manual/test_policy_data_structures.xml b/libstdc++-v3/doc/xml/manual/test_policy_data_structures.xml
index 2cad15c..241ec9f 100644
--- a/libstdc++-v3/doc/xml/manual/test_policy_data_structures.xml
+++ b/libstdc++-v3/doc/xml/manual/test_policy_data_structures.xml
@@ -35,7 +35,8 @@ 
     several sources, each checking only some containers.</para>
 
     <para>For more details, consult the files in
-    <filename>testsuite/ext/pb_ds/regression</filename>.</para>
+    <filename class="directory">testsuite/ext/pb_ds/regression</filename>.
+    </para>
   </section>
 
   <!-- S02 performance -->
@@ -68,16 +69,12 @@ 
 	  the number of values inserted.</para>
 	  <para>
 	    It uses the test file:
-	    <filename>
-	      performance/ext/pb_ds/text_find_timing_test.cc
-	    </filename>
+	    <filename>performance/ext/pb_ds/text_find_timing_test.cc</filename>
 	  </para>
 
 	  <para>
 	    And uses the data file:
-	    <filename>
-	      filethirty_years_among_the_dead_preproc.txt
-	    </filename>
+	    <filename>filethirty_years_among_the_dead_preproc.txt</filename>
 	  </para>
 
 	  <para>The test checks the effect of different range-hashing
@@ -398,9 +395,7 @@ 
 
 	  <para>
 	    It uses the test file:
-	    <filename>
-	      performance/ext/pb_ds/random_int_find_timing.cc
-	    </filename>
+	    <filename>performance/ext/pb_ds/random_int_find_timing.cc</filename>
 	  </para>
 
 	  <para>The test checks the effect of different underlying
@@ -917,9 +912,7 @@ 
 
 	  <para>
 	    It uses the test file:
-	    <filename>
-	      performance/ext/pb_ds/random_int_subscript_find_timing.cc
-	    </filename>
+	    <filename>performance/ext/pb_ds/random_int_subscript_find_timing.cc</filename>
 	  </para>
 
 	  <para>The test checks the effect of different underlying
@@ -1416,9 +1409,7 @@ 
 
 	  <para>
 	    It uses the test file:
-	    <filename>
-	      performance/ext/pb_ds/random_int_subscript_insert_timing.cc
-	    </filename>
+	    <filename>performance/ext/pb_ds/random_int_subscript_insert_timing.cc</filename>
 	  </para>
 
 	  <para>The test checks the effect of different underlying
@@ -1955,9 +1946,7 @@ 
 
 	  <para>
 	    It uses the test file:
-	    <filename>
-	      performance/ext/pb_ds/hash_zlob_random_int_find_timing.cc
-	    </filename>
+	    <filename>performance/ext/pb_ds/hash_zlob_random_int_find_timing.cc</filename>
 	  </para>
 
 	  <para>The test checks the effect of different range-hashing
@@ -2254,9 +2243,7 @@ 
 
 	  <para>
 	    It uses the test file:
-	    <filename>
-	      performance/ext/pb_ds/hash_random_int_erase_mem_usage.cc
-	    </filename>
+	    <filename>performance/ext/pb_ds/hash_random_int_erase_mem_usage.cc</filename>
 	  </para>
 
 
@@ -2536,9 +2523,7 @@ 
 
 	  <para>
 	    It uses the test file:
-	    <filename>
-	      performance/ext/pb_ds/tree_text_insert_timing.cc
-	    </filename>
+	    <filename>performance/ext/pb_ds/tree_text_insert_timing.cc</filename>
 	  </para>
 
 
@@ -2912,9 +2897,7 @@ 
 
 	  <para>
 	    It uses the test file:
-	    <filename>
-	      performance/ext/pb_ds/text_find_timing.cc
-	    </filename>
+	    <filename>performance/ext/pb_ds/text_find_timing.cc</filename>
 	  </para>
 
 
@@ -3185,9 +3168,7 @@ 
 
 	  <para>
 	    It uses the test file:
-	    <filename>
-	      performance/ext/pb_ds/tree_text_lor_find_timing.cc
-	    </filename>
+	    <filename>performance/ext/pb_ds/tree_text_lor_find_timing.cc</filename>
 	  </para>
 
 	  <para>The test checks the effect of different underlying
@@ -3424,9 +3405,7 @@ 
 
 	  <para>
 	    It uses the test file:
-	    <filename>
-	      performance/ext/pb_ds/tree_split_join_timing.cc
-	    </filename>
+	    <filename>performance/ext/pb_ds/tree_split_join_timing.cc</filename>
 	  </para>
 
 
@@ -3688,9 +3667,7 @@ 
 
 	  <para>
 	    It uses the test file:
-	    <filename>
-	      performance/ext/pb_ds/tree_order_statistics_timing.cc
-	    </filename>
+	    <filename>performance/ext/pb_ds/tree_order_statistics_timing.cc</filename>
 	  </para>
 
 	  <para>The test checks the performance difference of policies based
@@ -3885,9 +3862,7 @@ 
 
 	  <para>
 	    It uses the test file:
-	    <filename>
-	      performance/ext/pb_ds/multimap_text_find_timing_small.cc
-	    </filename>
+	    <filename>performance/ext/pb_ds/multimap_text_find_timing_small.cc</filename>
 	  </para>
 
 	  <para>The test checks the find-time scalability of different
@@ -4350,9 +4325,7 @@ 
 
 	  <para>
 	    It uses the test file:
-	    <filename>
-	      performance/ext/pb_ds/multimap_text_find_timing_large.cc
-	    </filename>
+	    <filename>performance/ext/pb_ds/multimap_text_find_timing_large.cc</filename>
 	  </para>
 
 	  <para>The test checks the find-time scalability of different
@@ -4819,9 +4792,7 @@ 
 
 	  <para>
 	    It uses the test file:
-	    <filename>
-	      performance/ext/pb_ds/multimap_text_insert_timing_small.cc
-	    </filename>
+	    <filename>performance/ext/pb_ds/multimap_text_insert_timing_small.cc</filename>
 	  </para>
 
 	  <para>The test checks the insert-time scalability of different
@@ -5288,9 +5259,7 @@ 
 
 	  <para>
 	    It uses the test file:
-	    <filename>
-	      performance/ext/pb_ds/multimap_text_insert_timing_large.cc
-	    </filename>
+	    <filename>performance/ext/pb_ds/multimap_text_insert_timing_large.cc</filename>
 	  </para>
 
 	  <para>The test checks the insert-time scalability of different
@@ -5751,9 +5720,7 @@ 
 
 	  <para>
 	    It uses the test file:
-	    <filename>
-	      performance/ext/pb_ds/multimap_text_insert_mem_usage_small.cc
-	    </filename>
+	    <filename>performance/ext/pb_ds/multimap_text_insert_mem_usage_small.cc</filename>
 	  </para>
 
 	  <para>The test checks the memory scalability of different
@@ -6213,9 +6180,7 @@ 
 
 	  <para>
 	    It uses the test file:
-	    <filename>
-	      performance/ext/pb_ds/multimap_text_insert_mem_usage_large.cc
-	    </filename>
+	    <filename>performance/ext/pb_ds/multimap_text_insert_mem_usage_large.cc</filename>
 	  </para>
 
 	  <para>The test checks the memory scalability of different
@@ -6675,9 +6640,7 @@ 
 
 	  <para>
 	    It uses the test file:
-	    <filename>
-	      performance/ext/pb_ds/priority_queue_text_push_timing.cc
-	    </filename>
+	    <filename>performance/ext/pb_ds/priority_queue_text_push_timing.cc</filename>
 	  </para>
 
 	  <para>The test checks the effect of different underlying data
@@ -7062,9 +7025,7 @@ 
 
 	  <para>
 	    It uses the test file:
-	    <filename>
-	      performance/ext/pb_ds/priority_queue_text_push_pop_timing.cc
-	    </filename>
+	    <filename>performance/ext/pb_ds/priority_queue_text_push_pop_timing.cc</filename>
 	  </para>
 
 	  <para>The test checks the effect of different underlying data
@@ -7429,9 +7390,7 @@ 
 
 	  <para>
 	    It uses the test file:
-	    <filename>
-	      performance/ext/pb_ds/priority_queue_random_int_push_timing.cc
-	    </filename>
+	    <filename>performance/ext/pb_ds/priority_queue_random_int_push_timing.cc</filename>
 	  </para>
 
 	  <para>The test checks the effect of different underlying data
@@ -7785,9 +7744,7 @@ 
 
 	  <para>
 	    It uses the test file:
-	    <filename>
-	      performance/ext/pb_ds/priority_queue_random_int_push_pop_timing.cc
-	    </filename>
+	    <filename>performance/ext/pb_ds/priority_queue_random_int_push_pop_timing.cc</filename>
 	  </para>
 
 	  <para>The test checks the effect of different underlying data
@@ -8050,9 +8007,7 @@ 
 	  number of values pushed to the container.</para>
 	  <para>
 	    It uses the test file:
-	    <filename>
-	      performance/ext/pb_ds/priority_queue_text_pop_mem_usage.cc
-	    </filename>
+	    <filename>performance/ext/pb_ds/priority_queue_text_pop_mem_usage.cc</filename>
 	  </para>
 
 	  <para>The test checks the effect of different underlying data
@@ -8302,9 +8257,7 @@ 
 	  the average time as a function of the number of values.</para>
 	  <para>
 	    It uses the test file:
-	    <filename>
-	      performance/ext/pb_ds/priority_queue_text_join_timing.cc
-	    </filename>
+	    <filename>performance/ext/pb_ds/priority_queue_text_join_timing.cc</filename>
 	  </para>
 
 	  <para>The test checks the effect of different underlying data
@@ -8554,9 +8507,7 @@ 
 
 	  <para>
 	    It uses the test file:
-	    <filename>
-	      performance/ext/pb_ds/priority_queue_text_modify_up_timing.cc
-	    </filename>
+	    <filename>performance/ext/pb_ds/priority_queue_text_modify_up_timing.cc</filename>
 	  </para>
 
 	  <para>The test checks the effect of different underlying data
@@ -8920,9 +8871,7 @@ 
 
 	  <para>
 	    It uses the test file:
-	    <filename>
-	      performance/ext/pb_ds/priority_queue_text_modify_down_timing.cc
-	    </filename>
+	    <filename>performance/ext/pb_ds/priority_queue_text_modify_down_timing.cc</filename>
 	  </para>
 
 	  <para>The main purpose of this test is to contrast Priority Queue
@@ -9771,4 +9720,4 @@ 
 
   </section> <!-- performance -->
 
-</section>
\ No newline at end of file
+</section>