From 74080cba9b523fb9042df02014e3f69bafe21911 Mon Sep 17 00:00:00 2001 From: Benjamin Kosnik Date: Tue, 11 Dec 2012 01:52:14 +0000 Subject: [PATCH] Makefile.am (xml_sources_manual): Add policy_data_structures_biblio.xml. 2012-12-10 Benjamin Kosnik * 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 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 markup. From-SVN: r194379 --- libstdc++-v3/ChangeLog | 18 + libstdc++-v3/doc/Makefile.am | 45 +- libstdc++-v3/doc/Makefile.in | 40 +- libstdc++-v3/doc/xml/manual/build_hacking.xml | 16 +- .../doc/xml/manual/documentation_hacking.xml | 155 +- .../doc/xml/manual/policy_data_structures.xml | 1461 +---------------- .../manual/policy_data_structures_biblio.xml | 1456 ++++++++++++++++ .../manual/test_policy_data_structures.xml | 109 +- 8 files changed, 1723 insertions(+), 1577 deletions(-) create mode 100644 libstdc++-v3/doc/xml/manual/policy_data_structures_biblio.xml diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 1c29664a532..34cd0a5283a 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,21 @@ +2012-12-10 Benjamin Kosnik + + * 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 + 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 + markup. + 2012-12-10 Matthias Klose * src/Makefile.am (libstdc++-symbols.ver): Use CONFIG_HEADER. diff --git a/libstdc++-v3/doc/Makefile.am b/libstdc++-v3/doc/Makefile.am index 5d807dcbab6..a2ce87e23cb 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/Makefile.in b/libstdc++-v3/doc/Makefile.in index 3c1a0d5d1ac..9816fc80200 100644 --- a/libstdc++-v3/doc/Makefile.in +++ b/libstdc++-v3/doc/Makefile.in @@ -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 diff --git a/libstdc++-v3/doc/xml/manual/build_hacking.xml b/libstdc++-v3/doc/xml/manual/build_hacking.xml index a51cf7bf492..917b4d258ff 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 all targ - 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 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: - Builds the call to the AC_ARG_ENABLE macro, with --help text + Builds the call to the AC_ARG_ENABLE macro, with --help text properly quoted and aligned. (Death to changequote!) @@ -272,7 +272,7 @@ in the build directory starts the build process. The all targ 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 GLIBCXX_ENABLE_FOO macro doesn't need to test for strange arguments, nor do we need to protect against empty/whitespace strings with the "x$foo" = "xbar" idiom. @@ -319,13 +319,13 @@ in the build directory starts the build process. The all targ not pass --enable/--disable. It should be one of the permitted values passed later. Examples: [yes], or [bar], or [$1] (which passes the - argument given to the GLIBCXX_ENABLE_FOO macro as the - default). + argument given to the GLIBCXX_ENABLE_FOO macro + as the default). 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). + GLIBCXX_ENABLE_CLOCALE for an example). diff --git a/libstdc++-v3/doc/xml/manual/documentation_hacking.xml b/libstdc++-v3/doc/xml/manual/documentation_hacking.xml index e74f2b7f01e..91d16dd3529 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: - - doc/libstdc++/libstdc++-api.html - + doc/libstdc++/libstdc++-api.html - - doc/libstdc++/libstdc++-manual.html - + doc/libstdc++/libstdc++-manual.html @@ -346,6 +342,64 @@ +
+ Debugging Generation + + + 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. + + + + First, if using a rule like make pdf, try to + narrow down the scope of the error to either docbook + (make doc-pdf-docbook) or doxygen (make + doc-pdf-doxygen). + + + Working on the doxygen path only, closely examine the + contents of the following build directory: + build/target/libstdc++-v3/doc/doxygen/latex. + Pay attention to three files enclosed within, annotated as follows. + + + + + + refman.tex + + + + The actual latex file, or partial latex file. This is generated + via doxygen, and is the LaTeX version of the + Doxygen XML file libstdc++-api.xml. Go to a specific + line, and look at the genrated LaTeX, and try to deduce what + markup in libstdc++-api.xml is causing it. + + + + + + refman.out + + A log of the compilation of the converted LaTeX form to pdf. This + is a linear list, from the beginning of the + refman.tex 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 refman.tex that is + incorrect, or will have clues at the end of the file with the dump + of the memory usage of LaTeX. + + + + + +
+
Markup @@ -742,6 +796,95 @@ make XSL_STYLE_DIR="/usr/share/xml/docbook/stylesheet/nwalsh"
+
+ Debugging Generation + + + 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. + + + + First, if using a rule like make pdf, try to + narrow down the scope of the error to either docbook + (make doc-pdf-docbook) or doxygen (make + doc-pdf-doxygen). + + + + Working on the docbook path only, closely examine the + contents of the following build directory: + build/target/libstdc++-v3/doc/docbook/latex. + Pay attention to three files enclosed within, annotated as follows. + + + + + + + spine.tex + + + + The actual latex file, or partial latex file. This is generated + via dblatex, and is the LaTeX version of the + DocBook XML file spine.xml. Go to a specific + line, and look at the genrated LaTeX, and try to deduce what + markup in spine.xml is causing it. + + + + + + spine.out + + + + A log of the conversion from the XML form to the LaTeX form. This + is a linear list, from the beginning of the + spine.xml 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. + + + + + + + spine.log + + + + A log of the compilation of the converted LaTeX form to pdf. This + is a linear list, from the beginning of the + spine.tex 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 spine.tex that is + incorrect. + + + + + + + If the issue is not obvious after examination, or if one + encounters the inscruitable Incomplete + \ifmmode 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 + spine.xml file, section by section, + until the offending section is identified. + + + +
+
Editing and Validation diff --git a/libstdc++-v3/doc/xml/manual/policy_data_structures.xml b/libstdc++-v3/doc/xml/manual/policy_data_structures.xml index a0699b45566..9e6bb59d57e 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 @@ + fileref="../images/pbds_priority_queue_tag_hierarchy.png"/> Priority-Queue Data-Structure Tags. @@ -5053,7 +5053,6 @@
Acknowledgments - Written by Ami Tavory and Vladimir Dreizin (IBM Haifa Research @@ -5104,1460 +5103,8 @@
- - - - Bibliography - - - - - - - - <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> - - 1997 - - - - - Dave - - - Abrahams - - - - - - - ISO SC22/WG21 - - - - - - - - - Modern C++ Design: Generic Programming and Design Patterns Applied - - - 2001 - - - - - - Andrei - - - Alexandrescu - - - - - - - Addison-Wesley Publishing Company - - - - - - - - - MTF, Bit, and COMB: A Guide to Deterministic and Randomized - Algorithms for the List Update Problem - - - - - - - K. - - - Andrew - - - - - - - - D. - - - Gleich - - - - - - - - - - Why You Shouldn't Use set - and What You Should Use Instead - - - April, 2000 - - - - - - Matthew - - - Austern - - - - - - - C++ Report - - - - - - - - <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> - - - 2001 - - - - - - Matthew - - - Austern - - - - - - - ISO SC22/WG21 - - - - - - - - Segmented iterators and hierarchical algorithms - - - April, 1998 - - - - - - Matthew - - - Austern - - - - - - - Generic Programming - - - - - - - - <link xmlns:xlink="http://www.w3.org/1999/xlink" - xlink:href="www.boost.org/doc/libs/release/libs/timer/"> - Boost Timer Library - </link> - - - - - - Beeman - - - Dawes - - - - - - - Boost - - - - - - - - <link xmlns:xlink="http://www.w3.org/1999/xlink" - xlink:href="www.boost.org/doc/libs/release/libs/pool/"> - Boost Pool Library - </link> - - - - - - Stephen - - - Cleary - - - - - - - Boost - - - - - - - - - <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> - - - - - - Maddock - - - John - - - - - - - Stephen - - - Cleary - - - - - - - Boost - - - - - - - - <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> - - - - - - Gerth - - - Stolting Brodal - - - - - - - - - - Efficient C++ Programming Techniques - - - 1997 - - - - - - - D. - - - Bulka - - - - - - - D. - - - Mayhew - - - - - - - - Addison-Wesley Publishing Company - - - - - - - - Introduction to Algorithms, 2nd edition - - - 2001 - - - - - - T. H. - - - Cormen - - - - - - - - C. E. - - - Leiserson - - - - - - - - R. L. - - - Rivest - - - - - - - - C. - - - Stein - - - - - - - MIT Press - - - - - - - - Balls and bins: A study in negative dependence - - - 1998 - - - - - - D. - - - Dubashi - - - - - - - D. - - - Ranjan - - - - - - - - Random Structures and Algorithms 13 - - - - - - - - - Extendible hashing - a fast access method for dynamic files - - - 1979 - - - - - - - R. - - - Fagin - - - - - - - J. - - - Nievergelt - - - - - - - N. - - - Pippenger - - - - - - - H. R. - - - Strong - - - - - - - - ACM Trans. Database Syst. 4 - - - - - - - - - - <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> - - - - 2000 - - - - - - Jean-Christophe - - - Filliatre - - - - - - - - - - - <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> - - - 1986 - - - - - - M. L. - - - Fredman - - - - - - - R. - - - Sedgewick - - - - - - - D. D. - - - Sleator - - - - - - - R. E. - - - Tarjan - - - - - - - - - - - Design Patterns - Elements of Reusable Object-Oriented Software - - - 1995 - - - - - - E. - - - Gamma - - - - - - - R. - - - Helm - - - - - - - R. - - - Johnson - - - - - - - J. - - - Vlissides - - - - - - - Addison-Wesley Publishing Company - - - - - - - - - Order-preserving key transformations - - - 1986 - - - - - - A. K. - - - Garg - - - - - - - C. C. - - - Gotlieb - - - - - - - - Trans. Database Syst. 11 - - - - - - - - Making a real hash of things - - - May 2002 - - - - - - J. - - - Hyslop - - - - - - - Herb - - - Sutter - - - - - - - - C++ Report - - - - - - - - - The C++ Standard Library - A Tutorial and Reference - - - 2001 - - - - - - N. M. - - - Jossutis - - - - - - Addison-Wesley Publishing Company - - - - - - - - <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> - - - 1999 - - - - - - - Haim - - - Kaplan - - - - - - - Robert E. - - - Tarjan - - - - - - - - - - - Are Set Iterators Mutable or Immutable? - - - October 2000 - - - - - - Angelika - - - Langer - - - - - - - - Klaus - - - Kleft - - - - - - - - C/C++ Users Jornal - - - - - - - - The Art of Computer Programming - Sorting and Searching - - - 1998 - - - - - - D. E. - - - Knuth - - - - - - - Addison-Wesley Publishing Company - - - - - - - - Data abstraction and hierarchy - - - May 1998 - - - - - - B. - - - Liskov - - - - - - - SIGPLAN Notices 23 - - - - - - - - Linear hashing: A new tool for file and table addressing - - - June 1980 - - - - - - W. - - - Litwin - - - - - - - Proceedings of International Conference on Very Large Data Bases - - - - - - - - <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> - - - 2005 - - - - - - Maverik - - - Woo - - - - - - - - - More Effective C++: 35 New Ways to Improve Your Programs and Designs - - - 1996 - - - - - - Scott - - - Meyers - - - - - - - Addison-Wesley Publishing Company - - - - - - - - How Non-Member Functions Improve Encapsulation - - - 2000 - - - - - - Scott - - - Meyers - - - - - - - C/C++ Users Journal - - - - - - - - Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library - - - 2001 - - - - - - Scott - - - Meyers - - - - - - - Addison-Wesley Publishing Company - - - - - - - - Class Template, Member Template - or Both? - - - 2003 - - - - - - Scott - - - Meyers - - - - - - - C/C++ Users Journal - - - - - - - - Randomized Algorithms - - - 2003 - - - - - - R. - - - Motwani - - - - - - - P. - - - Raghavan - - - - - - - Cambridge University Press - - - - - - - - - <link xmlns:xlink="http://www.w3.org/1999/xlink" - xlink:href="https://www.microsoft.com/com/"> - COM: Component Model Object Technologies - </link> - - - - Microsoft - - - - - - - - Rationale for Adding Hash Tables to the C++ Standard Template Library - - - 1995 - - - - - - David R. - - - Musser - - - - - - - - - - STL Tutorial and Reference Guide - - - 1996 - - - - - - - David R. - - - Musser - - - - - - - A. - - - Saini - - - - - - - Addison-Wesley Publishing Company - - - - - - - - - - <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> - - - January 1996 - - - - - - Mark - - - Nelson - - - - - - - Dr. Dobbs Journal - - - - - - - - - Fast mergeable integer maps - - - September 1998 - - - - - - C. - - - Okasaki - - - - - - - A. - - - Gill - - - - - - - In Workshop on ML - - - - - - - - <link xmlns:xlink="http://www.w3.org/1999/xlink" - xlink:href="http://www.sgi.com/tech/stl/"> - Standard Template Library Programmer's Guide - </link> - - - - - Matt - - - Austern - - - - - - - SGI - - - - - - - - <link xmlns:xlink="http://www.w3.org/1999/xlink" - xlink:href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/select.html"> - select - </link> - - - - - - - - Amortized Efficiency of List Update Problems - - - 1984 - - - - - - D. D. - - - Sleator - - - - - - - - R. E. - - - Tarjan - - - - - - - - ACM Symposium on Theory of Computing - - - - - - - - Self-Adjusting Binary Search Trees - - - 1985 - - - - - - - D. D. - - - Sleator - - - - - - - - R. E. - - - Tarjan - - - - - - - - ACM Symposium on Theory of Computing - - - - - - - - The Standard Template Library - - - 1984 - - - - - - A. A. - - - Stepanov - - - - - - - M. - - - Lee - - - - - - - - - - The C++ Programming Langugage - - - 1997 - - - - - - Bjarne - - - Stroustrup - - - - - - - Addison-Wesley Publishing Company - - - - - - - - C++ Templates: The Complete Guide - - - 2002 - - - - - - D. - - - Vandevoorde - - - - - - - - N. M. - - - Josuttis - - - - - - - Addison-Wesley Publishing Company - - - - - - - - - <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> - - - 1996 - - - - - - C. A. - - - Wickland - - - - - - - National Psychological Institute - - - - - - + + 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 00000000000..ec8854aaa80 --- /dev/null +++ b/libstdc++-v3/doc/xml/manual/policy_data_structures_biblio.xml @@ -0,0 +1,1456 @@ + + + + + + Bibliography + + + + + + + + <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> + + 1997 + + + + + Dave + + + Abrahams + + + + + + + ISO SC22/WG21 + + + + + + + + + Modern C++ Design: Generic Programming and Design Patterns Applied + + + 2001 + + + + + + Andrei + + + Alexandrescu + + + + + + + Addison-Wesley Publishing Company + + + + + + + + + MTF, Bit, and COMB: A Guide to Deterministic and Randomized + Algorithms for the List Update Problem + + + + + + + K. + + + Andrew + + + + + + + + D. + + + Gleich + + + + + + + + + + Why You Shouldn't Use set - and What You Should Use Instead + + + April, 2000 + + + + + + Matthew + + + Austern + + + + + + + C++ Report + + + + + + + + <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> + + + 2001 + + + + + + Matthew + + + Austern + + + + + + + ISO SC22/WG21 + + + + + + + + Segmented iterators and hierarchical algorithms + + + April, 1998 + + + + + + Matthew + + + Austern + + + + + + + Generic Programming + + + + + + + + <link xmlns:xlink="http://www.w3.org/1999/xlink" + xlink:href="www.boost.org/doc/libs/release/libs/timer/"> + Boost Timer Library + </link> + + + + + + Beeman + + + Dawes + + + + + + + Boost + + + + + + + + <link xmlns:xlink="http://www.w3.org/1999/xlink" + xlink:href="www.boost.org/doc/libs/release/libs/pool/"> + Boost Pool Library + </link> + + + + + + Stephen + + + Cleary + + + + + + + Boost + + + + + + + + + <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> + + + + + + Maddock + + + John + + + + + + + Stephen + + + Cleary + + + + + + + Boost + + + + + + + + <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> + + + + + + Gerth + + + Stolting Brodal + + + + + + + + + + Efficient C++ Programming Techniques + + + 1997 + + + + + + + D. + + + Bulka + + + + + + + D. + + + Mayhew + + + + + + + + Addison-Wesley Publishing Company + + + + + + + + Introduction to Algorithms, 2nd edition + + + 2001 + + + + + + T. H. + + + Cormen + + + + + + + + C. E. + + + Leiserson + + + + + + + + R. L. + + + Rivest + + + + + + + + C. + + + Stein + + + + + + + MIT Press + + + + + + + + Balls and bins: A study in negative dependence + + + 1998 + + + + + + D. + + + Dubashi + + + + + + + D. + + + Ranjan + + + + + + + + Random Structures and Algorithms 13 + + + + + + + + + Extendible hashing - a fast access method for dynamic files + + + 1979 + + + + + + + R. + + + Fagin + + + + + + + J. + + + Nievergelt + + + + + + + N. + + + Pippenger + + + + + + + H. R. + + + Strong + + + + + + + + ACM Trans. Database Syst. 4 + + + + + + + + + + <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> + + + + 2000 + + + + + + Jean-Christophe + + + Filliatre + + + + + + + + + + + <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> + + + 1986 + + + + + + M. L. + + + Fredman + + + + + + + R. + + + Sedgewick + + + + + + + D. D. + + + Sleator + + + + + + + R. E. + + + Tarjan + + + + + + + + + + + Design Patterns - Elements of Reusable Object-Oriented Software + + + 1995 + + + + + + E. + + + Gamma + + + + + + + R. + + + Helm + + + + + + + R. + + + Johnson + + + + + + + J. + + + Vlissides + + + + + + + Addison-Wesley Publishing Company + + + + + + + + + Order-preserving key transformations + + + 1986 + + + + + + A. K. + + + Garg + + + + + + + C. C. + + + Gotlieb + + + + + + + + Trans. Database Syst. 11 + + + + + + + + Making a real hash of things + + + May 2002 + + + + + + J. + + + Hyslop + + + + + + + Herb + + + Sutter + + + + + + + + C++ Report + + + + + + + + + The C++ Standard Library - A Tutorial and Reference + + + 2001 + + + + + + N. M. + + + Jossutis + + + + + + Addison-Wesley Publishing Company + + + + + + + + <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> + + + 1999 + + + + + + + Haim + + + Kaplan + + + + + + + Robert E. + + + Tarjan + + + + + + + + + + + Are Set Iterators Mutable or Immutable? + + + October 2000 + + + + + + Angelika + + + Langer + + + + + + + + Klaus + + + Kleft + + + + + + + + C/C++ Users Jornal + + + + + + + + The Art of Computer Programming - Sorting and Searching + + + 1998 + + + + + + D. E. + + + Knuth + + + + + + + Addison-Wesley Publishing Company + + + + + + + + Data abstraction and hierarchy + + + May 1998 + + + + + + B. + + + Liskov + + + + + + + SIGPLAN Notices 23 + + + + + + + + Linear hashing: A new tool for file and table addressing + + + June 1980 + + + + + + W. + + + Litwin + + + + + + + Proceedings of International Conference on Very Large Data Bases + + + + + + + + <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> + + + 2005 + + + + + + Maverik + + + Woo + + + + + + + + + More Effective C++: 35 New Ways to Improve Your Programs and Designs + + + 1996 + + + + + + Scott + + + Meyers + + + + + + + Addison-Wesley Publishing Company + + + + + + + + How Non-Member Functions Improve Encapsulation + + + 2000 + + + + + + Scott + + + Meyers + + + + + + + C/C++ Users Journal + + + + + + + + Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library + + + 2001 + + + + + + Scott + + + Meyers + + + + + + + Addison-Wesley Publishing Company + + + + + + + + Class Template, Member Template - or Both? + + + 2003 + + + + + + Scott + + + Meyers + + + + + + + C/C++ Users Journal + + + + + + + + Randomized Algorithms + + + 2003 + + + + + + R. + + + Motwani + + + + + + + P. + + + Raghavan + + + + + + + Cambridge University Press + + + + + + + + + <link xmlns:xlink="http://www.w3.org/1999/xlink" + xlink:href="https://www.microsoft.com/com/"> + COM: Component Model Object Technologies + </link> + + + + Microsoft + + + + + + + + Rationale for Adding Hash Tables to the C++ Standard Template Library + + + 1995 + + + + + + David R. + + + Musser + + + + + + + + + + STL Tutorial and Reference Guide + + + 1996 + + + + + + + David R. + + + Musser + + + + + + + A. + + + Saini + + + + + + + Addison-Wesley Publishing Company + + + + + + + + + + <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> + + + January 1996 + + + + + + Mark + + + Nelson + + + + + + + Dr. Dobbs Journal + + + + + + + + + Fast mergeable integer maps + + + September 1998 + + + + + + C. + + + Okasaki + + + + + + + A. + + + Gill + + + + + + + In Workshop on ML + + + + + + + + <link xmlns:xlink="http://www.w3.org/1999/xlink" + xlink:href="http://www.sgi.com/tech/stl/"> + Standard Template Library Programmer's Guide + </link> + + + + + Matt + + + Austern + + + + + + + SGI + + + + + + + + <link xmlns:xlink="http://www.w3.org/1999/xlink" + xlink:href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/select.html"> + select + </link> + + + + + + + + Amortized Efficiency of List Update Problems + + + 1984 + + + + + + D. D. + + + Sleator + + + + + + + + R. E. + + + Tarjan + + + + + + + + ACM Symposium on Theory of Computing + + + + + + + + Self-Adjusting Binary Search Trees + + + 1985 + + + + + + + D. D. + + + Sleator + + + + + + + + R. E. + + + Tarjan + + + + + + + + ACM Symposium on Theory of Computing + + + + + + + + The Standard Template Library + + + 1984 + + + + + + A. A. + + + Stepanov + + + + + + + M. + + + Lee + + + + + + + + + + The C++ Programming Langugage + + + 1997 + + + + + + Bjarne + + + Stroustrup + + + + + + + Addison-Wesley Publishing Company + + + + + + + + C++ Templates: The Complete Guide + + + 2002 + + + + + + D. + + + Vandevoorde + + + + + + + + N. M. + + + Josuttis + + + + + + + Addison-Wesley Publishing Company + + + + + + + + + <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> + + + 1996 + + + + + + C. A. + + + Wickland + + + + + + + National Psychological Institute + + + + + 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 2cad15ceea9..241ec9f0e33 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.
For more details, consult the files in - testsuite/ext/pb_ds/regression. + testsuite/ext/pb_ds/regression. +
@@ -68,16 +69,12 @@ the number of values inserted. It uses the test file: - - performance/ext/pb_ds/text_find_timing_test.cc - + performance/ext/pb_ds/text_find_timing_test.cc And uses the data file: - - filethirty_years_among_the_dead_preproc.txt - + filethirty_years_among_the_dead_preproc.txt The test checks the effect of different range-hashing @@ -398,9 +395,7 @@ It uses the test file: - - performance/ext/pb_ds/random_int_find_timing.cc - + performance/ext/pb_ds/random_int_find_timing.cc The test checks the effect of different underlying @@ -917,9 +912,7 @@ It uses the test file: - - performance/ext/pb_ds/random_int_subscript_find_timing.cc - + performance/ext/pb_ds/random_int_subscript_find_timing.cc The test checks the effect of different underlying @@ -1416,9 +1409,7 @@ It uses the test file: - - performance/ext/pb_ds/random_int_subscript_insert_timing.cc - + performance/ext/pb_ds/random_int_subscript_insert_timing.cc The test checks the effect of different underlying @@ -1955,9 +1946,7 @@ It uses the test file: - - performance/ext/pb_ds/hash_zlob_random_int_find_timing.cc - + performance/ext/pb_ds/hash_zlob_random_int_find_timing.cc The test checks the effect of different range-hashing @@ -2254,9 +2243,7 @@ It uses the test file: - - performance/ext/pb_ds/hash_random_int_erase_mem_usage.cc - + performance/ext/pb_ds/hash_random_int_erase_mem_usage.cc @@ -2536,9 +2523,7 @@ It uses the test file: - - performance/ext/pb_ds/tree_text_insert_timing.cc - + performance/ext/pb_ds/tree_text_insert_timing.cc @@ -2912,9 +2897,7 @@ It uses the test file: - - performance/ext/pb_ds/text_find_timing.cc - + performance/ext/pb_ds/text_find_timing.cc @@ -3185,9 +3168,7 @@ It uses the test file: - - performance/ext/pb_ds/tree_text_lor_find_timing.cc - + performance/ext/pb_ds/tree_text_lor_find_timing.cc The test checks the effect of different underlying @@ -3424,9 +3405,7 @@ It uses the test file: - - performance/ext/pb_ds/tree_split_join_timing.cc - + performance/ext/pb_ds/tree_split_join_timing.cc @@ -3688,9 +3667,7 @@ It uses the test file: - - performance/ext/pb_ds/tree_order_statistics_timing.cc - + performance/ext/pb_ds/tree_order_statistics_timing.cc The test checks the performance difference of policies based @@ -3885,9 +3862,7 @@ It uses the test file: - - performance/ext/pb_ds/multimap_text_find_timing_small.cc - + performance/ext/pb_ds/multimap_text_find_timing_small.cc The test checks the find-time scalability of different @@ -4350,9 +4325,7 @@ It uses the test file: - - performance/ext/pb_ds/multimap_text_find_timing_large.cc - + performance/ext/pb_ds/multimap_text_find_timing_large.cc The test checks the find-time scalability of different @@ -4819,9 +4792,7 @@ It uses the test file: - - performance/ext/pb_ds/multimap_text_insert_timing_small.cc - + performance/ext/pb_ds/multimap_text_insert_timing_small.cc The test checks the insert-time scalability of different @@ -5288,9 +5259,7 @@ It uses the test file: - - performance/ext/pb_ds/multimap_text_insert_timing_large.cc - + performance/ext/pb_ds/multimap_text_insert_timing_large.cc The test checks the insert-time scalability of different @@ -5751,9 +5720,7 @@ It uses the test file: - - performance/ext/pb_ds/multimap_text_insert_mem_usage_small.cc - + performance/ext/pb_ds/multimap_text_insert_mem_usage_small.cc The test checks the memory scalability of different @@ -6213,9 +6180,7 @@ It uses the test file: - - performance/ext/pb_ds/multimap_text_insert_mem_usage_large.cc - + performance/ext/pb_ds/multimap_text_insert_mem_usage_large.cc The test checks the memory scalability of different @@ -6675,9 +6640,7 @@ It uses the test file: - - performance/ext/pb_ds/priority_queue_text_push_timing.cc - + performance/ext/pb_ds/priority_queue_text_push_timing.cc The test checks the effect of different underlying data @@ -7062,9 +7025,7 @@ It uses the test file: - - performance/ext/pb_ds/priority_queue_text_push_pop_timing.cc - + performance/ext/pb_ds/priority_queue_text_push_pop_timing.cc The test checks the effect of different underlying data @@ -7429,9 +7390,7 @@ It uses the test file: - - performance/ext/pb_ds/priority_queue_random_int_push_timing.cc - + performance/ext/pb_ds/priority_queue_random_int_push_timing.cc The test checks the effect of different underlying data @@ -7785,9 +7744,7 @@ It uses the test file: - - performance/ext/pb_ds/priority_queue_random_int_push_pop_timing.cc - + performance/ext/pb_ds/priority_queue_random_int_push_pop_timing.cc The test checks the effect of different underlying data @@ -8050,9 +8007,7 @@ number of values pushed to the container. It uses the test file: - - performance/ext/pb_ds/priority_queue_text_pop_mem_usage.cc - + performance/ext/pb_ds/priority_queue_text_pop_mem_usage.cc The test checks the effect of different underlying data @@ -8302,9 +8257,7 @@ the average time as a function of the number of values. It uses the test file: - - performance/ext/pb_ds/priority_queue_text_join_timing.cc - + performance/ext/pb_ds/priority_queue_text_join_timing.cc The test checks the effect of different underlying data @@ -8554,9 +8507,7 @@ It uses the test file: - - performance/ext/pb_ds/priority_queue_text_modify_up_timing.cc - + performance/ext/pb_ds/priority_queue_text_modify_up_timing.cc The test checks the effect of different underlying data @@ -8920,9 +8871,7 @@ It uses the test file: - - performance/ext/pb_ds/priority_queue_text_modify_down_timing.cc - + performance/ext/pb_ds/priority_queue_text_modify_down_timing.cc The main purpose of this test is to contrast Priority Queue @@ -9771,4 +9720,4 @@ - \ No newline at end of file +