Commit 74080cba by Benjamin Kosnik Committed by Benjamin Kosnik

Makefile.am (xml_sources_manual): Add policy_data_structures_biblio.xml.

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.

From-SVN: r194379
parent b686a89c
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.
2012-12-10 Matthias Klose <doko@ubuntu.com>
* src/Makefile.am (libstdc++-symbols.ver): Use CONFIG_HEADER.
......
......@@ -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
......
......@@ -393,6 +393,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 \
......@@ -528,17 +529,18 @@ XSL_HTML_STYLE = $(XSL_STYLE_DIR)/xhtml/chunk.xsl
XSL_HTML_SINGLE_STYLE = $(XSL_STYLE_DIR)/html/docbook.xsl
XSL_EPUB_STYLE = $(XSL_STYLE_DIR)/epub3/chunk.xsl
XSL_LOCAL_STYLE = ${glibcxx_builddir}/doc/xsl/customization.xsl
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
# XML, all one page
# Some info on canonicalization
# http://www.mail-archive.com/help-texinfo@gnu.org/msg00864.html
manual_xml = ${docbook_outdir}/xml/libstdc++-manual.xml
set_xml = ${docbook_outdir}/xml/libstdc++-set.xml
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
# HTML, all one page
# NB: Have to generate customization XSL for UTF-8 output.
......@@ -546,7 +548,7 @@ manual_html = ${docbook_outdir}/html/libstdc++-manual-single.html
# PDF, via dblatex
manual_pdf = ${docbook_outdir}/pdf/libstdc++-manual.pdf
DBLATEX_FLAGS = --dump --verbose --pdf
DBLATEX_FLAGS = --verbose --pdf --dump --debug --tmpdir=${docbook_outdir}/latex
# TEXINFO, via docbook2X
# NB: Both experimental and tempermental
......@@ -896,14 +898,14 @@ ${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
doc-xml-validate-docbook: $(xml_sources) $(xml_images)
@echo "Generating XML validation log..."
$(XMLLINT) $(XMLLINT_VALID_FLAGS) ${top_srcdir}/doc/xml/spine.xml
stamp-xml-single-docbook: $(xml_sources) ${docbook_outdir}/xml
@echo "Generating XML single..."
$(XMLLINT) $(XMLLINT_FLAGS) \
......@@ -913,6 +915,15 @@ stamp-xml-single-docbook: $(xml_sources) ${docbook_outdir}/xml
$(STAMP) stamp-xml-single-docbook
doc-xml-single-docbook: stamp-xml-single-docbook
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)
......@@ -953,10 +964,15 @@ stamp-fo-docbook: $(xml_sources) ${docbook_outdir}/fo
$(STAMP) stamp-fo-docbook
doc-fo-docbook: stamp-fo-docbook
stamp-pdf-docbook: $(xml_sources) ${docbook_outdir}/pdf
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
......
......@@ -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>
......
......@@ -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>
......
......@@ -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>
<!-- 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>
......@@ -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>
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