Re: [PATCH v2] libstdc++: Document std::chrono::tzdb database implementation.
Tomasz Kaminski <[email protected]> Mon, 3 Aug 2026 18:30:26 +0200
| Newsgroups | gmane.comp.gcc.patches,gmane.comp.gcc.libstdc++.devel |
|---|---|
| Message-ID | <CAKvuMXC6FMazg11WtBa-jnUhRwCsx0JKZJ4aiuE6CVFz3bt04g@mail.gmail.com> |
On Mon, Aug 3, 2026 at 6:20 PM Jonathan Wakely <[email protected]> wrote: > From: Tomasz Kamiński <[email protected]> > > libstdc++-v3/ChangeLog: > > * doc/Makefile.am: Add time.xml. > * doc/Makefile.in: Regenerate. > * doc/html/*: Regenerate. > * doc/xml/manual/spine.xml: Add time.xml. > * doc/xml/manual/time.xml: New file. > --- > > Rather than reviewing Tomasz's patch for this by adding loads of inline > comments, I thought it might be easier to just send a revised version of > the time.xml file. > I have read your updates for time.xml and they look good to me. Will you merge it? > > libstdc++-v3/doc/Makefile.am | 1 + > libstdc++-v3/doc/Makefile.in | 1 + > libstdc++-v3/doc/html/index.html | 15 +- > libstdc++-v3/doc/html/manual/api.html | 2 +- > libstdc++-v3/doc/html/manual/atomics.html | 8 +- > .../doc/html/manual/bitmap_allocator.html | 4 +- > .../html/manual/bitmap_allocator_impl.html | 6 +- > libstdc++-v3/doc/html/manual/concurrency.html | 8 +- > libstdc++-v3/doc/html/manual/debug.html | 6 +- > libstdc++-v3/doc/html/manual/debug_mode.html | 6 +- > .../doc/html/manual/debug_mode_design.html | 4 +- > .../doc/html/manual/debug_mode_semantics.html | 4 +- > .../doc/html/manual/debug_mode_using.html | 6 +- > .../doc/html/manual/ext_algorithms.html | 6 +- > .../doc/html/manual/ext_compile_checks.html | 6 +- > .../doc/html/manual/ext_concurrency.html | 6 +- > .../doc/html/manual/ext_concurrency_impl.html | 4 +- > .../doc/html/manual/ext_concurrency_use.html | 2 +- > .../doc/html/manual/ext_containers.html | 4 +- > .../doc/html/manual/ext_demangling.html | 6 +- > libstdc++-v3/doc/html/manual/ext_io.html | 6 +- > .../doc/html/manual/ext_iterators.html | 6 +- > .../doc/html/manual/ext_numerics.html | 6 +- > libstdc++-v3/doc/html/manual/ext_preface.html | 4 +- > libstdc++-v3/doc/html/manual/ext_sgi.html | 4 +- > .../doc/html/manual/ext_utilities.html | 6 +- > libstdc++-v3/doc/html/manual/extensions.html | 8 +- > libstdc++-v3/doc/html/manual/fstreams.html | 2 +- > libstdc++-v3/doc/html/manual/index.html | 31 ++- > libstdc++-v3/doc/html/manual/io.html | 13 +- > libstdc++-v3/doc/html/manual/io_and_c.html | 6 +- > libstdc++-v3/doc/html/manual/memory.html | 6 +- > .../doc/html/manual/mt_allocator.html | 4 +- > .../doc/html/manual/mt_allocator_design.html | 4 +- > .../html/manual/mt_allocator_ex_multi.html | 4 +- > .../html/manual/mt_allocator_ex_single.html | 2 +- > .../doc/html/manual/mt_allocator_impl.html | 2 +- > .../doc/html/manual/numerics_and_c.html | 8 +- > .../doc/html/manual/parallel_mode.html | 4 +- > .../doc/html/manual/parallel_mode_design.html | 2 +- > .../html/manual/parallel_mode_semantics.html | 4 +- > .../doc/html/manual/parallel_mode_test.html | 4 +- > .../doc/html/manual/parallel_mode_using.html | 4 +- > .../policy_based_data_structures_test.html | 2 +- > .../html/manual/policy_data_structures.html | 16 +- > .../manual/policy_data_structures_ack.html | 4 +- > .../manual/policy_data_structures_design.html | 70 ++--- > .../manual/policy_data_structures_using.html | 6 +- > libstdc++-v3/doc/html/manual/status.html | 4 +- > .../doc/html/manual/std_contents.html | 9 +- > libstdc++-v3/doc/html/manual/streambufs.html | 4 +- > .../doc/html/manual/stringstreams.html | 2 +- > libstdc++-v3/doc/html/manual/test.html | 8 +- > libstdc++-v3/doc/html/manual/time.html | 176 +++++++++++++ > libstdc++-v3/doc/html/manual/using.html | 2 +- > .../doc/html/manual/using_macros.html | 10 +- > libstdc++-v3/doc/xml/manual/spine.xml | 10 +- > libstdc++-v3/doc/xml/manual/time.xml | 242 ++++++++++++++++++ > 58 files changed, 623 insertions(+), 187 deletions(-) > create mode 100644 libstdc++-v3/doc/html/manual/time.html > create mode 100644 libstdc++-v3/doc/xml/manual/time.xml > > diff --git a/libstdc++-v3/doc/Makefile.am b/libstdc++-v3/doc/Makefile.am > index 330b07ccf8ce..69f5faafc266 100644 > --- a/libstdc++-v3/doc/Makefile.am > +++ b/libstdc++-v3/doc/Makefile.am > @@ -357,6 +357,7 @@ xml_sources_manual = \ > ${xml_dir}/manual/support.xml \ > ${xml_dir}/manual/test.xml \ > ${xml_dir}/manual/test_policy_data_structures.xml \ > + ${xml_dir}/manual/time.xml \ > ${xml_dir}/manual/using.xml \ > ${xml_dir}/manual/using_exceptions.xml \ > ${xml_dir}/manual/utilities.xml \ > diff --git a/libstdc++-v3/doc/Makefile.in b/libstdc++-v3/doc/Makefile.in > index 6e7a5a0f9084..39a6988d4853 100644 > --- a/libstdc++-v3/doc/Makefile.in > +++ b/libstdc++-v3/doc/Makefile.in > @@ -509,6 +509,7 @@ xml_sources_manual = \ > ${xml_dir}/manual/support.xml \ > ${xml_dir}/manual/test.xml \ > ${xml_dir}/manual/test_policy_data_structures.xml \ > + ${xml_dir}/manual/time.xml \ > ${xml_dir}/manual/using.xml \ > ${xml_dir}/manual/using_exceptions.xml \ > ${xml_dir}/manual/utilities.xml \ > diff --git a/libstdc++-v3/doc/html/index.html > b/libstdc++-v3/doc/html/index.html > index 857de004c951..874d4a234d62 100644 > --- a/libstdc++-v3/doc/html/index.html > +++ b/libstdc++-v3/doc/html/index.html > @@ -52,20 +52,23 @@ > </a></span></dt><dd><dl><dt><span class="section"><a > href="manual/algorithms.html#std.algorithms.mutating">Mutating</a></span></dt><dd><dl><dt><span > class="section"><a > href="manual/algorithms.html#algorithms.mutating.swap"><code > class="function">swap</code></a></span></dt><dd><dl><dt><span > class="section"><a > href="manual/algorithms.html#algorithms.swap.specializations">Specializations</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span > class="chapter"><a href="manual/numerics.html">12. > Numerics > > -</a></span></dt><dd><dl><dt><span class="section"><a > href="manual/numerics.html#std.numerics.complex">Complex</a></span></dt><dd><dl><dt><span > class="section"><a > href="manual/numerics.html#numerics.complex.processing">complex > Processing</a></span></dt></dl></dd><dt><span class="section"><a > href="manual/generalized_numeric_operations.html">Generalized > Operations</a></span></dt><dt><span class="section"><a > href="manual/numerics_and_c.html">Interacting with > C</a></span></dt><dd><dl><dt><span class="section"><a > href="manual/numerics_and_c.html#numerics.c.array">Numerics vs. > Arrays</a></span></dt><dt><span class="section"><a > href="manual/numerics_and_c.html#numerics.c.c99">C99</a></span></dt></dl></dd></dl></dd><dt><span > class="chapter"><a href="manual/io.html">13. > +</a></span></dt><dd><dl><dt><span class="section"><a > href="manual/numerics.html#std.numerics.complex">Complex</a></span></dt><dd><dl><dt><span > class="section"><a > href="manual/numerics.html#numerics.complex.processing">complex > Processing</a></span></dt></dl></dd><dt><span class="section"><a > href="manual/generalized_numeric_operations.html">Generalized > Operations</a></span></dt><dt><span class="section"><a > href="manual/numerics_and_c.html">Interacting with > C</a></span></dt><dd><dl><dt><span class="section"><a > href="manual/numerics_and_c.html#numerics.c.array">Numerics vs. > Arrays</a></span></dt><dt><span class="section"><a > href="manual/numerics_and_c.html#numerics.c.c99">C99</a></span></dt></dl></dd></dl></dd><dt><span > class="chapter"><a href="manual/time.html">13. > + Time > + > +</a></span></dt><dd><dl><dt><span class="section"><a > href="manual/time.html#std.time.zone.db">Time zone > database</a></span></dt><dd><dl><dt><span class="section"><a > href="manual/time.html#zone.db.zic">tzdb uses zic > format</a></span></dt><dt><span class="section"><a > href="manual/time.html#zone.current">current zone</a></span></dt><dt><span > class="section"><a href="manual/time.html#zone.db.sources">data > sources</a></span></dt><dt><span class="section"><a > href="manual/time.html#zone.db.iterator">tzdb_list::const_iterator extends > lifetime</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a > href="manual/io.html">14. > Input and Output > > -</a></span></dt><dd><dl><dt><span class="section"><a href="manual/io.html# > std.io.objects">Iostream Objects</a></span></dt><dt><span > class="section"><a href="manual/streambufs.html">Stream > Buffers</a></span></dt><dd><dl><dt><span class="section"><a > href="manual/streambufs.html#io.streambuf.derived">Derived streambuf > Classes</a></span></dt><dt><span class="section"><a > href="manual/streambufs.html#io.streambuf.buffering">Buffering</a></span></dt></dl></dd><dt><span > class="section"><a href="manual/stringstreams.html">Memory Based > Streams</a></span></dt><dd><dl><dt><span class="section"><a > href="manual/stringstreams.html#std.io.memstreams.compat">Compatibility > With strstream</a></span></dt></dl></dd><dt><span class="section"><a > href="manual/fstreams.html">File Based > Streams</a></span></dt><dd><dl><dt><span class="section"><a > href="manual/fstreams.html#std.io.filestreams.copying_a_file">Copying a > File</a></span></dt><dt><span class="section"><a > href="manual/fstreams.html#std.io.filestreams.binary">Binary Input and > Output</a></span></dt></dl></dd><dt><span class="section"><a > href="manual/io_and_c.html">Interacting with > C</a></span></dt><dd><dl><dt><span class="section"><a > href="manual/io_and_c.html#std.io.c.FILE">Using FILE* and file > descriptors</a></span></dt><dt><span class="section"><a > href="manual/io_and_c.html#std.io.c.sync">Performance</a></span></dt></dl></dd></dl></dd><dt><span > class="chapter"><a href="manual/atomics.html">14. > +</a></span></dt><dd><dl><dt><span class="section"><a href="manual/io.html# > std.io.objects">Iostream Objects</a></span></dt><dt><span > class="section"><a href="manual/streambufs.html">Stream > Buffers</a></span></dt><dd><dl><dt><span class="section"><a > href="manual/streambufs.html#io.streambuf.derived">Derived streambuf > Classes</a></span></dt><dt><span class="section"><a > href="manual/streambufs.html#io.streambuf.buffering">Buffering</a></span></dt></dl></dd><dt><span > class="section"><a href="manual/stringstreams.html">Memory Based > Streams</a></span></dt><dd><dl><dt><span class="section"><a > href="manual/stringstreams.html#std.io.memstreams.compat">Compatibility > With strstream</a></span></dt></dl></dd><dt><span class="section"><a > href="manual/fstreams.html">File Based > Streams</a></span></dt><dd><dl><dt><span class="section"><a > href="manual/fstreams.html#std.io.filestreams.copying_a_file">Copying a > File</a></span></dt><dt><span class="section"><a > href="manual/fstreams.html#std.io.filestreams.binary">Binary Input and > Output</a></span></dt></dl></dd><dt><span class="section"><a > href="manual/io_and_c.html">Interacting with > C</a></span></dt><dd><dl><dt><span class="section"><a > href="manual/io_and_c.html#std.io.c.FILE">Using FILE* and file > descriptors</a></span></dt><dt><span class="section"><a > href="manual/io_and_c.html#std.io.c.sync">Performance</a></span></dt></dl></dd></dl></dd><dt><span > class="chapter"><a href="manual/atomics.html">15. > Atomics > > -</a></span></dt><dd><dl><dt><span class="section"><a > href="manual/atomics.html#std.atomics.api">API > Reference</a></span></dt></dl></dd><dt><span class="chapter"><a > href="manual/concurrency.html">15. > +</a></span></dt><dd><dl><dt><span class="section"><a > href="manual/atomics.html#std.atomics.api">API > Reference</a></span></dt></dl></dd><dt><span class="chapter"><a > href="manual/concurrency.html">16. > Concurrency > > </a></span></dt><dd><dl><dt><span class="section"><a > href="manual/concurrency.html#std.concurrency.api">API > Reference</a></span></dt></dl></dd></dl></dd><dt><span class="part"><a > href="manual/extensions.html">III. > Extensions > > -</a></span></dt><dd><dl><dt><span class="preface"><a > href="manual/ext_preface.html"></a></span></dt><dt><span class="chapter"><a > href="manual/ext_compile_checks.html">16. Compile Time > Checks</a></span></dt><dt><span class="chapter"><a > href="manual/debug_mode.html">17. Debug > Mode</a></span></dt><dd><dl><dt><span class="section"><a > href="manual/debug_mode.html#manual.ext.debug_mode.intro">Intro</a></span></dt><dt><span > class="section"><a > href="manual/debug_mode_semantics.html">Semantics</a></span></dt><dt><span > class="section"><a > href="manual/debug_mode_using.html">Using</a></span></dt><dd><dl><dt><span > class="section"><a > href="manual/debug_mode_using.html#debug_mode.using.mode">Using the Debug > Mode</a></span></dt><dt><span class="section"><a > href="manual/debug_mode_using.html#debug_mode.using.specific">Using a > Specific Debug Container</a></span></dt></dl></dd><dt><span > class="section"><a > href="manual/debug_mode_design.html">Design</a></span></dt><dd><dl><dt><span > class="section"><a > href="manual/debug_mode_design.html#debug_mode.design.goals">Goals</a></span></dt><dt><span > class="section"><a > href="manual/debug_mode_design.html#debug_mode.design.methods">Methods</a></span></dt><dd><dl><dt><span > class="section"><a > href="manual/debug_mode_design.html#debug_mode.design.methods.wrappers">The > Wrapper Model</a></span></dt><dd><dl><dt><span class="section"><a > href="manual/debug_mode_design.html#debug_mode.design.methods.safe_iter">Safe > Iterators</a></span></dt><dt><span class="section"><a > href="manual/debug_mode_design.html#debug_mode.design.methods.safe_seq">Safe > Sequences (Containers)</a></span></dt></dl></dd><dt><span > class="section"><a > href="manual/debug_mode_design.html#debug_mode.design.methods.precond">Precondition > Checking</a></span></dt><dt><span class="section"><a > href="manual/debug_mode_design.html#debug_mode.design.methods.coexistence">Release- > and debug-mode coexistence</a></span></dt><dd><dl><dt><span > class="section"><a > href="manual/debug_mode_design.html#methods.coexistence.compile">Compile-time > coexistence of release- and debug-mode components</a></span></dt><dt><span > class="section"><a > href="manual/debug_mode_design.html#methods.coexistence.link">Link- and > run-time coexistence of release- and > - debug-mode components</a></span></dt><dt><span class="section"><a > href="manual/debug_mode_design.html#methods.coexistence.alt">Alternatives > for Coexistence</a></span></dt></dl></dd></dl></dd><dt><span > class="section"><a > href="manual/debug_mode_design.html#debug_mode.design.other">Other > Implementations</a></span></dt></dl></dd></dl></dd><dt><span > class="chapter"><a href="manual/parallel_mode.html">18. Parallel > Mode</a></span></dt><dd><dl><dt><span class="section"><a > href="manual/parallel_mode.html#manual.ext.parallel_mode.intro">Intro</a></span></dt><dt><span > class="section"><a > href="manual/parallel_mode_semantics.html">Semantics</a></span></dt><dt><span > class="section"><a > href="manual/parallel_mode_using.html">Using</a></span></dt><dd><dl><dt><span > class="section"><a > href="manual/parallel_mode_using.html#parallel_mode.using.prereq_flags">Prerequisite > Compiler Flags</a></span></dt><dt><span class="section"><a > href="manual/parallel_mode_using.html#parallel_mode.using.parallel_mode">Using > Parallel Mode</a></span></dt><dt><span class="section"><a > href="manual/parallel_mode_using.html#parallel_mode.using.specific">Using > Specific Parallel Components</a></span></dt></dl></dd><dt><span > class="section"><a > href="manual/parallel_mode_design.html">Design</a></span></dt><dd><dl><dt><span > class="section"><a > href="manual/parallel_mode_design.html#parallel_mode.design.intro">Interface > Basics</a></span></dt><dt><span class="section"><a > href="manual/parallel_mode_design.html#parallel_mode.design.tuning">Configuration > and Tuning</a></span></dt><dd><dl><dt><span class="section"><a > href="manual/parallel_mode_design.html#parallel_mode.design.tuning.omp">Setting > up the OpenMP Environment</a></span></dt><dt><span class="section"><a > href="manual/parallel_mode_design.html#parallel_mode.design.tuning.compile">Compile > Time Switches</a></span></dt><dt><span class="section"><a > href="manual/parallel_mode_design.html#parallel_mode.design.tuning.settings">Run > Time Settings and Defaults</a></span></dt></dl></dd><dt><span > class="section"><a > href="manual/parallel_mode_design.html#parallel_mode.design.impl">Implementation > Namespaces</a></span></dt></dl></dd><dt><span class="section"><a > href="manual/parallel_mode_test.html">Testing</a></span></dt><dt><span > class="bibliography"><a > href="manual/parallel_mode.html#parallel_mode.biblio">Bibliography</a></span></dt></dl></dd><dt><span > class="chapter"><a href="manual/mt_allocator.html">19. The > mt_allocator</a></span></dt><dd><dl><dt><span class="section"><a > href="manual/mt_allocator.html#allocator.mt.intro">Intro</a></span></dt><dt><span > class="section"><a href="manual/mt_allocator_design.html">Design > Issues</a></span></dt><dd><dl><dt><span class="section"><a > href="manual/mt_allocator_design.html#allocator.mt.overview">Overview</a></span></dt></dl></dd><dt><span > class="section"><a > href="manual/mt_allocator_impl.html">Implementation</a></span></dt><dd><dl><dt><span > class="section"><a > href="manual/mt_allocator_impl.html#allocator.mt.tune">Tunable > Parameters</a></span></dt><dt><span class="section"><a > href="manual/mt_allocator_impl.html#allocator.mt.init">Initialization</a></span></dt><dt><span > class="section"><a href="manual/mt_allocator_impl.html#allocator.mt.deallocation">Deallocation > Notes</a></span></dt></dl></dd><dt><span class="section"><a > href="manual/mt_allocator_ex_single.html">Single Thread > Example</a></span></dt><dt><span class="section"><a > href="manual/mt_allocator_ex_multi.html">Multiple Thread > Example</a></span></dt></dl></dd><dt><span class="chapter"><a > href="manual/bitmap_allocator.html">20. The > bitmap_allocator</a></span></dt><dd><dl><dt><span class="section"><a > href="manual/bitmap_allocator.html#allocator.bitmap.design">Design</a></span></dt><dt><span > class="section"><a > href="manual/bitmap_allocator_impl.html">Implementation</a></span></dt><dd><dl><dt><span > class="section"><a > href="manual/bitmap_allocator_impl.html#bitmap.impl.free_list_store">Free > List Store</a></span></dt><dt><span class="section"><a > href="manual/bitmap_allocator_impl.html#bitmap.impl.super_block">Super > Block</a></span></dt><dt><span class="section"><a > href="manual/bitmap_allocator_impl.html#bitmap.impl.super_block_data">Super > Block Data Layout</a></span></dt><dt><span class="section"><a > href="manual/bitmap_allocator_impl.html#bitmap.impl.max_wasted">Maximum > Wasted Percentage</a></span></dt><dt><span class="section"><a > href="manual/bitmap_allocator_impl.html#bitmap.impl.allocate"><code > class="function">allocate</code></a></span></dt><dt><span > class="section"><a > href="manual/bitmap_allocator_impl.html#bitmap.impl.deallocate"><code > class="function">deallocate</code></a></span></dt><dt><span > class="section"><a > href="manual/bitmap_allocator_impl.html#bitmap.impl.questions">Questions</a></span></dt><dd><dl><dt><span > class="section"><a > href="manual/bitmap_allocator_impl.html#bitmap.impl.question.1">1</a></span></dt><dt><span > class="section"><a > href="manual/bitmap_allocator_impl.html#bitmap.impl.question.2">2</a></span></dt><dt><span > class="section"><a > href="manual/bitmap_allocator_impl.html#bitmap.impl.question.3">3</a></span></dt></dl></dd><dt><span > class="section"><a > href="manual/bitmap_allocator_impl.html#bitmap.impl.locality">Locality</a></span></dt><dt><span > class="section"><a > href="manual/bitmap_allocator_impl.html#bitmap.impl.grow_policy">Overhead > and Grow Policy</a></span></dt></dl></dd></dl></dd><dt><span > class="chapter"><a href="manual/policy_data_structures.html">21. > Policy-Based Data Structures</a></span></dt><dd><dl><dt><span > class="section"><a > href="manual/policy_data_structures.html#pbds.intro">Intro</a></span></dt><dd><dl><dt><span > class="section"><a > href="manual/policy_data_structures.html#pbds.intro.issues">Performance > Issues</a></span></dt><dd><dl><dt><span class="section"><a > href="manual/policy_data_structures.html#pbds.intro.issues.associative">Associative</a></span></dt><dt><span > class="section"><a > href="manual/policy_data_structures.html#pbds.intro.issues.priority_queue">Priority > Que</a></span></dt></dl></dd><dt><span class="section"><a > href="manual/policy_data_structures.html#pbds.intro.motivation">Goals</a></span></dt><dd><dl><dt><span > class="section"><a > href="manual/policy_data_structures.html#pbds.intro.motivation.associative">Associative</a></span></dt><dd><dl><dt><span > class="section"><a > href="manual/policy_data_structures.html#motivation.associative.policy">Policy > Choices</a></span></dt><dt><span class="section"><a > href="manual/policy_data_structures.html#motivation.associative.underlying">Underlying > Data Structures</a></span></dt><dt><span class="section"><a > href="manual/policy_data_structures.html#motivation.associative.iterators">Iterators</a></span></dt><dt><span > class="section"><a > href="manual/policy_data_structures.html#motivation.associative.functions">Functional</a></span></dt></dl></dd><dt><span > class="section"><a > href="manual/policy_data_structures.html#pbds.intro.motivation.priority_queue">Priority > Queues</a></span></dt><dd><dl><dt><span class="section"><a > href="manual/policy_data_structures.html#motivation.priority_queue.policy">Policy > Choices</a></span></dt><dt><span class="section"><a > href="manual/policy_data_structures.html#motivation.priority_queue.underlying">Underlying > Data Structures</a></span></dt><dt><span class="section"><a > href="manual/policy_data_structures.html#motivation.priority_queue.binary_heap">Binary > Heaps</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span > class="section"><a > href="manual/policy_data_structures_using.html">Using</a></span></dt><dd><dl><dt><span > class="section"><a > href="manual/policy_data_structures_using.html#pbds.using.prereq">Prerequisites</a></span></dt><dt><span > class="section"><a > href="manual/policy_data_structures_using.html#pbds.using.organization">Organization</a></span></dt><dt><span > class="section"><a > href="manual/policy_data_structures_using.html#pbds.using.tutorial">Tutorial</a></span></dt><dd><dl><dt><span > class="section"><a > href="manual/policy_data_structures_using.html#pbds.using.tutorial.basic">Basic > Use</a></span></dt><dt><span class="section"><a > href="manual/policy_data_structures_using.html#pbds.using.tutorial.configuring"> > +</a></span></dt><dd><dl><dt><span class="preface"><a > href="manual/ext_preface.html"></a></span></dt><dt><span class="chapter"><a > href="manual/ext_compile_checks.html">17. Compile Time > Checks</a></span></dt><dt><span class="chapter"><a > href="manual/debug_mode.html">18. Debug > Mode</a></span></dt><dd><dl><dt><span class="section"><a > href="manual/debug_mode.html#manual.ext.debug_mode.intro">Intro</a></span></dt><dt><span > class="section"><a > href="manual/debug_mode_semantics.html">Semantics</a></span></dt><dt><span > class="section"><a > href="manual/debug_mode_using.html">Using</a></span></dt><dd><dl><dt><span > class="section"><a > href="manual/debug_mode_using.html#debug_mode.using.mode">Using the Debug > Mode</a></span></dt><dt><span class="section"><a > href="manual/debug_mode_using.html#debug_mode.using.specific">Using a > Specific Debug Container</a></span></dt></dl></dd><dt><span > class="section"><a > href="manual/debug_mode_design.html">Design</a></span></dt><dd><dl><dt><span > class="section"><a > href="manual/debug_mode_design.html#debug_mode.design.goals">Goals</a></span></dt><dt><span > class="section"><a > href="manual/debug_mode_design.html#debug_mode.design.methods">Methods</a></span></dt><dd><dl><dt><span > class="section"><a > href="manual/debug_mode_design.html#debug_mode.design.methods.wrappers">The > Wrapper Model</a></span></dt><dd><dl><dt><span class="section"><a > href="manual/debug_mode_design.html#debug_mode.design.methods.safe_iter">Safe > Iterators</a></span></dt><dt><span class="section"><a > href="manual/debug_mode_design.html#debug_mode.design.methods.safe_seq">Safe > Sequences (Containers)</a></span></dt></dl></dd><dt><span > class="section"><a > href="manual/debug_mode_design.html#debug_mode.design.methods.precond">Precondition > Checking</a></span></dt><dt><span class="section"><a > href="manual/debug_mode_design.html#debug_mode.design.methods.coexistence">Release- > and debug-mode coexistence</a></span></dt><dd><dl><dt><span > class="section"><a > href="manual/debug_mode_design.html#methods.coexistence.compile">Compile-time > coexistence of release- and debug-mode components</a></span></dt><dt><span > class="section"><a > href="manual/debug_mode_design.html#methods.coexistence.link">Link- and > run-time coexistence of release- and > + debug-mode components</a></span></dt><dt><span class="section"><a > href="manual/debug_mode_design.html#methods.coexistence.alt">Alternatives > for Coexistence</a></span></dt></dl></dd></dl></dd><dt><span > class="section"><a > href="manual/debug_mode_design.html#debug_mode.design.other">Other > Implementations</a></span></dt></dl></dd></dl></dd><dt><span > class="chapter"><a href="manual/parallel_mode.html">19. Parallel > Mode</a></span></dt><dd><dl><dt><span class="section"><a > href="manual/parallel_mode.html#manual.ext.parallel_mode.intro">Intro</a></span></dt><dt><span > class="section"><a > href="manual/parallel_mode_semantics.html">Semantics</a></span></dt><dt><span > class="section"><a > href="manual/parallel_mode_using.html">Using</a></span></dt><dd><dl><dt><span > class="section"><a > href="manual/parallel_mode_using.html#parallel_mode.using.prereq_flags">Prerequisite > Compiler Flags</a></span></dt><dt><span class="section"><a > href="manual/parallel_mode_using.html#parallel_mode.using.parallel_mode">Using > Parallel Mode</a></span></dt><dt><span class="section"><a > href="manual/parallel_mode_using.html#parallel_mode.using.specific">Using > Specific Parallel Components</a></span></dt></dl></dd><dt><span > class="section"><a > href="manual/parallel_mode_design.html">Design</a></span></dt><dd><dl><dt><span > class="section"><a > href="manual/parallel_mode_design.html#parallel_mode.design.intro">Interface > Basics</a></span></dt><dt><span class="section"><a > href="manual/parallel_mode_design.html#parallel_mode.design.tuning">Configuration > and Tuning</a></span></dt><dd><dl><dt><span class="section"><a > href="manual/parallel_mode_design.html#parallel_mode.design.tuning.omp">Setting > up the OpenMP Environment</a></span></dt><dt><span class="section"><a > href="manual/parallel_mode_design.html#parallel_mode.design.tuning.compile">Compile > Time Switches</a></span></dt><dt><span class="section"><a > href="manual/parallel_mode_design.html#parallel_mode.design.tuning.settings">Run > Time Settings and Defaults</a></span></dt></dl></dd><dt><span > class="section"><a > href="manual/parallel_mode_design.html#parallel_mode.design.impl">Implementation > Namespaces</a></span></dt></dl></dd><dt><span class="section"><a > href="manual/parallel_mode_test.html">Testing</a></span></dt><dt><span > class="bibliography"><a > href="manual/parallel_mode.html#parallel_mode.biblio">Bibliography</a></span></dt></dl></dd><dt><span > class="chapter"><a href="manual/mt_allocator.html">20. The > mt_allocator</a></span></dt><dd><dl><dt><span class="section"><a > href="manual/mt_allocator.html#allocator.mt.intro">Intro</a></span></dt><dt><span > class="section"><a href="manual/mt_allocator_design.html">Design > Issues</a></span></dt><dd><dl><dt><span class="section"><a > href="manual/mt_allocator_design.html#allocator.mt.overview">Overview</a></span></dt></dl></dd><dt><span > class="section"><a > href="manual/mt_allocator_impl.html">Implementation</a></span></dt><dd><dl><dt><span > class="section"><a > href="manual/mt_allocator_impl.html#allocator.mt.tune">Tunable > Parameters</a></span></dt><dt><span class="section"><a > href="manual/mt_allocator_impl.html#allocator.mt.init">Initialization</a></span></dt><dt><span > class="section"><a href="manual/mt_allocator_impl.html#allocator.mt.deallocation">Deallocation > Notes</a></span></dt></dl></dd><dt><span class="section"><a > href="manual/mt_allocator_ex_single.html">Single Thread > Example</a></span></dt><dt><span class="section"><a > href="manual/mt_allocator_ex_multi.html">Multiple Thread > Example</a></span></dt></dl></dd><dt><span class="chapter"><a > href="manual/bitmap_allocator.html">21. The > bitmap_allocator</a></span></dt><dd><dl><dt><span class="section"><a > href="manual/bitmap_allocator.html#allocator.bitmap.design">Design</a></span></dt><dt><span > class="section"><a > href="manual/bitmap_allocator_impl.html">Implementation</a></span></dt><dd><dl><dt><span > class="section"><a > href="manual/bitmap_allocator_impl.html#bitmap.impl.free_list_store">Free > List Store</a></span></dt><dt><span class="section"><a > href="manual/bitmap_allocator_impl.html#bitmap.impl.super_block">Super > Block</a></span></dt><dt><span class="section"><a > href="manual/bitmap_allocator_impl.html#bitmap.impl.super_block_data">Super > Block Data Layout</a></span></dt><dt><span class="section"><a > href="manual/bitmap_allocator_impl.html#bitmap.impl.max_wasted">Maximum > Wasted Percentage</a></span></dt><dt><span class="section"><a > href="manual/bitmap_allocator_impl.html#bitmap.impl.allocate"><code > class="function">allocate</code></a></span></dt><dt><span > class="section"><a > href="manual/bitmap_allocator_impl.html#bitmap.impl.deallocate"><code > class="function">deallocate</code></a></span></dt><dt><span > class="section"><a > href="manual/bitmap_allocator_impl.html#bitmap.impl.questions">Questions</a></span></dt><dd><dl><dt><span > class="section"><a > href="manual/bitmap_allocator_impl.html#bitmap.impl.question.1">1</a></span></dt><dt><span > class="section"><a > href="manual/bitmap_allocator_impl.html#bitmap.impl.question.2">2</a></span></dt><dt><span > class="section"><a > href="manual/bitmap_allocator_impl.html#bitmap.impl.question.3">3</a></span></dt></dl></dd><dt><span > class="section"><a > href="manual/bitmap_allocator_impl.html#bitmap.impl.locality">Locality</a></span></dt><dt><span > class="section"><a > href="manual/bitmap_allocator_impl.html#bitmap.impl.grow_policy">Overhead > and Grow Policy</a></span></dt></dl></dd></dl></dd><dt><span > class="chapter"><a href="manual/policy_data_structures.html">22. > Policy-Based Data Structures</a></span></dt><dd><dl><dt><span > class="section"><a > href="manual/policy_data_structures.html#pbds.intro">Intro</a></span></dt><dd><dl><dt><span > class="section"><a > href="manual/policy_data_structures.html#pbds.intro.issues">Performance > Issues</a></span></dt><dd><dl><dt><span class="section"><a > href="manual/policy_data_structures.html#pbds.intro.issues.associative">Associative</a></span></dt><dt><span > class="section"><a > href="manual/policy_data_structures.html#pbds.intro.issues.priority_queue">Priority > Que</a></span></dt></dl></dd><dt><span class="section"><a > href="manual/policy_data_structures.html#pbds.intro.motivation">Goals</a></span></dt><dd><dl><dt><span > class="section"><a > href="manual/policy_data_structures.html#pbds.intro.motivation.associative">Associative</a></span></dt><dd><dl><dt><span > class="section"><a > href="manual/policy_data_structures.html#motivation.associative.policy">Policy > Choices</a></span></dt><dt><span class="section"><a > href="manual/policy_data_structures.html#motivation.associative.underlying">Underlying > Data Structures</a></span></dt><dt><span class="section"><a > href="manual/policy_data_structures.html#motivation.associative.iterators">Iterators</a></span></dt><dt><span > class="section"><a > href="manual/policy_data_structures.html#motivation.associative.functions">Functional</a></span></dt></dl></dd><dt><span > class="section"><a > href="manual/policy_data_structures.html#pbds.intro.motivation.priority_queue">Priority > Queues</a></span></dt><dd><dl><dt><span class="section"><a > href="manual/policy_data_structures.html#motivation.priority_queue.policy">Policy > Choices</a></span></dt><dt><span class="section"><a > href="manual/policy_data_structures.html#motivation.priority_queue.underlying">Underlying > Data Structures</a></span></dt><dt><span class="section"><a > href="manual/policy_data_structures.html#motivation.priority_queue.binary_heap">Binary > Heaps</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span > class="section"><a > href="manual/policy_data_structures_using.html">Using</a></span></dt><dd><dl><dt><span > class="section"><a > href="manual/policy_data_structures_using.html#pbds.using.prereq">Prerequisites</a></span></dt><dt><span > class="section"><a > href="manual/policy_data_structures_using.html#pbds.using.organization">Organization</a></span></dt><dt><span > class="section"><a > href="manual/policy_data_structures_using.html#pbds.using.tutorial">Tutorial</a></span></dt><dd><dl><dt><span > class="section"><a > href="manual/policy_data_structures_using.html#pbds.using.tutorial.basic">Basic > Use</a></span></dt><dt><span class="section"><a > href="manual/policy_data_structures_using.html#pbds.using.tutorial.configuring"> > Configuring via Template Parameters > </a></span></dt><dt><span class="section"><a > href="manual/policy_data_structures_using.html#pbds.using.tutorial.traits"> > Querying Container Attributes > @@ -127,7 +130,7 @@ > Text <code class="function">modify</code> Up > </a></span></dt><dt><span class="section"><a > href="manual/policy_based_data_structures_test.html#performance.priority_queue.text_modify_down"> > Text <code class="function">modify</code> Down > - </a></span></dt></dl></dd><dt><span class="section"><a > href="manual/policy_based_data_structures_test.html#pbds.test.performance.observations">Observations</a></span></dt><dd><dl><dt><span > class="section"><a > href="manual/policy_based_data_structures_test.html#observations.associative">Associative</a></span></dt><dt><span > class="section"><a > href="manual/policy_based_data_structures_test.html#observations.priority_queue">Priority_Queue</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span > class="section"><a > href="manual/policy_data_structures_ack.html">Acknowledgments</a></span></dt><dt><span > class="bibliography"><a > href="manual/policy_data_structures.html#pbds.biblio">Bibliography</a></span></dt></dl></dd><dt><span > class="chapter"><a href="manual/ext_containers.html">22. HP/SGI > Extensions</a></span></dt><dd><dl><dt><span class="section"><a > href="manual/ext_containers.html#manual.ext.containers.sgi">Backwards > Compatibility</a></span></dt><dt><span class="section"><a > href="manual/ext_sgi.html">Deprecated</a></span></dt></dl></dd><dt><span > class="chapter"><a href="manual/ext_utilities.html">23. > Utilities</a></span></dt><dt><span class="chapter"><a > href="manual/ext_algorithms.html">24. Algorithms</a></span></dt><dt><span > class="chapter"><a href="manual/ext_numerics.html">25. > Numerics</a></span></dt><dt><span class="chapter"><a > href="manual/ext_iterators.html">26. Iterators</a></span></dt><dt><span > class="chapter"><a href="manual/ext_io.html">27. Input and > Output</a></span></dt><dd><dl><dt><span class="section"><a > href="manual/ext_io.html#manual.ext.io.filebuf_derived">Derived > filebufs</a></span></dt></dl></dd><dt><span class="chapter"><a > href="manual/ext_demangling.html">28. Demangling</a></span></dt><dt><span > class="chapter"><a href="manual/ext_concurrency.html">29. > Concurrency</a></span></dt><dd><dl><dt><span class="section"><a > href="manual/ext_concurrency.html#manual.ext.concurrency.design">Design</a></span></dt><dd><dl><dt><span > class="section"><a > href="manual/ext_concurrency.html#manual.ext.concurrency.design.threads">Interface > to Locks and Mutexes</a></span></dt><dt><span class="section"><a > href="manual/ext_concurrency.html#manual.ext.concurrency.design.atomics">Interface > to Atomic Functions</a></span></dt></dl></dd><dt><span class="section"><a > href="manual/ext_concurrency_impl.html">Implementation</a></span></dt><dd><dl><dt><span > class="section"><a > href="manual/ext_concurrency_impl.html#manual.ext.concurrency.impl.atomic_fallbacks">Using > Built-in Atomic Functions</a></span></dt><dt><span class="section"><a > href="manual/ext_concurrency_impl.html#manual.ext.concurrency.impl.thread">Thread > Abstraction</a></span></dt></dl></dd><dt><span class="section"><a > href="manual/ext_concurrency_use.html">Use</a></span></dt></dl></dd></dl></dd><dt><span > class="part"><a href="manual/appendix.html">IV. > + </a></span></dt></dl></dd><dt><span class="section"><a > href="manual/policy_based_data_structures_test.html#pbds.test.performance.observations">Observations</a></span></dt><dd><dl><dt><span > class="section"><a > href="manual/policy_based_data_structures_test.html#observations.associative">Associative</a></span></dt><dt><span > class="section"><a > href="manual/policy_based_data_structures_test.html#observations.priority_queue">Priority_Queue</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span > class="section"><a > href="manual/policy_data_structures_ack.html">Acknowledgments</a></span></dt><dt><span > class="bibliography"><a > href="manual/policy_data_structures.html#pbds.biblio">Bibliography</a></span></dt></dl></dd><dt><span > class="chapter"><a href="manual/ext_containers.html">23. HP/SGI > Extensions</a></span></dt><dd><dl><dt><span class="section"><a > href="manual/ext_containers.html#manual.ext.containers.sgi">Backwards > Compatibility</a></span></dt><dt><span class="section"><a > href="manual/ext_sgi.html">Deprecated</a></span></dt></dl></dd><dt><span > class="chapter"><a href="manual/ext_utilities.html">24. > Utilities</a></span></dt><dt><span class="chapter"><a > href="manual/ext_algorithms.html">25. Algorithms</a></span></dt><dt><span > class="chapter"><a href="manual/ext_numerics.html">26. > Numerics</a></span></dt><dt><span class="chapter"><a > href="manual/ext_iterators.html">27. Iterators</a></span></dt><dt><span > class="chapter"><a href="manual/ext_io.html">28. Input and > Output</a></span></dt><dd><dl><dt><span class="section"><a > href="manual/ext_io.html#manual.ext.io.filebuf_derived">Derived > filebufs</a></span></dt></dl></dd><dt><span class="chapter"><a > href="manual/ext_demangling.html">29. Demangling</a></span></dt><dt><span > class="chapter"><a href="manual/ext_concurrency.html">30. > Concurrency</a></span></dt><dd><dl><dt><span class="section"><a > href="manual/ext_concurrency.html#manual.ext.concurrency.design">Design</a></span></dt><dd><dl><dt><span > class="section"><a > href="manual/ext_concurrency.html#manual.ext.concurrency.design.threads">Interface > to Locks and Mutexes</a></span></dt><dt><span class="section"><a > href="manual/ext_concurrency.html#manual.ext.concurrency.design.atomics">Interface > to Atomic Functions</a></span></dt></dl></dd><dt><span class="section"><a > href="manual/ext_concurrency_impl.html">Implementation</a></span></dt><dd><dl><dt><span > class="section"><a > href="manual/ext_concurrency_impl.html#manual.ext.concurrency.impl.atomic_fallbacks">Using > Built-in Atomic Functions</a></span></dt><dt><span class="section"><a > href="manual/ext_concurrency_impl.html#manual.ext.concurrency.impl.thread">Thread > Abstraction</a></span></dt></dl></dd><dt><span class="section"><a > href="manual/ext_concurrency_use.html">Use</a></span></dt></dl></dd></dl></dd><dt><span > class="part"><a href="manual/appendix.html">IV. > Appendices > </a></span></dt><dd><dl><dt><span class="appendix"><a > href="manual/appendix_contributing.html">A. > Contributing > diff --git a/libstdc++-v3/doc/html/manual/api.html > b/libstdc++-v3/doc/html/manual/api.html > index 2398bf495361..0ebf4251959d 100644 > --- a/libstdc++-v3/doc/html/manual/api.html > +++ b/libstdc++-v3/doc/html/manual/api.html > @@ -34,7 +34,7 @@ Removal of <code > class="filename"><ext/tree></code>, moved to <code class= > GCC 3.4 onwards the default allocator uses <code > class="code">new</code> anyway, > but for the optional pooling allocators the functionality is enabled by > setting <code class="literal">GLIBCXX_FORCE_NEW</code> in the > environment, see > - <a class="link" href="mt_allocator.html" title="Chapter 19. The > mt_allocator">the mt allocator chapter</a> > + <a class="link" href="mt_allocator.html" title="Chapter 20. The > mt_allocator">the mt allocator chapter</a> > for details. > </p><p>Error handling in iostreams cleaned up, made consistent. > </p></div><div class="section"><div class="titlepage"><div><div><h3 > class="title"><a id="api.rel_330"></a><code > class="constant">3.3</code></h3></div></div></div><p> > </p></div><div class="section"><div class="titlepage"><div><div><h3 > class="title"><a id="api.rel_340"></a><code > class="constant">3.4</code></h3></div></div></div><p> > diff --git a/libstdc++-v3/doc/html/manual/atomics.html > b/libstdc++-v3/doc/html/manual/atomics.html > index 416bf0acc6ab..ec9b73a2a2c3 100644 > --- a/libstdc++-v3/doc/html/manual/atomics.html > +++ b/libstdc++-v3/doc/html/manual/atomics.html > @@ -1,12 +1,12 @@ > <?xml version="1.0" encoding="UTF-8" standalone="no"?> > -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>Chapter 14. > Atomics</title><meta name="generator" content="DocBook XSL Stylesheets > Vsnapshot" /><meta name="keywords" content="ISO C++, library, atomic" > /><meta name="keywords" content="ISO C++, runtime, library" /><link > rel="home" href="../index.html" title="The GNU C++ Library" /><link > rel="up" href="std_contents.html" title="Part II. Standard Contents" > /><link rel="prev" href="io_and_c.html" title="Interacting with C" /><link > rel="next" href="concurrency.html" title="Chapter 15. Concurrency" > /></head><body><div class="navheader"><table width="100%" > summary="Navigation header"><tr><th colspan="3" align="center">Chapter 14. > +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>Chapter 15. > Atomics</title><meta name="generator" content="DocBook XSL Stylesheets > Vsnapshot" /><meta name="keywords" content="ISO C++, library, atomic" > /><meta name="keywords" content="ISO C++, runtime, library" /><link > rel="home" href="../index.html" title="The GNU C++ Library" /><link > rel="up" href="std_contents.html" title="Part II. Standard Contents" > /><link rel="prev" href="io_and_c.html" title="Interacting with C" /><link > rel="next" href="concurrency.html" title="Chapter 16. Concurrency" > /></head><body><div class="navheader"><table width="100%" > summary="Navigation header"><tr><th colspan="3" align="center">Chapter 15. > Atomics > > </th></tr><tr><td width="20%" align="left"><a accesskey="p" > href="io_and_c.html">Prev</a> </td><th width="60%" align="center">Part II. > Standard Contents > - </th><td width="20%" align="right"> <a accesskey="n" > href="concurrency.html">Next</a></td></tr></table><hr /></div><div > class="chapter"><div class="titlepage"><div><div><h2 class="title"><a > id="std.atomics"></a>Chapter 14. > + </th><td width="20%" align="right"> <a accesskey="n" > href="concurrency.html">Next</a></td></tr></table><hr /></div><div > class="chapter"><div class="titlepage"><div><div><h2 class="title"><a > id="std.atomics"></a>Chapter 15. > Atomics > - <a id="id-1.3.4.12.1.1.1" class="indexterm"></a> > + <a id="id-1.3.4.13.1.1.1" class="indexterm"></a> > </h2></div></div></div><div class="toc"><p><strong>Table of > Contents</strong></p><dl class="toc"><dt><span class="section"><a > href="atomics.html#std.atomics.api">API > Reference</a></span></dt></dl></div><p> > Facilities for atomic operations. > </p><div class="section"><div class="titlepage"><div><div><h2 > class="title" style="clear: both"><a id="std.atomics.api"></a>API > Reference</h2></div></div></div><p> > @@ -24,7 +24,7 @@ > <code class="classname">atomic<int></code>. > </p><p> > Full API details. > - </p></div></div><div class="navfooter"><hr /><table width="100%" > summary="Navigation footer"><tr><td width="40%" align="left"><a > accesskey="p" href="io_and_c.html">Prev</a> </td><td width="20%" > align="center"><a accesskey="u" href="std_contents.html">Up</a></td><td > width="40%" align="right"> <a accesskey="n" > href="concurrency.html">Next</a></td></tr><tr><td width="40%" align="left" > valign="top">Interacting with C </td><td width="20%" align="center"><a > accesskey="h" href="../index.html">Home</a></td><td width="40%" > align="right" valign="top"> Chapter 15. > + </p></div></div><div class="navfooter"><hr /><table width="100%" > summary="Navigation footer"><tr><td width="40%" align="left"><a > accesskey="p" href="io_and_c.html">Prev</a> </td><td width="20%" > align="center"><a accesskey="u" href="std_contents.html">Up</a></td><td > width="40%" align="right"> <a accesskey="n" > href="concurrency.html">Next</a></td></tr><tr><td width="40%" align="left" > valign="top">Interacting with C </td><td width="20%" align="center"><a > accesskey="h" href="../index.html">Home</a></td><td width="40%" > align="right" valign="top"> Chapter 16. > Concurrency > > </td></tr></table></div></body></html> > \ No newline at end of file > diff --git a/libstdc++-v3/doc/html/manual/bitmap_allocator.html > b/libstdc++-v3/doc/html/manual/bitmap_allocator.html > index 51f52ea9941c..265bba92764d 100644 > --- a/libstdc++-v3/doc/html/manual/bitmap_allocator.html > +++ b/libstdc++-v3/doc/html/manual/bitmap_allocator.html > @@ -1,8 +1,8 @@ > <?xml version="1.0" encoding="UTF-8" standalone="no"?> > -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>Chapter 20. The > bitmap_allocator</title><meta name="generator" content="DocBook XSL > Stylesheets Vsnapshot" /><meta name="keywords" content="ISO C++, allocator" > /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" > content="ISO C++, runtime, library" /><link rel="home" href="../index.html" > title="The GNU C++ Library" /><link rel="up" href="extensions.html" > title="Part III. Extensions" /><link rel="prev" > href="mt_allocator_ex_multi.html" title="Multiple Thread Example" /><link > rel="next" href="bitmap_allocator_impl.html" title="Implementation" > /></head><body><div class="navheader"><table width="100%" > summary="Navigation header"><tr><th colspan="3" > align="center">Chapter 20. The bitmap_allocator</th></tr><tr><td > width="20%" align="left"><a accesskey="p" > href="mt_allocator_ex_multi.html">Prev</a> </td><th width="60%" > align="center">Part III. > +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>Chapter 21. The > bitmap_allocator</title><meta name="generator" content="DocBook XSL > Stylesheets Vsnapshot" /><meta name="keywords" content="ISO C++, allocator" > /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" > content="ISO C++, runtime, library" /><link rel="home" href="../index.html" > title="The GNU C++ Library" /><link rel="up" href="extensions.html" > title="Part III. Extensions" /><link rel="prev" > href="mt_allocator_ex_multi.html" title="Multiple Thread Example" /><link > rel="next" href="bitmap_allocator_impl.html" title="Implementation" > /></head><body><div class="navheader"><table width="100%" > summary="Navigation header"><tr><th colspan="3" > align="center">Chapter 21. The bitmap_allocator</th></tr><tr><td > width="20%" align="left"><a accesskey="p" > href="mt_allocator_ex_multi.html">Prev</a> </td><th width="60%" > align="center">Part III. > Extensions > > -</th><td width="20%" align="right"> <a accesskey="n" > href="bitmap_allocator_impl.html">Next</a></td></tr></table><hr > /></div><div class="chapter"><div class="titlepage"><div><div><h2 > class="title"><a id="manual.ext.allocator.bitmap"></a>Chapter 20. The > bitmap_allocator</h2></div></div></div><div class="toc"><p><strong>Table of > Contents</strong></p><dl class="toc"><dt><span class="section"><a > href="bitmap_allocator.html#allocator.bitmap.design">Design</a></span></dt><dt><span > class="section"><a > href="bitmap_allocator_impl.html">Implementation</a></span></dt><dd><dl><dt><span > class="section"><a > href="bitmap_allocator_impl.html#bitmap.impl.free_list_store">Free List > Store</a></span></dt><dt><span class="section"><a > href="bitmap_allocator_impl.html#bitmap.impl.super_block">Super > Block</a></span></dt><dt><span class="section"><a > href="bitmap_allocator_impl.html#bitmap.impl.super_block_data">Super Block > Data Layout</a></span></dt><dt><span class="section"><a > href="bitmap_allocator_impl.html#bitmap.impl.max_wasted">Maximum Wasted > Percentage</a></span></dt><dt><span class="section"><a > href="bitmap_allocator_impl.html#bitmap.impl.allocate"><code > class="function">allocate</code></a></span></dt><dt><span > class="section"><a > href="bitmap_allocator_impl.html#bitmap.impl.deallocate"><code > class="function">deallocate</code></a></span></dt><dt><span > class="section"><a > href="bitmap_allocator_impl.html#bitmap.impl.questions">Questions</a></span></dt><dd><dl><dt><span > class="section"><a > href="bitmap_allocator_impl.html#bitmap.impl.question.1">1</a></span></dt><dt><span > class="section"><a > href="bitmap_allocator_impl.html#bitmap.impl.question.2">2</a></span></dt><dt><span > class="section"><a > href="bitmap_allocator_impl.html#bitmap.impl.question.3">3</a></span></dt></dl></dd><dt><span > class="section"><a > href="bitmap_allocator_impl.html#bitmap.impl.locality">Locality</a></span></dt><dt><span > class="section"><a > href="bitmap_allocator_impl.html#bitmap.impl.grow_policy">Overhead and Grow > Policy</a></span></dt></dl></dd></dl></div><p> > +</th><td width="20%" align="right"> <a accesskey="n" > href="bitmap_allocator_impl.html">Next</a></td></tr></table><hr > /></div><div class="chapter"><div class="titlepage"><div><div><h2 > class="title"><a id="manual.ext.allocator.bitmap"></a>Chapter 21. The > bitmap_allocator</h2></div></div></div><div class="toc"><p><strong>Table of > Contents</strong></p><dl class="toc"><dt><span class="section"><a > href="bitmap_allocator.html#allocator.bitmap.design">Design</a></span></dt><dt><span > class="section"><a > href="bitmap_allocator_impl.html">Implementation</a></span></dt><dd><dl><dt><span > class="section"><a > href="bitmap_allocator_impl.html#bitmap.impl.free_list_store">Free List > Store</a></span></dt><dt><span class="section"><a > href="bitmap_allocator_impl.html#bitmap.impl.super_block">Super > Block</a></span></dt><dt><span class="section"><a > href="bitmap_allocator_impl.html#bitmap.impl.super_block_data">Super Block > Data Layout</a></span></dt><dt><span class="section"><a > href="bitmap_allocator_impl.html#bitmap.impl.max_wasted">Maximum Wasted > Percentage</a></span></dt><dt><span class="section"><a > href="bitmap_allocator_impl.html#bitmap.impl.allocate"><code > class="function">allocate</code></a></span></dt><dt><span > class="section"><a > href="bitmap_allocator_impl.html#bitmap.impl.deallocate"><code > class="function">deallocate</code></a></span></dt><dt><span > class="section"><a > href="bitmap_allocator_impl.html#bitmap.impl.questions">Questions</a></span></dt><dd><dl><dt><span > class="section"><a > href="bitmap_allocator_impl.html#bitmap.impl.question.1">1</a></span></dt><dt><span > class="section"><a > href="bitmap_allocator_impl.html#bitmap.impl.question.2">2</a></span></dt><dt><span > class="section"><a > href="bitmap_allocator_impl.html#bitmap.impl.question.3">3</a></span></dt></dl></dd><dt><span > class="section"><a > href="bitmap_allocator_impl.html#bitmap.impl.locality">Locality</a></span></dt><dt><span > class="section"><a > href="bitmap_allocator_impl.html#bitmap.impl.grow_policy">Overhead and Grow > Policy</a></span></dt></dl></dd></dl></div><p> > </p><div class="section"><div class="titlepage"><div><div><h2 > class="title" style="clear: both"><a > id="allocator.bitmap.design"></a>Design</h2></div></div></div><p> > As this name suggests, this allocator uses a bit-map to keep track > of the used and unused memory locations for its book-keeping > diff --git a/libstdc++-v3/doc/html/manual/bitmap_allocator_impl.html > b/libstdc++-v3/doc/html/manual/bitmap_allocator_impl.html > index 0c68eea720f4..44b5728e8087 100644 > --- a/libstdc++-v3/doc/html/manual/bitmap_allocator_impl.html > +++ b/libstdc++-v3/doc/html/manual/bitmap_allocator_impl.html > @@ -1,5 +1,5 @@ > <?xml version="1.0" encoding="UTF-8" standalone="no"?> > -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>Implementation</title><meta > name="generator" content="DocBook XSL Stylesheets Vsnapshot" /><meta > name="keywords" content="ISO C++, allocator" /><meta name="keywords" > content="ISO C++, library" /><meta name="keywords" content="ISO C++, > runtime, library" /><link rel="home" href="../index.html" title="The GNU > C++ Library" /><link rel="up" href="bitmap_allocator.html" > title="Chapter 20. The bitmap_allocator" /><link rel="prev" > href="bitmap_allocator.html" title="Chapter 20. The bitmap_allocator" > /><link rel="next" href="policy_data_structures.html" > title="Chapter 21. Policy-Based Data Structures" /></head><body><div > class="navheader"><table width="100%" summary="Navigation header"><tr><th > colspan="3" align="center">Implementation</th></tr><tr><td width="20%" > align="left"><a accesskey="p" > href="bitmap_allocator.html">Prev</a> </td><th width="60%" > align="center">Chapter 20. The bitmap_allocator</th><td width="20%" > align="right"> <a accesskey="n" > href="policy_data_structures.html">Next</a></td></tr></table><hr > /></div><div class="section"><div class="titlepage"><div><div><h2 > class="title" style="clear: both"><a > id="allocator.bitmap.impl"></a>Implementation</h2></div></div></div><div > class="section"><div class="titlepage"><div><div><h3 class="title"><a > id="bitmap.impl.free_list_store"></a>Free List > Store</h3></div></div></div><p> > +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>Implementation</title><meta > name="generator" content="DocBook XSL Stylesheets Vsnapshot" /><meta > name="keywords" content="ISO C++, allocator" /><meta name="keywords" > content="ISO C++, library" /><meta name="keywords" content="ISO C++, > runtime, library" /><link rel="home" href="../index.html" title="The GNU > C++ Library" /><link rel="up" href="bitmap_allocator.html" > title="Chapter 21. The bitmap_allocator" /><link rel="prev" > href="bitmap_allocator.html" title="Chapter 21. The bitmap_allocator" > /><link rel="next" href="policy_data_structures.html" > title="Chapter 22. Policy-Based Data Structures" /></head><body><div > class="navheader"><table width="100%" summary="Navigation header"><tr><th > colspan="3" align="center">Implementation</th></tr><tr><td width="20%" > align="left"><a accesskey="p" > href="bitmap_allocator.html">Prev</a> </td><th width="60%" > align="center">Chapter 21. The bitmap_allocator</th><td width="20%" > align="right"> <a accesskey="n" > href="policy_data_structures.html">Next</a></td></tr></table><hr > /></div><div class="section"><div class="titlepage"><div><div><h2 > class="title" style="clear: both"><a > id="allocator.bitmap.impl"></a>Implementation</h2></div></div></div><div > class="section"><div class="titlepage"><div><div><h3 class="title"><a > id="bitmap.impl.free_list_store"></a>Free List > Store</h3></div></div></div><p> > The Free List Store (referred to as FLS for the remaining part of this > document) is the Global memory pool that is shared by all instances of > the bitmapped allocator instantiated for any type. This maintains a > @@ -75,7 +75,7 @@ else return false.</p></li></ol></div><p> > </p><p> > Consider a block of size 64 ints. In memory, it would look like this: > (assume a 32-bit system where, size_t is a 32-bit entity). > - </p><div class="table"><a id="table.bitmap_alloc"></a><p > class="title"><strong>Table 20.1. Bitmap Allocator Memory > Map</strong></p><div class="table-contents"><table class="table" > summary="Bitmap Allocator Memory Map" border="1"><colgroup><col > align="left" class="c1" /><col align="left" class="c2" /><col align="left" > class="c3" /><col align="left" class="c4" /><col align="left" class="c5" > /></colgroup><tbody><tr><td align="left">268</td><td align="left">0</td><td > align="left">4294967295</td><td align="left">4294967295</td><td > align="left">Data -> Space for 64 > ints</td></tr></tbody></table></div></div><br class="table-break" /><p> > + </p><div class="table"><a id="table.bitmap_alloc"></a><p > class="title"><strong>Table 21.1. Bitmap Allocator Memory > Map</strong></p><div class="table-contents"><table class="table" > summary="Bitmap Allocator Memory Map" border="1"><colgroup><col > align="left" class="c1" /><col align="left" class="c2" /><col align="left" > class="c3" /><col align="left" class="c4" /><col align="left" class="c5" > /></colgroup><tbody><tr><td align="left">268</td><td align="left">0</td><td > align="left">4294967295</td><td align="left">4294967295</td><td > align="left">Data -> Space for 64 > ints</td></tr></tbody></table></div></div><br class="table-break" /><p> > The first Column(268) represents the size of the Block in bytes as > seen by the Bitmap Allocator. Internally, a global free list is > used to keep track of the free blocks used and given back by the > @@ -309,4 +309,4 @@ equivalent.</p></li><li class="listitem"><p>And also > this would preserve the cac > sizeof(size_t) x 8 which is the number of bits in an integer, > which can fit exactly in a CPU register. Hence, the term given is > exponential growth of the internal pool. > - </p></div></div><div class="navfooter"><hr /><table width="100%" > summary="Navigation footer"><tr><td width="40%" align="left"><a > accesskey="p" href="bitmap_allocator.html">Prev</a> </td><td width="20%" > align="center"><a accesskey="u" href="bitmap_allocator.html">Up</a></td><td > width="40%" align="right"> <a accesskey="n" > href="policy_data_structures.html">Next</a></td></tr><tr><td width="40%" > align="left" valign="top">Chapter 20. The bitmap_allocator </td><td > width="20%" align="center"><a accesskey="h" > href="../index.html">Home</a></td><td width="40%" align="right" > valign="top"> Chapter 21. Policy-Based Data > Structures</td></tr></table></div></body></html> > \ No newline at end of file > + </p></div></div><div class="navfooter"><hr /><table width="100%" > summary="Navigation footer"><tr><td width="40%" align="left"><a > accesskey="p" href="bitmap_allocator.html">Prev</a> </td><td width="20%" > align="center"><a accesskey="u" href="bitmap_allocator.html">Up</a></td><td > width="40%" align="right"> <a accesskey="n" > href="policy_data_structures.html">Next</a></td></tr><tr><td width="40%" > align="left" valign="top">Chapter 21. The bitmap_allocator </td><td > width="20%" align="center"><a accesskey="h" > href="../index.html">Home</a></td><td width="40%" align="right" > valign="top"> Chapter 22. Policy-Based Data > Structures</td></tr></table></div></body></html> > \ No newline at end of file > diff --git a/libstdc++-v3/doc/html/manual/concurrency.html > b/libstdc++-v3/doc/html/manual/concurrency.html > index e0c837590946..07f6c1350fe1 100644 > --- a/libstdc++-v3/doc/html/manual/concurrency.html > +++ b/libstdc++-v3/doc/html/manual/concurrency.html > @@ -1,12 +1,12 @@ > <?xml version="1.0" encoding="UTF-8" standalone="no"?> > -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>Chapter 15. > Concurrency</title><meta name="generator" content="DocBook XSL Stylesheets > Vsnapshot" /><meta name="keywords" content="ISO C++, library, mutex, > thread, future, condition_variable" /><meta name="keywords" content="ISO > C++, runtime, library" /><link rel="home" href="../index.html" title="The > GNU C++ Library" /><link rel="up" href="std_contents.html" title="Part II. > Standard Contents" /><link rel="prev" href="atomics.html" > title="Chapter 14. Atomics" /><link rel="next" href="extensions.html" > title="Part III. Extensions" /></head><body><div class="navheader"><table > width="100%" summary="Navigation header"><tr><th colspan="3" > align="center">Chapter 15. > +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>Chapter 16. > Concurrency</title><meta name="generator" content="DocBook XSL Stylesheets > Vsnapshot" /><meta name="keywords" content="ISO C++, library, mutex, > thread, future, condition_variable" /><meta name="keywords" content="ISO > C++, runtime, library" /><link rel="home" href="../index.html" title="The > GNU C++ Library" /><link rel="up" href="std_contents.html" title="Part II. > Standard Contents" /><link rel="prev" href="atomics.html" > title="Chapter 15. Atomics" /><link rel="next" href="extensions.html" > title="Part III. Extensions" /></head><body><div class="navheader"><table > width="100%" summary="Navigation header"><tr><th colspan="3" > align="center">Chapter 16. > Concurrency > > </th></tr><tr><td width="20%" align="left"><a accesskey="p" > href="atomics.html">Prev</a> </td><th width="60%" align="center">Part II. > Standard Contents > - </th><td width="20%" align="right"> <a accesskey="n" > href="extensions.html">Next</a></td></tr></table><hr /></div><div > class="chapter"><div class="titlepage"><div><div><h2 class="title"><a > id="std.concurrency"></a>Chapter 15. > + </th><td width="20%" align="right"> <a accesskey="n" > href="extensions.html">Next</a></td></tr></table><hr /></div><div > class="chapter"><div class="titlepage"><div><div><h2 class="title"><a > id="std.concurrency"></a>Chapter 16. > Concurrency > - <a id="id-1.3.4.13.1.1.1" class="indexterm"></a> > + <a id="id-1.3.4.14.1.1.1" class="indexterm"></a> > </h2></div></div></div><div class="toc"><p><strong>Table of > Contents</strong></p><dl class="toc"><dt><span class="section"><a > href="concurrency.html#std.concurrency.api">API > Reference</a></span></dt></dl></div><p> > Facilities for concurrent operation, and control thereof. > </p><div class="section"><div class="titlepage"><div><div><h2 > class="title" style="clear: both"><a id="std.concurrency.api"></a>API > Reference</h2></div></div></div><p> > @@ -32,7 +32,7 @@ > and <code class="classname">packaged_task</code>. > </p><p> > Full API details. > - </p></div></div><div class="navfooter"><hr /><table width="100%" > summary="Navigation footer"><tr><td width="40%" align="left"><a > accesskey="p" href="atomics.html">Prev</a> </td><td width="20%" > align="center"><a accesskey="u" href="std_contents.html">Up</a></td><td > width="40%" align="right"> <a accesskey="n" > href="extensions.html">Next</a></td></tr><tr><td width="40%" align="left" > valign="top">Chapter 14. > + </p></div></div><div class="navfooter"><hr /><table width="100%" > summary="Navigation footer"><tr><td width="40%" align="left"><a > accesskey="p" href="atomics.html">Prev</a> </td><td width="20%" > align="center"><a accesskey="u" href="std_contents.html">Up</a></td><td > width="40%" align="right"> <a accesskey="n" > href="extensions.html">Next</a></td></tr><tr><td width="40%" align="left" > valign="top">Chapter 15. > Atomics > > </td><td width="20%" align="center"><a accesskey="h" > href="../index.html">Home</a></td><td width="40%" align="right" > valign="top"> Part III. > diff --git a/libstdc++-v3/doc/html/manual/debug.html > b/libstdc++-v3/doc/html/manual/debug.html > index 1623cd304867..8221df1a7e06 100644 > --- a/libstdc++-v3/doc/html/manual/debug.html > +++ b/libstdc++-v3/doc/html/manual/debug.html > @@ -31,7 +31,7 @@ > for Debugging Your Program"</a> in Using the GNU Compiler > Collection (GCC) for a complete list. > </p></div><div class="section"><div class="titlepage"><div><div><h3 > class="title"><a id="debug.debug_mode"></a>Debug > Mode</h3></div></div></div><p> > - The <a class="link" href="debug_mode.html" title="Chapter 17. Debug > Mode">Debug Mode</a> > + The <a class="link" href="debug_mode.html" title="Chapter 18. Debug > Mode">Debug Mode</a> > has compile and run-time checks for many containers. > </p><p> > There are also lightweight assertions for checking function > preconditions, > @@ -125,7 +125,7 @@ > <code class="literal">GLIBCXX_FORCE_NEW</code> to keep extraneous pool > allocation > noise from cluttering debug information. > For more details, see the > - <a class="link" href="mt_allocator.html" title="Chapter 19. The > mt_allocator">mt allocator</a> > + <a class="link" href="mt_allocator.html" title="Chapter 20. The > mt_allocator">mt allocator</a> > documentation and look specifically for <code > class="code">GLIBCXX_FORCE_NEW</code>. > </p></div></div><div class="section"><div class="titlepage"><div><div><h3 > class="title"><a id="debug.races"></a>Data Race > Hunting</h3></div></div></div><p> > All synchronization primitives used in the library internals need to be > @@ -244,7 +244,7 @@ > A second approach is to use the configuration flags > </p><pre class="programlisting"> > make CXXFLAGS='-g3 -fno-inline -O0' all > -</pre></div><div class="section"><div class="titlepage"><div><div><h3 > class="title"><a id="debug.compile_time_checks"></a>Compile Time > Checking</h3></div></div></div><p> The <a class="link" > href="ext_compile_checks.html" title="Chapter 16. Compile Time > Checks">Compile-Time > +</pre></div><div class="section"><div class="titlepage"><div><div><h3 > class="title"><a id="debug.compile_time_checks"></a>Compile Time > Checking</h3></div></div></div><p> The <a class="link" > href="ext_compile_checks.html" title="Chapter 17. Compile Time > Checks">Compile-Time > Checks</a> extension has compile-time checks for many algorithms. > These checks were designed for C++98 and have not been updated to work > with C++11 and later standards. They might be removed at a future date. > diff --git a/libstdc++-v3/doc/html/manual/debug_mode.html > b/libstdc++-v3/doc/html/manual/debug_mode.html > index 5e3882b935cf..09f6612335d1 100644 > --- a/libstdc++-v3/doc/html/manual/debug_mode.html > +++ b/libstdc++-v3/doc/html/manual/debug_mode.html > @@ -1,8 +1,8 @@ > <?xml version="1.0" encoding="UTF-8" standalone="no"?> > -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>Chapter 17. Debug > Mode</title><meta name="generator" content="DocBook XSL Stylesheets > Vsnapshot" /><meta name="keywords" content="C++, library, debug" /><meta > name="keywords" content="ISO C++, library" /><meta name="keywords" > content="ISO C++, runtime, library" /><link rel="home" href="../index.html" > title="The GNU C++ Library" /><link rel="up" href="extensions.html" > title="Part III. Extensions" /><link rel="prev" > href="ext_compile_checks.html" title="Chapter 16. Compile Time Checks" > /><link rel="next" href="debug_mode_semantics.html" title="Semantics" > /></head><body><div class="navheader"><table width="100%" > summary="Navigation header"><tr><th colspan="3" > align="center">Chapter 17. Debug Mode</th></tr><tr><td width="20%" > align="left"><a accesskey="p" > href="ext_compile_checks.html">Prev</a> </td><th width="60%" > align="center">Part III. > +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>Chapter 18. Debug > Mode</title><meta name="generator" content="DocBook XSL Stylesheets > Vsnapshot" /><meta name="keywords" content="C++, library, debug" /><meta > name="keywords" content="ISO C++, library" /><meta name="keywords" > content="ISO C++, runtime, library" /><link rel="home" href="../index.html" > title="The GNU C++ Library" /><link rel="up" href="extensions.html" > title="Part III. Extensions" /><link rel="prev" > href="ext_compile_checks.html" title="Chapter 17. Compile Time Checks" > /><link rel="next" href="debug_mode_semantics.html" title="Semantics" > /></head><body><div class="navheader"><table width="100%" > summary="Navigation header"><tr><th colspan="3" > align="center">Chapter 18. Debug Mode</th></tr><tr><td width="20%" > align="left"><a accesskey="p" > href="ext_compile_checks.html">Prev</a> </td><th width="60%" > align="center">Part III. > Extensions > > -</th><td width="20%" align="right"> <a accesskey="n" > href="debug_mode_semantics.html">Next</a></td></tr></table><hr /></div><div > class="chapter"><div class="titlepage"><div><div><h2 class="title"><a > id="manual.ext.debug_mode"></a>Chapter 17. Debug > Mode</h2></div></div></div><div class="toc"><p><strong>Table of > Contents</strong></p><dl class="toc"><dt><span class="section"><a > href="debug_mode.html#manual.ext.debug_mode.intro">Intro</a></span></dt><dt><span > class="section"><a > href="debug_mode_semantics.html">Semantics</a></span></dt><dt><span > class="section"><a > href="debug_mode_using.html">Using</a></span></dt><dd><dl><dt><span > class="section"><a href="debug_mode_using.html#debug_mode.using.mode">Using > the Debug Mode</a></span></dt><dt><span class="section"><a > href="debug_mode_using.html#debug_mode.using.specific">Using a Specific > Debug Container</a></span></dt></dl></dd><dt><span class="section"><a > href="debug_mode_design.html">Design</a></span></dt><dd><dl><dt><span > class="section"><a > href="debug_mode_design.html#debug_mode.design.goals">Goals</a></span></dt><dt><span > class="section"><a > href="debug_mode_design.html#debug_mode.design.methods">Methods</a></span></dt><dd><dl><dt><span > class="section"><a > href="debug_mode_design.html#debug_mode.design.methods.wrappers">The > Wrapper Model</a></span></dt><dd><dl><dt><span class="section"><a > href="debug_mode_design.html#debug_mode.design.methods.safe_iter">Safe > Iterators</a></span></dt><dt><span class="section"><a > href="debug_mode_design.html#debug_mode.design.methods.safe_seq">Safe > Sequences (Containers)</a></span></dt></dl></dd><dt><span > class="section"><a > href="debug_mode_design.html#debug_mode.design.methods.precond">Precondition > Checking</a></span></dt><dt><span class="section"><a > href="debug_mode_design.html#debug_mode.design.methods.coexistence">Release- > and debug-mode coexistence</a></span></dt><dd><dl><dt><span > class="section"><a > href="debug_mode_design.html#methods.coexistence.compile">Compile-time > coexistence of release- and debug-mode components</a></span></dt><dt><span > class="section"><a > href="debug_mode_design.html#methods.coexistence.link">Link- and run-time > coexistence of release- and > +</th><td width="20%" align="right"> <a accesskey="n" > href="debug_mode_semantics.html">Next</a></td></tr></table><hr /></div><div > class="chapter"><div class="titlepage"><div><div><h2 class="title"><a > id="manual.ext.debug_mode"></a>Chapter 18. Debug > Mode</h2></div></div></div><div class="toc"><p><strong>Table of > Contents</strong></p><dl class="toc"><dt><span class="section"><a > href="debug_mode.html#manual.ext.debug_mode.intro">Intro</a></span></dt><dt><span > class="section"><a > href="debug_mode_semantics.html">Semantics</a></span></dt><dt><span > class="section"><a > href="debug_mode_using.html">Using</a></span></dt><dd><dl><dt><span > class="section"><a href="debug_mode_using.html#debug_mode.using.mode">Using > the Debug Mode</a></span></dt><dt><span class="section"><a > href="debug_mode_using.html#debug_mode.using.specific">Using a Specific > Debug Container</a></span></dt></dl></dd><dt><span class="section"><a > href="debug_mode_design.html">Design</a></span></dt><dd><dl><dt><span > class="section"><a > href="debug_mode_design.html#debug_mode.design.goals">Goals</a></span></dt><dt><span > class="section"><a > href="debug_mode_design.html#debug_mode.design.methods">Methods</a></span></dt><dd><dl><dt><span > class="section"><a > href="debug_mode_design.html#debug_mode.design.methods.wrappers">The > Wrapper Model</a></span></dt><dd><dl><dt><span class="section"><a > href="debug_mode_design.html#debug_mode.design.methods.safe_iter">Safe > Iterators</a></span></dt><dt><span class="section"><a > href="debug_mode_design.html#debug_mode.design.methods.safe_seq">Safe > Sequences (Containers)</a></span></dt></dl></dd><dt><span > class="section"><a > href="debug_mode_design.html#debug_mode.design.methods.precond">Precondition > Checking</a></span></dt><dt><span class="section"><a > href="debug_mode_design.html#debug_mode.design.methods.coexistence">Release- > and debug-mode coexistence</a></span></dt><dd><dl><dt><span > class="section"><a > href="debug_mode_design.html#methods.coexistence.compile">Compile-time > coexistence of release- and debug-mode components</a></span></dt><dt><span > class="section"><a > href="debug_mode_design.html#methods.coexistence.link">Link- and run-time > coexistence of release- and > debug-mode components</a></span></dt><dt><span class="section"><a > href="debug_mode_design.html#methods.coexistence.alt">Alternatives for > Coexistence</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a > href="debug_mode_design.html#debug_mode.design.other">Other > Implementations</a></span></dt></dl></dd></dl></div><div > class="section"><div class="titlepage"><div><div><h2 class="title" > style="clear: both"><a > id="manual.ext.debug_mode.intro"></a>Intro</h2></div></div></div><p> > By default, libstdc++ is built with efficiency in mind, and > therefore performs little or no error checking that is not > @@ -34,4 +34,4 @@ > the same predicate that was passed > to <code class="code">set_intersection</code>; the libstdc++ debug > mode will > detect an error if the sequence is not sorted or was sorted by a > - different predicate.</p></li></ul></div></div></div><div > class="navfooter"><hr /><table width="100%" summary="Navigation > footer"><tr><td width="40%" align="left"><a accesskey="p" > href="ext_compile_checks.html">Prev</a> </td><td width="20%" > align="center"><a accesskey="u" href="extensions.html">Up</a></td><td > width="40%" align="right"> <a accesskey="n" > href="debug_mode_semantics.html">Next</a></td></tr><tr><td width="40%" > align="left" valign="top">Chapter 16. Compile Time Checks </td><td > width="20%" align="center"><a accesskey="h" > href="../index.html">Home</a></td><td width="40%" align="right" > valign="top"> Semantics</td></tr></table></div></body></html> > \ No newline at end of file > + different predicate.</p></li></ul></div></div></div><div > class="navfooter"><hr /><table width="100%" summary="Navigation > footer"><tr><td width="40%" align="left"><a accesskey="p" > href="ext_compile_checks.html">Prev</a> </td><td width="20%" > align="center"><a accesskey="u" href="extensions.html">Up</a></td><td > width="40%" align="right"> <a accesskey="n" > href="debug_mode_semantics.html">Next</a></td></tr><tr><td width="40%" > align="left" valign="top">Chapter 17. Compile Time Checks </td><td > width="20%" align="center"><a accesskey="h" > href="../index.html">Home</a></td><td width="40%" align="right" > valign="top"> Semantics</td></tr></table></div></body></html> > \ No newline at end of file > diff --git a/libstdc++-v3/doc/html/manual/debug_mode_design.html > b/libstdc++-v3/doc/html/manual/debug_mode_design.html > index 04fa7151aeba..6618aba1936e 100644 > --- a/libstdc++-v3/doc/html/manual/debug_mode_design.html > +++ b/libstdc++-v3/doc/html/manual/debug_mode_design.html > @@ -1,5 +1,5 @@ > <?xml version="1.0" encoding="UTF-8" standalone="no"?> > -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>Design</title><meta > name="generator" content="DocBook XSL Stylesheets Vsnapshot" /><meta > name="keywords" content="C++, library, debug" /><meta name="keywords" > content="ISO C++, library" /><meta name="keywords" content="ISO C++, > runtime, library" /><link rel="home" href="../index.html" title="The GNU > C++ Library" /><link rel="up" href="debug_mode.html" > title="Chapter 17. Debug Mode" /><link rel="prev" > href="debug_mode_using.html" title="Using" /><link rel="next" > href="parallel_mode.html" title="Chapter 18. Parallel Mode" > /></head><body><div class="navheader"><table width="100%" > summary="Navigation header"><tr><th colspan="3" > align="center">Design</th></tr><tr><td width="20%" align="left"><a > accesskey="p" href="debug_mode_using.html">Prev</a> </td><th width="60%" > align="center">Chapter 17. Debug Mode</th><td width="20%" align="right"> <a > accesskey="n" href="parallel_mode.html">Next</a></td></tr></table><hr > /></div><div class="section"><div class="titlepage"><div><div><h2 > class="title" style="clear: both"><a > id="manual.ext.debug_mode.design"></a>Design</h2></div></div></div><p> > +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>Design</title><meta > name="generator" content="DocBook XSL Stylesheets Vsnapshot" /><meta > name="keywords" content="C++, library, debug" /><meta name="keywords" > content="ISO C++, library" /><meta name="keywords" content="ISO C++, > runtime, library" /><link rel="home" href="../index.html" title="The GNU > C++ Library" /><link rel="up" href="debug_mode.html" > title="Chapter 18. Debug Mode" /><link rel="prev" > href="debug_mode_using.html" title="Using" /><link rel="next" > href="parallel_mode.html" title="Chapter 19. Parallel Mode" > /></head><body><div class="navheader"><table width="100%" > summary="Navigation header"><tr><th colspan="3" > align="center">Design</th></tr><tr><td width="20%" align="left"><a > accesskey="p" href="debug_mode_using.html">Prev</a> </td><th width="60%" > align="center">Chapter 18. Debug Mode</th><td width="20%" align="right"> <a > accesskey="n" href="parallel_mode.html">Next</a></td></tr></table><hr > /></div><div class="section"><div class="titlepage"><div><div><h2 > class="title" style="clear: both"><a > id="manual.ext.debug_mode.design"></a>Design</h2></div></div></div><p> > </p><div class="section"><div class="titlepage"><div><div><h3 > class="title"><a > id="debug_mode.design.goals"></a>Goals</h3></div></div></div><p> > </p><p> The libstdc++ debug mode replaces unsafe (but efficient) > standard > containers and iterators with semantically equivalent safe standard > @@ -404,4 +404,4 @@ test02() > the "Full recompilation" (1) recompilation > guarantee.</p></li><li class="listitem"><p>The MSVC STL and LLVM libc++ > implementations of the > C++ Standard Library both include some form of debug mode. > - </p></li></ul></div></div></div><div class="navfooter"><hr /><table > width="100%" summary="Navigation footer"><tr><td width="40%" > align="left"><a accesskey="p" > href="debug_mode_using.html">Prev</a> </td><td width="20%" > align="center"><a accesskey="u" href="debug_mode.html">Up</a></td><td > width="40%" align="right"> <a accesskey="n" > href="parallel_mode.html">Next</a></td></tr><tr><td width="40%" > align="left" valign="top">Using </td><td width="20%" align="center"><a > accesskey="h" href="../index.html">Home</a></td><td width="40%" > align="right" valign="top"> Chapter 18. Parallel > Mode</td></tr></table></div></body></html> > \ No newline at end of file > + </p></li></ul></div></div></div><div class="navfooter"><hr /><table > width="100%" summary="Navigation footer"><tr><td width="40%" > align="left"><a accesskey="p" > href="debug_mode_using.html">Prev</a> </td><td width="20%" > align="center"><a accesskey="u" href="debug_mode.html">Up</a></td><td > width="40%" align="right"> <a accesskey="n" > href="parallel_mode.html">Next</a></td></tr><tr><td width="40%" > align="left" valign="top">Using </td><td width="20%" align="center"><a > accesskey="h" href="../index.html">Home</a></td><td width="40%" > align="right" valign="top"> Chapter 19. Parallel > Mode</td></tr></table></div></body></html> > \ No newline at end of file > diff --git a/libstdc++-v3/doc/html/manual/debug_mode_semantics.html > b/libstdc++-v3/doc/html/manual/debug_mode_semantics.html > index 35d8aa3ac4b3..f65020a863dd 100644 > --- a/libstdc++-v3/doc/html/manual/debug_mode_semantics.html > +++ b/libstdc++-v3/doc/html/manual/debug_mode_semantics.html > @@ -1,5 +1,5 @@ > <?xml version="1.0" encoding="UTF-8" standalone="no"?> > -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>Semantics</title><meta > name="generator" content="DocBook XSL Stylesheets Vsnapshot" /><meta > name="keywords" content="C++, library, debug" /><meta name="keywords" > content="ISO C++, library" /><meta name="keywords" content="ISO C++, > runtime, library" /><link rel="home" href="../index.html" title="The GNU > C++ Library" /><link rel="up" href="debug_mode.html" > title="Chapter 17. Debug Mode" /><link rel="prev" href="debug_mode.html" > title="Chapter 17. Debug Mode" /><link rel="next" > href="debug_mode_using.html" title="Using" /></head><body><div > class="navheader"><table width="100%" summary="Navigation header"><tr><th > colspan="3" align="center">Semantics</th></tr><tr><td width="20%" > align="left"><a accesskey="p" href="debug_mode.html">Prev</a> </td><th > width="60%" align="center">Chapter 17. Debug Mode</th><td width="20%" > align="right"> <a accesskey="n" > href="debug_mode_using.html">Next</a></td></tr></table><hr /></div><div > class="section"><div class="titlepage"><div><div><h2 class="title" > style="clear: both"><a > id="manual.ext.debug_mode.semantics"></a>Semantics</h2></div></div></div><p> > +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>Semantics</title><meta > name="generator" content="DocBook XSL Stylesheets Vsnapshot" /><meta > name="keywords" content="C++, library, debug" /><meta name="keywords" > content="ISO C++, library" /><meta name="keywords" content="ISO C++, > runtime, library" /><link rel="home" href="../index.html" title="The GNU > C++ Library" /><link rel="up" href="debug_mode.html" > title="Chapter 18. Debug Mode" /><link rel="prev" href="debug_mode.html" > title="Chapter 18. Debug Mode" /><link rel="next" > href="debug_mode_using.html" title="Using" /></head><body><div > class="navheader"><table width="100%" summary="Navigation header"><tr><th > colspan="3" align="center">Semantics</th></tr><tr><td width="20%" > align="left"><a accesskey="p" href="debug_mode.html">Prev</a> </td><th > width="60%" align="center">Chapter 18. Debug Mode</th><td width="20%" > align="right"> <a accesskey="n" > href="debug_mode_using.html">Next</a></td></tr></table><hr /></div><div > class="section"><div class="titlepage"><div><div><h2 class="title" > style="clear: both"><a > id="manual.ext.debug_mode.semantics"></a>Semantics</h2></div></div></div><p> > </p><p>A program that uses the C++ standard library correctly > will maintain the same semantics under debug mode as it had with > the normal (release) library. All functional and exception-handling > @@ -51,4 +51,4 @@ with the debug-mode checks included, but this is > unsupported and not > guaranteed to work. For full debug-mode support you can use the > <code class="code">__gnu_debug::basic_string</code> debugging container > directly, > which always works correctly. > -</p></div><div class="navfooter"><hr /><table width="100%" > summary="Navigation footer"><tr><td width="40%" align="left"><a > accesskey="p" href="debug_mode.html">Prev</a> </td><td width="20%" > align="center"><a accesskey="u" href="debug_mode.html">Up</a></td><td > width="40%" align="right"> <a accesskey="n" > href="debug_mode_using.html">Next</a></td></tr><tr><td width="40%" > align="left" valign="top">Chapter 17. Debug Mode </td><td width="20%" > align="center"><a accesskey="h" href="../index.html">Home</a></td><td > width="40%" align="right" > valign="top"> Using</td></tr></table></div></body></html> > \ No newline at end of file > +</p></div><div class="navfooter"><hr /><table width="100%" > summary="Navigation footer"><tr><td width="40%" align="left"><a > accesskey="p" href="debug_mode.html">Prev</a> </td><td width="20%" > align="center"><a accesskey="u" href="debug_mode.html">Up</a></td><td > width="40%" align="right"> <a accesskey="n" > href="debug_mode_using.html">Next</a></td></tr><tr><td width="40%" > align="left" valign="top">Chapter 18. Debug Mode </td><td width="20%" > align="center"><a accesskey="h" href="../index.html">Home</a></td><td > width="40%" align="right" > valign="top"> Using</td></tr></table></div></body></html> > \ No newline at end of file > diff --git a/libstdc++-v3/doc/html/manual/debug_mode_using.html > b/libstdc++-v3/doc/html/manual/debug_mode_using.html > index 70d6692f5140..334d07a37e13 100644 > --- a/libstdc++-v3/doc/html/manual/debug_mode_using.html > +++ b/libstdc++-v3/doc/html/manual/debug_mode_using.html > @@ -1,5 +1,5 @@ > <?xml version="1.0" encoding="UTF-8" standalone="no"?> > -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>Using</title><meta > name="generator" content="DocBook XSL Stylesheets Vsnapshot" /><meta > name="keywords" content="C++, library, debug" /><meta name="keywords" > content="ISO C++, library" /><meta name="keywords" content="ISO C++, > runtime, library" /><link rel="home" href="../index.html" title="The GNU > C++ Library" /><link rel="up" href="debug_mode.html" > title="Chapter 17. Debug Mode" /><link rel="prev" > href="debug_mode_semantics.html" title="Semantics" /><link rel="next" > href="debug_mode_design.html" title="Design" /></head><body><div > class="navheader"><table width="100%" summary="Navigation header"><tr><th > colspan="3" align="center">Using</th></tr><tr><td width="20%" > align="left"><a accesskey="p" > href="debug_mode_semantics.html">Prev</a> </td><th width="60%" > align="center">Chapter 17. Debug Mode</th><td width="20%" align="right"> <a > accesskey="n" href="debug_mode_design.html">Next</a></td></tr></table><hr > /></div><div class="section"><div class="titlepage"><div><div><h2 > class="title" style="clear: both"><a > id="manual.ext.debug_mode.using"></a>Using</h2></div></div></div><p> > +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>Using</title><meta > name="generator" content="DocBook XSL Stylesheets Vsnapshot" /><meta > name="keywords" content="C++, library, debug" /><meta name="keywords" > content="ISO C++, library" /><meta name="keywords" content="ISO C++, > runtime, library" /><link rel="home" href="../index.html" title="The GNU > C++ Library" /><link rel="up" href="debug_mode.html" > title="Chapter 18. Debug Mode" /><link rel="prev" > href="debug_mode_semantics.html" title="Semantics" /><link rel="next" > href="debug_mode_design.html" title="Design" /></head><body><div > class="navheader"><table width="100%" summary="Navigation header"><tr><th > colspan="3" align="center">Using</th></tr><tr><td width="20%" > align="left"><a accesskey="p" > href="debug_mode_semantics.html">Prev</a> </td><th width="60%" > align="center">Chapter 18. Debug Mode</th><td width="20%" align="right"> <a > accesskey="n" href="debug_mode_design.html">Next</a></td></tr></table><hr > /></div><div class="section"><div class="titlepage"><div><div><h2 > class="title" style="clear: both"><a > id="manual.ext.debug_mode.using"></a>Using</h2></div></div></div><p> > </p><div class="section"><div class="titlepage"><div><div><h3 > class="title"><a id="debug_mode.using.mode"></a>Using the Debug > Mode</h3></div></div></div><p>To use the libstdc++ debug mode, compile your > application with the > compiler flag <code class="code">-D_GLIBCXX_DEBUG</code>. Note that > this flag > changes the sizes and behavior of standard class templates such > @@ -22,9 +22,9 @@ > mode or with debug mode. The > following table provides the names and headers of the debugging > containers: > -</p><div class="table"><a id="table.debug_mode_containers"></a><p > class="title"><strong>Table 17.1. Debugging Containers</strong></p><div > class="table-contents"><table class="table" summary="Debugging Containers" > border="1"><colgroup><col align="left" class="c1" /><col align="left" > class="c2" /><col align="left" class="c3" /><col align="left" class="c4" > /></colgroup><thead><tr><th align="left">Container</th><th > align="left">Header</th><th align="left">Debug container</th><th > align="left">Debug header</th></tr></thead><tbody><tr><td > align="left"><code class="classname">std::bitset</code></td><td > align="left"><code class="filename">bitset</code></td><td > align="left"><code class="classname">__gnu_debug::bitset</code></td><td > align="left"><code > class="filename"><debug/bitset></code></td></tr><tr><td > align="left"><code class="classname">std::deque</code></td><td > align="left"><code class="filename">deque</code></td><td align="left"><code > class="classname">__gnu_debug::deque</code></td><td align="left"><code > class="filename"><debug/deque></code></td></tr><tr><td > align="left"><code class="classname">std::list</code></td><td > align="left"><code class="filename">list</code></td><td align="left"><code > class="classname">__gnu_debug::list</code></td><td align="left"><code > class="filename"><debug/list></code></td></tr><tr><td > align="left"><code class="classname">std::map</code></td><td > align="left"><code class="filename">map</code></td><td align="left"><code > class="classname">__gnu_debug::map</code></td><td align="left"><code > class="filename"><debug/map></code></td></tr><tr><td > align="left"><code class="classname">std::multimap</code></td><td > align="left"><code class="filename">map</code></td><td align="left"><code > class="classname">__gnu_debug::multimap</code></td><td align="left"><code > class="filename"><debug/map></code></td></tr><tr><td > align="left"><code class="classname">std::multiset</code></td><td > align="left"><code class="filename">set</code></td><td align="left"><code > class="classname">__gnu_debug::multiset</code></td><td align="left"><code > class="filename"><debug/set></code></td></tr><tr><td > align="left"><code class="classname">std::set</code></td><td > align="left"><code class="filename">set</code></td><td align="left"><code > class="classname">__gnu_debug::set</code></td><td align="left"><code > class="filename"><debug/set></code></td></tr><tr><td > align="left"><code class="classname">std::string</code></td><td > align="left"><code class="filename">string</code></td><td > align="left"><code class="classname">__gnu_debug::string</code></td><td > align="left"><code > class="filename"><debug/string></code></td></tr><tr><td > align="left"><code class="classname">std::wstring</code></td><td > align="left"><code class="filename">string</code></td><td > align="left"><code class="classname">__gnu_debug::wstring</code></td><td > align="left"><code > class="filename"><debug/string></code></td></tr><tr><td > align="left"><code class="classname">std::basic_string</code></td><td > align="left"><code class="filename">string</code></td><td > align="left"><code > class="classname">__gnu_debug::basic_string</code></td><td > align="left"><code > class="filename"><debug/string></code></td></tr><tr><td > align="left"><code class="classname">std::vector</code></td><td > align="left"><code class="filename">vector</code></td><td > align="left"><code class="classname">__gnu_debug::vector</code></td><td > align="left"><code > class="filename"><debug/vector></code></td></tr></tbody></table></div></div><br > class="table-break" /><p>When compiling in C++11 mode (or newer), these > +</p><div class="table"><a id="table.debug_mode_containers"></a><p > class="title"><strong>Table 18.1. Debugging Containers</strong></p><div > class="table-contents"><table class="table" summary="Debugging Containers" > border="1"><colgroup><col align="left" class="c1" /><col align="left" > class="c2" /><col align="left" class="c3" /><col align="left" class="c4" > /></colgroup><thead><tr><th align="left">Container</th><th > align="left">Header</th><th align="left">Debug container</th><th > align="left">Debug header</th></tr></thead><tbody><tr><td > align="left"><code class="classname">std::bitset</code></td><td > align="left"><code class="filename">bitset</code></td><td > align="left"><code class="classname">__gnu_debug::bitset</code></td><td > align="left"><code > class="filename"><debug/bitset></code></td></tr><tr><td > align="left"><code class="classname">std::deque</code></td><td > align="left"><code class="filename">deque</code></td><td align="left"><code > class="classname">__gnu_debug::deque</code></td><td align="left"><code > class="filename"><debug/deque></code></td></tr><tr><td > align="left"><code class="classname">std::list</code></td><td > align="left"><code class="filename">list</code></td><td align="left"><code > class="classname">__gnu_debug::list</code></td><td align="left"><code > class="filename"><debug/list></code></td></tr><tr><td > align="left"><code class="classname">std::map</code></td><td > align="left"><code class="filename">map</code></td><td align="left"><code > class="classname">__gnu_debug::map</code></td><td align="left"><code > class="filename"><debug/map></code></td></tr><tr><td > align="left"><code class="classname">std::multimap</code></td><td > align="left"><code class="filename">map</code></td><td align="left"><code > class="classname">__gnu_debug::multimap</code></td><td align="left"><code > class="filename"><debug/map></code></td></tr><tr><td > align="left"><code class="classname">std::multiset</code></td><td > align="left"><code class="filename">set</code></td><td align="left"><code > class="classname">__gnu_debug::multiset</code></td><td align="left"><code > class="filename"><debug/set></code></td></tr><tr><td > align="left"><code class="classname">std::set</code></td><td > align="left"><code class="filename">set</code></td><td align="left"><code > class="classname">__gnu_debug::set</code></td><td align="left"><code > class="filename"><debug/set></code></td></tr><tr><td > align="left"><code class="classname">std::string</code></td><td > align="left"><code class="filename">string</code></td><td > align="left"><code class="classname">__gnu_debug::string</code></td><td > align="left"><code > class="filename"><debug/string></code></td></tr><tr><td > align="left"><code class="classname">std::wstring</code></td><td > align="left"><code class="filename">string</code></td><td > align="left"><code class="classname">__gnu_debug::wstring</code></td><td > align="left"><code > class="filename"><debug/string></code></td></tr><tr><td > align="left"><code class="classname">std::basic_string</code></td><td > align="left"><code class="filename">string</code></td><td > align="left"><code > class="classname">__gnu_debug::basic_string</code></td><td > align="left"><code > class="filename"><debug/string></code></td></tr><tr><td > align="left"><code class="classname">std::vector</code></td><td > align="left"><code class="filename">vector</code></td><td > align="left"><code class="classname">__gnu_debug::vector</code></td><td > align="left"><code > class="filename"><debug/vector></code></td></tr></tbody></table></div></div><br > class="table-break" /><p>When compiling in C++11 mode (or newer), these > containers have additional debug capability. > -</p><div class="table"><a id="table.debug_mode_containers_cxx11"></a><p > class="title"><strong>Table 17.2. Debugging Containers > C++11</strong></p><div class="table-contents"><table class="table" > summary="Debugging Containers C++11" border="1"><colgroup><col align="left" > class="c1" /><col align="left" class="c2" /><col align="left" class="c3" > /><col align="left" class="c4" /></colgroup><thead><tr><th > align="left">Container</th><th align="left">Header</th><th > align="left">Debug container</th><th align="left">Debug > header</th></tr></thead><tbody><tr><td align="left"><code > class="classname">std::forward_list</code></td><td align="left"><code > class="filename">forward_list</code></td><td align="left"><code > class="classname">__gnu_debug::forward_list</code></td><td > align="left"><code > class="filename"><debug/forward_list></code></td></tr><tr><td > align="left"><code class="classname">std::unordered_map</code></td><td > align="left"><code class="filename">unordered_map</code></td><td > align="left"><code > class="classname">__gnu_debug::unordered_map</code></td><td > align="left"><code > class="filename"><debug/unordered_map></code></td></tr><tr><td > align="left"><code class="classname">std::unordered_multimap</code></td><td > align="left"><code class="filename">unordered_map</code></td><td > align="left"><code > class="classname">__gnu_debug::unordered_multimap</code></td><td > align="left"><code > class="filename"><debug/unordered_map></code></td></tr><tr><td > align="left"><code class="classname">std::unordered_set</code></td><td > align="left"><code class="filename">unordered_set</code></td><td > align="left"><code > class="classname">__gnu_debug::unordered_set</code></td><td > align="left"><code > class="filename"><debug/unordered_set></code></td></tr><tr><td > align="left"><code class="classname">std::unordered_multiset</code></td><td > align="left"><code class="filename">unordered_set</code></td><td > align="left"><code > class="classname">__gnu_debug::unordered_multiset</code></td><td > align="left"><code > class="filename"><debug/unordered_set></code></td></tr></tbody></table></div></div><br > class="table-break" /><p>Prior to GCC 11 a debug version of <code > class="classname">std::array</code> > +</p><div class="table"><a id="table.debug_mode_containers_cxx11"></a><p > class="title"><strong>Table 18.2. Debugging Containers > C++11</strong></p><div class="table-contents"><table class="table" > summary="Debugging Containers C++11" border="1"><colgroup><col align="left" > class="c1" /><col align="left" class="c2" /><col align="left" class="c3" > /><col align="left" class="c4" /></colgroup><thead><tr><th > align="left">Container</th><th align="left">Header</th><th > align="left">Debug container</th><th align="left">Debug > header</th></tr></thead><tbody><tr><td align="left"><code > class="classname">std::forward_list</code></td><td align="left"><code > class="filename">forward_list</code></td><td align="left"><code > class="classname">__gnu_debug::forward_list</code></td><td > align="left"><code > class="filename"><debug/forward_list></code></td></tr><tr><td > align="left"><code class="classname">std::unordered_map</code></td><td > align="left"><code class="filename">unordered_map</code></td><td > align="left"><code > class="classname">__gnu_debug::unordered_map</code></td><td > align="left"><code > class="filename"><debug/unordered_map></code></td></tr><tr><td > align="left"><code class="classname">std::unordered_multimap</code></td><td > align="left"><code class="filename">unordered_map</code></td><td > align="left"><code > class="classname">__gnu_debug::unordered_multimap</code></td><td > align="left"><code > class="filename"><debug/unordered_map></code></td></tr><tr><td > align="left"><code class="classname">std::unordered_set</code></td><td > align="left"><code class="filename">unordered_set</code></td><td > align="left"><code > class="classname">__gnu_debug::unordered_set</code></td><td > align="left"><code > class="filename"><debug/unordered_set></code></td></tr><tr><td > align="left"><code class="classname">std::unordered_multiset</code></td><td > align="left"><code class="filename">unordered_set</code></td><td > align="left"><code > class="classname">__gnu_debug::unordered_multiset</code></td><td > align="left"><code > class="filename"><debug/unordered_set></code></td></tr></tbody></table></div></div><br > class="table-break" /><p>Prior to GCC 11 a debug version of <code > class="classname">std::array</code> > was available as <code class="classname">__gnu_debug::array</code> in the > header <code class="filename"><debug/array></code>. > Because <code class="classname">array::iterator</code> is just a pointer, > diff --git a/libstdc++-v3/doc/html/manual/ext_algorithms.html > b/libstdc++-v3/doc/html/manual/ext_algorithms.html > index b7511c49848e..805734fefbec 100644 > --- a/libstdc++-v3/doc/html/manual/ext_algorithms.html > +++ b/libstdc++-v3/doc/html/manual/ext_algorithms.html > @@ -1,8 +1,8 @@ > <?xml version="1.0" encoding="UTF-8" standalone="no"?> > -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" > /><title>Chapter 24. Algorithms</title><meta name="generator" > content="DocBook XSL Stylesheets Vsnapshot" /><meta name="keywords" > content="ISO C++, library" /><meta name="keywords" content="ISO C++, > runtime, library" /><link rel="home" href="../index.html" title="The GNU > C++ Library" /><link rel="up" href="extensions.html" title="Part III. > Extensions" /><link rel="prev" href="ext_utilities.html" > title="Chapter 23. Utilities" /><link rel="next" href="ext_numerics.html" > title="Chapter 25. Numerics" /></head><body><div class="navheader"><table > width="100%" summary="Navigation header"><tr><th colspan="3" > align="center">Chapter 24. Algorithms</th></tr><tr><td width="20%" > align="left"><a accesskey="p" href="ext_utilities.html">Prev</a> </td><th > width="60%" align="center">Part III. > +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" > /><title>Chapter 25. Algorithms</title><meta name="generator" > content="DocBook XSL Stylesheets Vsnapshot" /><meta name="keywords" > content="ISO C++, library" /><meta name="keywords" content="ISO C++, > runtime, library" /><link rel="home" href="../index.html" title="The GNU > C++ Library" /><link rel="up" href="extensions.html" title="Part III. > Extensions" /><link rel="prev" href="ext_utilities.html" > title="Chapter 24. Utilities" /><link rel="next" href="ext_numerics.html" > title="Chapter 26. Numerics" /></head><body><div class="navheader"><table > width="100%" summary="Navigation header"><tr><th colspan="3" > align="center">Chapter 25. Algorithms</th></tr><tr><td width="20%" > align="left"><a accesskey="p" href="ext_utilities.html">Prev</a> </td><th > width="60%" align="center">Part III. > Extensions > > -</th><td width="20%" align="right"> <a accesskey="n" > href="ext_numerics.html">Next</a></td></tr></table><hr /></div><div > class="chapter"><div class="titlepage"><div><div><h2 class="title"><a > id="manual.ext.algorithms"></a>Chapter 24. Algorithms</h2></div></div></div><p>25.1.6 > (count, count_if) is extended with two more versions of count > +</th><td width="20%" align="right"> <a accesskey="n" > href="ext_numerics.html">Next</a></td></tr></table><hr /></div><div > class="chapter"><div class="titlepage"><div><div><h2 class="title"><a > id="manual.ext.algorithms"></a>Chapter 25. Algorithms</h2></div></div></div><p>25.1.6 > (count, count_if) is extended with two more versions of count > and count_if. The standard versions return their results. The > additional signatures return void, but take a final parameter by > reference to which they assign their results, e.g., > @@ -19,4 +19,4 @@ > </p><pre class="programlisting"> > lexicographical_compare_3way(_InputIter1 first1, _InputIter1 last1, > _InputIter2 first2, _InputIter2 > last2)</pre><p>which does... what? > -</p></div><div class="navfooter"><hr /><table width="100%" > summary="Navigation footer"><tr><td width="40%" align="left"><a > accesskey="p" href="ext_utilities.html">Prev</a> </td><td width="20%" > align="center"><a accesskey="u" href="extensions.html">Up</a></td><td > width="40%" align="right"> <a accesskey="n" > href="ext_numerics.html">Next</a></td></tr><tr><td width="40%" align="left" > valign="top">Chapter 23. Utilities </td><td width="20%" align="center"><a > accesskey="h" href="../index.html">Home</a></td><td width="40%" > align="right" > valign="top"> Chapter 25. Numerics</td></tr></table></div></body></html> > \ No newline at end of file > +</p></div><div class="navfooter"><hr /><table width="100%" > summary="Navigation footer"><tr><td width="40%" align="left"><a > accesskey="p" href="ext_utilities.html">Prev</a> </td><td width="20%" > align="center"><a accesskey="u" href="extensions.html">Up</a></td><td > width="40%" align="right"> <a accesskey="n" > href="ext_numerics.html">Next</a></td></tr><tr><td width="40%" align="left" > valign="top">Chapter 24. Utilities </td><td width="20%" align="center"><a > accesskey="h" href="../index.html">Home</a></td><td width="40%" > align="right" > valign="top"> Chapter 26. Numerics</td></tr></table></div></body></html> > \ No newline at end of file > diff --git a/libstdc++-v3/doc/html/manual/ext_compile_checks.html > b/libstdc++-v3/doc/html/manual/ext_compile_checks.html > index 240d4e47f666..a235e02ed92e 100644 > --- a/libstdc++-v3/doc/html/manual/ext_compile_checks.html > +++ b/libstdc++-v3/doc/html/manual/ext_compile_checks.html > @@ -1,8 +1,8 @@ > <?xml version="1.0" encoding="UTF-8" standalone="no"?> > -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>Chapter 16. Compile Time > Checks</title><meta name="generator" content="DocBook XSL Stylesheets > Vsnapshot" /><meta name="keywords" content="ISO C++, library" /><meta > name="keywords" content="ISO C++, runtime, library" /><link rel="home" > href="../index.html" title="The GNU C++ Library" /><link rel="up" > href="extensions.html" title="Part III. Extensions" /><link rel="prev" > href="ext_preface.html" title="" /><link rel="next" href="debug_mode.html" > title="Chapter 17. Debug Mode" /></head><body><div class="navheader"><table > width="100%" summary="Navigation header"><tr><th colspan="3" > align="center">Chapter 16. Compile Time Checks</th></tr><tr><td width="20%" > align="left"><a accesskey="p" href="ext_preface.html">Prev</a> </td><th > width="60%" align="center">Part III. > +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>Chapter 17. Compile Time > Checks</title><meta name="generator" content="DocBook XSL Stylesheets > Vsnapshot" /><meta name="keywords" content="ISO C++, library" /><meta > name="keywords" content="ISO C++, runtime, library" /><link rel="home" > href="../index.html" title="The GNU C++ Library" /><link rel="up" > href="extensions.html" title="Part III. Extensions" /><link rel="prev" > href="ext_preface.html" title="" /><link rel="next" href="debug_mode.html" > title="Chapter 18. Debug Mode" /></head><body><div class="navheader"><table > width="100%" summary="Navigation header"><tr><th colspan="3" > align="center">Chapter 17. Compile Time Checks</th></tr><tr><td width="20%" > align="left"><a accesskey="p" href="ext_preface.html">Prev</a> </td><th > width="60%" align="center">Part III. > Extensions > > -</th><td width="20%" align="right"> <a accesskey="n" > href="debug_mode.html">Next</a></td></tr></table><hr /></div><div > class="chapter"><div class="titlepage"><div><div><h2 class="title"><a > id="manual.ext.compile_checks"></a>Chapter 16. Compile Time > Checks</h2></div></div></div><p> > +</th><td width="20%" align="right"> <a accesskey="n" > href="debug_mode.html">Next</a></td></tr></table><hr /></div><div > class="chapter"><div class="titlepage"><div><div><h2 class="title"><a > id="manual.ext.compile_checks"></a>Chapter 17. Compile Time > Checks</h2></div></div></div><p> > Also known as concept checking. > </p><p>In 1999, SGI added <span class="emphasis"><em>concept > checkers</em></span> to their implementation > of the STL: code which checked the template parameters of > @@ -44,4 +44,4 @@ > <code class="filename"><ranges></code> header and the new > overloads in the > <code class="filename"><algorithm></code> header for working > with ranges. > The old library-simulated concept checks might be removed at a future > date. > - </p></div><div class="navfooter"><hr /><table width="100%" > summary="Navigation footer"><tr><td width="40%" align="left"><a > accesskey="p" href="ext_preface.html">Prev</a> </td><td width="20%" > align="center"><a accesskey="u" href="extensions.html">Up</a></td><td > width="40%" align="right"> <a accesskey="n" > href="debug_mode.html">Next</a></td></tr><tr><td width="40%" align="left" > valign="top"> </td><td width="20%" align="center"><a accesskey="h" > href="../index.html">Home</a></td><td width="40%" align="right" > valign="top"> Chapter 17. Debug Mode</td></tr></table></div></body></html> > \ No newline at end of file > + </p></div><div class="navfooter"><hr /><table width="100%" > summary="Navigation footer"><tr><td width="40%" align="left"><a > accesskey="p" href="ext_preface.html">Prev</a> </td><td width="20%" > align="center"><a accesskey="u" href="extensions.html">Up</a></td><td > width="40%" align="right"> <a accesskey="n" > href="debug_mode.html">Next</a></td></tr><tr><td width="40%" align="left" > valign="top"> </td><td width="20%" align="center"><a accesskey="h" > href="../index.html">Home</a></td><td width="40%" align="right" > valign="top"> Chapter 18. Debug Mode</td></tr></table></div></body></html> > \ No newline at end of file > diff --git a/libstdc++-v3/doc/html/manual/ext_concurrency.html > b/libstdc++-v3/doc/html/manual/ext_concurrency.html > index ed7a3ea9f4dd..5d9b33204c2a 100644 > --- a/libstdc++-v3/doc/html/manual/ext_concurrency.html > +++ b/libstdc++-v3/doc/html/manual/ext_concurrency.html > @@ -1,8 +1,8 @@ > <?xml version="1.0" encoding="UTF-8" standalone="no"?> > -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" > /><title>Chapter 29. Concurrency</title><meta name="generator" > content="DocBook XSL Stylesheets Vsnapshot" /><meta name="keywords" > content="ISO C++, library" /><meta name="keywords" content="ISO C++, > library" /><meta name="keywords" content="ISO C++, runtime, library" > /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link > rel="up" href="extensions.html" title="Part III. Extensions" /><link > rel="prev" href="ext_demangling.html" title="Chapter 28. Demangling" > /><link rel="next" href="ext_concurrency_impl.html" title="Implementation" > /></head><body><div class="navheader"><table width="100%" > summary="Navigation header"><tr><th colspan="3" > align="center">Chapter 29. Concurrency</th></tr><tr><td width="20%" > align="left"><a accesskey="p" href="ext_demangling.html">Prev</a> </td><th > width="60%" align="center">Part III. > +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" > /><title>Chapter 30. Concurrency</title><meta name="generator" > content="DocBook XSL Stylesheets Vsnapshot" /><meta name="keywords" > content="ISO C++, library" /><meta name="keywords" content="ISO C++, > library" /><meta name="keywords" content="ISO C++, runtime, library" > /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link > rel="up" href="extensions.html" title="Part III. Extensions" /><link > rel="prev" href="ext_demangling.html" title="Chapter 29. Demangling" > /><link rel="next" href="ext_concurrency_impl.html" title="Implementation" > /></head><body><div class="navheader"><table width="100%" > summary="Navigation header"><tr><th colspan="3" > align="center">Chapter 30. Concurrency</th></tr><tr><td width="20%" > align="left"><a accesskey="p" href="ext_demangling.html">Prev</a> </td><th > width="60%" align="center">Part III. > Extensions > > -</th><td width="20%" align="right"> <a accesskey="n" > href="ext_concurrency_impl.html">Next</a></td></tr></table><hr /></div><div > class="chapter"><div class="titlepage"><div><div><h2 class="title"><a > id="manual.ext.concurrency"></a>Chapter 29. Concurrency</h2></div></div></div><div > class="toc"><p><strong>Table of Contents</strong></p><dl > class="toc"><dt><span class="section"><a > href="ext_concurrency.html#manual.ext.concurrency.design">Design</a></span></dt><dd><dl><dt><span > class="section"><a > href="ext_concurrency.html#manual.ext.concurrency.design.threads">Interface > to Locks and Mutexes</a></span></dt><dt><span class="section"><a > href="ext_concurrency.html#manual.ext.concurrency.design.atomics">Interface > to Atomic Functions</a></span></dt></dl></dd><dt><span class="section"><a > href="ext_concurrency_impl.html">Implementation</a></span></dt><dd><dl><dt><span > class="section"><a > href="ext_concurrency_impl.html#manual.ext.concurrency.impl.atomic_fallbacks">Using > Built-in Atomic Functions</a></span></dt><dt><span class="section"><a > href="ext_concurrency_impl.html#manual.ext.concurrency.impl.thread">Thread > Abstraction</a></span></dt></dl></dd><dt><span class="section"><a > href="ext_concurrency_use.html">Use</a></span></dt></dl></div><div > class="section"><div class="titlepage"><div><div><h2 class="title" > style="clear: both"><a > id="manual.ext.concurrency.design"></a>Design</h2></div></div></div><div > class="section"><div class="titlepage"><div><div><h3 class="title"><a > id="manual.ext.concurrency.design.threads"></a>Interface to Locks and > Mutexes</h3></div></div></div><p>The file <code > class="filename"><ext/concurrence.h></code> > +</th><td width="20%" align="right"> <a accesskey="n" > href="ext_concurrency_impl.html">Next</a></td></tr></table><hr /></div><div > class="chapter"><div class="titlepage"><div><div><h2 class="title"><a > id="manual.ext.concurrency"></a>Chapter 30. Concurrency</h2></div></div></div><div > class="toc"><p><strong>Table of Contents</strong></p><dl > class="toc"><dt><span class="section"><a > href="ext_concurrency.html#manual.ext.concurrency.design">Design</a></span></dt><dd><dl><dt><span > class="section"><a > href="ext_concurrency.html#manual.ext.concurrency.design.threads">Interface > to Locks and Mutexes</a></span></dt><dt><span class="section"><a > href="ext_concurrency.html#manual.ext.concurrency.design.atomics">Interface > to Atomic Functions</a></span></dt></dl></dd><dt><span class="section"><a > href="ext_concurrency_impl.html">Implementation</a></span></dt><dd><dl><dt><span > class="section"><a > href="ext_concurrency_impl.html#manual.ext.concurrency.impl.atomic_fallbacks">Using > Built-in Atomic Functions</a></span></dt><dt><span class="section"><a > href="ext_concurrency_impl.html#manual.ext.concurrency.impl.thread">Thread > Abstraction</a></span></dt></dl></dd><dt><span class="section"><a > href="ext_concurrency_use.html">Use</a></span></dt></dl></div><div > class="section"><div class="titlepage"><div><div><h2 class="title" > style="clear: both"><a > id="manual.ext.concurrency.design"></a>Design</h2></div></div></div><div > class="section"><div class="titlepage"><div><div><h3 class="title"><a > id="manual.ext.concurrency.design.threads"></a>Interface to Locks and > Mutexes</h3></div></div></div><p>The file <code > class="filename"><ext/concurrence.h></code> > contains all the higher-level > constructs for playing with threads. In contrast to the atomics layer, > the concurrence layer consists largely of types. All types are defined > within <code class="code">namespace __gnu_cxx</code>. > @@ -90,4 +90,4 @@ _GLIBCXX_WRITE_MEM_BARRIER > </p><p> > Which expand to the appropriate write and read barrier required by the > host hardware and operating system. > -</p></div></div></div><div class="navfooter"><hr /><table width="100%" > summary="Navigation footer"><tr><td width="40%" align="left"><a > accesskey="p" href="ext_demangling.html">Prev</a> </td><td width="20%" > align="center"><a accesskey="u" href="extensions.html">Up</a></td><td > width="40%" align="right"> <a accesskey="n" > href="ext_concurrency_impl.html">Next</a></td></tr><tr><td width="40%" > align="left" valign="top">Chapter 28. Demangling </td><td width="20%" > align="center"><a accesskey="h" href="../index.html">Home</a></td><td > width="40%" align="right" > valign="top"> Implementation</td></tr></table></div></body></html> > \ No newline at end of file > +</p></div></div></div><div class="navfooter"><hr /><table width="100%" > summary="Navigation footer"><tr><td width="40%" align="left"><a > accesskey="p" href="ext_demangling.html">Prev</a> </td><td width="20%" > align="center"><a accesskey="u" href="extensions.html">Up</a></td><td > width="40%" align="right"> <a accesskey="n" > href="ext_concurrency_impl.html">Next</a></td></tr><tr><td width="40%" > align="left" valign="top">Chapter 29. Demangling </td><td width="20%" > align="center"><a accesskey="h" href="../index.html">Home</a></td><td > width="40%" align="right" > valign="top"> Implementation</td></tr></table></div></body></html> > \ No newline at end of file > diff --git a/libstdc++-v3/doc/html/manual/ext_concurrency_impl.html > b/libstdc++-v3/doc/html/manual/ext_concurrency_impl.html > index 669c07cf2917..ca6036e10ef7 100644 > --- a/libstdc++-v3/doc/html/manual/ext_concurrency_impl.html > +++ b/libstdc++-v3/doc/html/manual/ext_concurrency_impl.html > @@ -1,5 +1,5 @@ > <?xml version="1.0" encoding="UTF-8" standalone="no"?> > -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>Implementation</title><meta > name="generator" content="DocBook XSL Stylesheets Vsnapshot" /><meta > name="keywords" content="ISO C++, library" /><meta name="keywords" > content="ISO C++, library" /><meta name="keywords" content="ISO C++, > runtime, library" /><link rel="home" href="../index.html" title="The GNU > C++ Library" /><link rel="up" href="ext_concurrency.html" > title="Chapter 29. Concurrency" /><link rel="prev" > href="ext_concurrency.html" title="Chapter 29. Concurrency" /><link > rel="next" href="ext_concurrency_use.html" title="Use" /></head><body><div > class="navheader"><table width="100%" summary="Navigation header"><tr><th > colspan="3" align="center">Implementation</th></tr><tr><td width="20%" > align="left"><a accesskey="p" href="ext_concurrency.html">Prev</a> </td><th > width="60%" align="center">Chapter 29. Concurrency</th><td width="20%" > align="right"> <a accesskey="n" > href="ext_concurrency_use.html">Next</a></td></tr></table><hr /></div><div > class="section"><div class="titlepage"><div><div><h2 class="title" > style="clear: both"><a > id="manual.ext.concurrency.impl"></a>Implementation</h2></div></div></div><div > class="section"><div class="titlepage"><div><div><h3 class="title"><a > id="manual.ext.concurrency.impl.atomic_fallbacks"></a>Using Built-in Atomic > Functions</h3></div></div></div><p>The functions for atomic operations > described above are either > +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>Implementation</title><meta > name="generator" content="DocBook XSL Stylesheets Vsnapshot" /><meta > name="keywords" content="ISO C++, library" /><meta name="keywords" > content="ISO C++, library" /><meta name="keywords" content="ISO C++, > runtime, library" /><link rel="home" href="../index.html" title="The GNU > C++ Library" /><link rel="up" href="ext_concurrency.html" > title="Chapter 30. Concurrency" /><link rel="prev" > href="ext_concurrency.html" title="Chapter 30. Concurrency" /><link > rel="next" href="ext_concurrency_use.html" title="Use" /></head><body><div > class="navheader"><table width="100%" summary="Navigation header"><tr><th > colspan="3" align="center">Implementation</th></tr><tr><td width="20%" > align="left"><a accesskey="p" href="ext_concurrency.html">Prev</a> </td><th > width="60%" align="center">Chapter 30. Concurrency</th><td width="20%" > align="right"> <a accesskey="n" > href="ext_concurrency_use.html">Next</a></td></tr></table><hr /></div><div > class="section"><div class="titlepage"><div><div><h2 class="title" > style="clear: both"><a > id="manual.ext.concurrency.impl"></a>Implementation</h2></div></div></div><div > class="section"><div class="titlepage"><div><div><h3 class="title"><a > id="manual.ext.concurrency.impl.atomic_fallbacks"></a>Using Built-in Atomic > Functions</h3></div></div></div><p>The functions for atomic operations > described above are either > implemented via compiler intrinsics (if the underlying host is > capable) or by library fallbacks.</p><p>Compiler intrinsics (builtins) > are always preferred. However, as > the compiler builtins for atomics are not universally implemented, > @@ -49,4 +49,4 @@ use this layer. More detail as to the specific interface > can be found in the sou > functions, and usage found in the usual <pthread.h> file, > including <code class="code">pthread_t</code>, <code > class="code">pthread_once_t</code>, <code > class="code">pthread_create</code>, > etc. > -</p></div></div><div class="navfooter"><hr /><table width="100%" > summary="Navigation footer"><tr><td width="40%" align="left"><a > accesskey="p" href="ext_concurrency.html">Prev</a> </td><td width="20%" > align="center"><a accesskey="u" href="ext_concurrency.html">Up</a></td><td > width="40%" align="right"> <a accesskey="n" > href="ext_concurrency_use.html">Next</a></td></tr><tr><td width="40%" > align="left" valign="top">Chapter 29. Concurrency </td><td width="20%" > align="center"><a accesskey="h" href="../index.html">Home</a></td><td > width="40%" align="right" > valign="top"> Use</td></tr></table></div></body></html> > \ No newline at end of file > +</p></div></div><div class="navfooter"><hr /><table width="100%" > summary="Navigation footer"><tr><td width="40%" align="left"><a > accesskey="p" href="ext_concurrency.html">Prev</a> </td><td width="20%" > align="center"><a accesskey="u" href="ext_concurrency.html">Up</a></td><td > width="40%" align="right"> <a accesskey="n" > href="ext_concurrency_use.html">Next</a></td></tr><tr><td width="40%" > align="left" valign="top">Chapter 30. Concurrency </td><td width="20%" > align="center"><a accesskey="h" href="../index.html">Home</a></td><td > width="40%" align="right" > valign="top"> Use</td></tr></table></div></body></html> > \ No newline at end of file > diff --git a/libstdc++-v3/doc/html/manual/ext_concurrency_use.html > b/libstdc++-v3/doc/html/manual/ext_concurrency_use.html > index 6a0d345a9100..85c85b4a7b21 100644 > --- a/libstdc++-v3/doc/html/manual/ext_concurrency_use.html > +++ b/libstdc++-v3/doc/html/manual/ext_concurrency_use.html > @@ -1,5 +1,5 @@ > <?xml version="1.0" encoding="UTF-8" standalone="no"?> > -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>Use</title><meta > name="generator" content="DocBook XSL Stylesheets Vsnapshot" /><meta > name="keywords" content="ISO C++, library" /><meta name="keywords" > content="ISO C++, library" /><meta name="keywords" content="ISO C++, > runtime, library" /><link rel="home" href="../index.html" title="The GNU > C++ Library" /><link rel="up" href="ext_concurrency.html" > title="Chapter 29. Concurrency" /><link rel="prev" > href="ext_concurrency_impl.html" title="Implementation" /><link rel="next" > href="appendix.html" title="Part IV. Appendices" /></head><body><div > class="navheader"><table width="100%" summary="Navigation header"><tr><th > colspan="3" align="center">Use</th></tr><tr><td width="20%" align="left"><a > accesskey="p" href="ext_concurrency_impl.html">Prev</a> </td><th > width="60%" align="center">Chapter 29. Concurrency</th><td width="20%" > align="right"> <a accesskey="n" > href="appendix.html">Next</a></td></tr></table><hr /></div><div > class="section"><div class="titlepage"><div><div><h2 class="title" > style="clear: both"><a > id="manual.ext.concurrency.use"></a>Use</h2></div></div></div><p>Typical > usage of the last two constructs is demonstrated as follows: > +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>Use</title><meta > name="generator" content="DocBook XSL Stylesheets Vsnapshot" /><meta > name="keywords" content="ISO C++, library" /><meta name="keywords" > content="ISO C++, library" /><meta name="keywords" content="ISO C++, > runtime, library" /><link rel="home" href="../index.html" title="The GNU > C++ Library" /><link rel="up" href="ext_concurrency.html" > title="Chapter 30. Concurrency" /><link rel="prev" > href="ext_concurrency_impl.html" title="Implementation" /><link rel="next" > href="appendix.html" title="Part IV. Appendices" /></head><body><div > class="navheader"><table width="100%" summary="Navigation header"><tr><th > colspan="3" align="center">Use</th></tr><tr><td width="20%" align="left"><a > accesskey="p" href="ext_concurrency_impl.html">Prev</a> </td><th > width="60%" align="center">Chapter 30. Concurrency</th><td width="20%" > align="right"> <a accesskey="n" > href="appendix.html">Next</a></td></tr></table><hr /></div><div > class="section"><div class="titlepage"><div><div><h2 class="title" > style="clear: both"><a > id="manual.ext.concurrency.use"></a>Use</h2></div></div></div><p>Typical > usage of the last two constructs is demonstrated as follows: > </p><pre class="programlisting"> > #include <ext/concurrence.h> > > diff --git a/libstdc++-v3/doc/html/manual/ext_containers.html > b/libstdc++-v3/doc/html/manual/ext_containers.html > index 660910f1042b..4f20d16d2056 100644 > --- a/libstdc++-v3/doc/html/manual/ext_containers.html > +++ b/libstdc++-v3/doc/html/manual/ext_containers.html > @@ -1,8 +1,8 @@ > <?xml version="1.0" encoding="UTF-8" standalone="no"?> > -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>Chapter 22. HP/SGI > Extensions</title><meta name="generator" content="DocBook XSL Stylesheets > Vsnapshot" /><meta name="keywords" content="ISO C++, library" /><meta > name="keywords" content="ISO C++, runtime, library" /><link rel="home" > href="../index.html" title="The GNU C++ Library" /><link rel="up" > href="extensions.html" title="Part III. Extensions" /><link rel="prev" > href="policy_data_structures_ack.html" title="Acknowledgments" /><link > rel="next" href="ext_sgi.html" title="Deprecated" /></head><body><div > class="navheader"><table width="100%" summary="Navigation header"><tr><th > colspan="3" align="center">Chapter 22. HP/SGI Extensions</th></tr><tr><td > width="20%" align="left"><a accesskey="p" > href="policy_data_structures_ack.html">Prev</a> </td><th width="60%" > align="center">Part III. > +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>Chapter 23. HP/SGI > Extensions</title><meta name="generator" content="DocBook XSL Stylesheets > Vsnapshot" /><meta name="keywords" content="ISO C++, library" /><meta > name="keywords" content="ISO C++, runtime, library" /><link rel="home" > href="../index.html" title="The GNU C++ Library" /><link rel="up" > href="extensions.html" title="Part III. Extensions" /><link rel="prev" > href="policy_data_structures_ack.html" title="Acknowledgments" /><link > rel="next" href="ext_sgi.html" title="Deprecated" /></head><body><div > class="navheader"><table width="100%" summary="Navigation header"><tr><th > colspan="3" align="center">Chapter 23. HP/SGI Extensions</th></tr><tr><td > width="20%" align="left"><a accesskey="p" > href="policy_data_structures_ack.html">Prev</a> </td><th width="60%" > align="center">Part III. > Extensions > > -</th><td width="20%" align="right"> <a accesskey="n" > href="ext_sgi.html">Next</a></td></tr></table><hr /></div><div > class="chapter"><div class="titlepage"><div><div><h2 class="title"><a > id="manual.ext.containers"></a>Chapter 22. HP/SGI > Extensions</h2></div></div></div><div class="toc"><p><strong>Table of > Contents</strong></p><dl class="toc"><dt><span class="section"><a > href="ext_containers.html#manual.ext.containers.sgi">Backwards > Compatibility</a></span></dt><dt><span class="section"><a > href="ext_sgi.html">Deprecated</a></span></dt></dl></div><div > class="section"><div class="titlepage"><div><div><h2 class="title" > style="clear: both"><a id="manual.ext.containers.sgi"></a>Backwards > Compatibility</h2></div></div></div><p>A few extensions and nods to > backwards-compatibility have > +</th><td width="20%" align="right"> <a accesskey="n" > href="ext_sgi.html">Next</a></td></tr></table><hr /></div><div > class="chapter"><div class="titlepage"><div><div><h2 class="title"><a > id="manual.ext.containers"></a>Chapter 23. HP/SGI > Extensions</h2></div></div></div><div class="toc"><p><strong>Table of > Contents</strong></p><dl class="toc"><dt><span class="section"><a > href="ext_containers.html#manual.ext.containers.sgi">Backwards > Compatibility</a></span></dt><dt><span class="section"><a > href="ext_sgi.html">Deprecated</a></span></dt></dl></div><div > class="section"><div class="titlepage"><div><div><h2 class="title" > style="clear: both"><a id="manual.ext.containers.sgi"></a>Backwards > Compatibility</h2></div></div></div><p>A few extensions and nods to > backwards-compatibility have > been made with containers. Those dealing with older SGI-style > allocators are dealt with elsewhere. The remaining ones all deal > with bits: > diff --git a/libstdc++-v3/doc/html/manual/ext_demangling.html > b/libstdc++-v3/doc/html/manual/ext_demangling.html > index 0275830f3ba4..a2dd3c7f5272 100644 > --- a/libstdc++-v3/doc/html/manual/ext_demangling.html > +++ b/libstdc++-v3/doc/html/manual/ext_demangling.html > @@ -1,8 +1,8 @@ > <?xml version="1.0" encoding="UTF-8" standalone="no"?> > -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" > /><title>Chapter 28. Demangling</title><meta name="generator" > content="DocBook XSL Stylesheets Vsnapshot" /><meta name="keywords" > content="ISO C++, library" /><meta name="keywords" content="ISO C++, > runtime, library" /><link rel="home" href="../index.html" title="The GNU > C++ Library" /><link rel="up" href="extensions.html" title="Part III. > Extensions" /><link rel="prev" href="ext_io.html" title="Chapter 27. Input > and Output" /><link rel="next" href="ext_concurrency.html" > title="Chapter 29. Concurrency" /></head><body><div > class="navheader"><table width="100%" summary="Navigation header"><tr><th > colspan="3" align="center">Chapter 28. Demangling</th></tr><tr><td > width="20%" align="left"><a accesskey="p" > href="ext_io.html">Prev</a> </td><th width="60%" align="center">Part III. > +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" > /><title>Chapter 29. Demangling</title><meta name="generator" > content="DocBook XSL Stylesheets Vsnapshot" /><meta name="keywords" > content="ISO C++, library" /><meta name="keywords" content="ISO C++, > runtime, library" /><link rel="home" href="../index.html" title="The GNU > C++ Library" /><link rel="up" href="extensions.html" title="Part III. > Extensions" /><link rel="prev" href="ext_io.html" title="Chapter 28. Input > and Output" /><link rel="next" href="ext_concurrency.html" > title="Chapter 30. Concurrency" /></head><body><div > class="navheader"><table width="100%" summary="Navigation header"><tr><th > colspan="3" align="center">Chapter 29. Demangling</th></tr><tr><td > width="20%" align="left"><a accesskey="p" > href="ext_io.html">Prev</a> </td><th width="60%" align="center">Part III. > Extensions > > -</th><td width="20%" align="right"> <a accesskey="n" > href="ext_concurrency.html">Next</a></td></tr></table><hr /></div><div > class="chapter"><div class="titlepage"><div><div><h2 class="title"><a > id="manual.ext.demangle"></a>Chapter 28. Demangling</h2></div></div></div><p> > +</th><td width="20%" align="right"> <a accesskey="n" > href="ext_concurrency.html">Next</a></td></tr></table><hr /></div><div > class="chapter"><div class="titlepage"><div><div><h2 class="title"><a > id="manual.ext.demangle"></a>Chapter 29. Demangling</h2></div></div></div><p> > Transforming C++ ABI identifiers (like RTTI symbols) into the > original C++ source identifiers is called > <span class="quote">“<span class="quote">demangling.</span>”</span> > @@ -57,4 +57,4 @@ int main() > be writing C++ in order to demangle C++. (That also means we have to > use crummy memory management facilities, so don't forget to > <code class="code">free()</code> the returned char array.) > - </p></div><div class="navfooter"><hr /><table width="100%" > summary="Navigation footer"><tr><td width="40%" align="left"><a > accesskey="p" href="ext_io.html">Prev</a> </td><td width="20%" > align="center"><a accesskey="u" href="extensions.html">Up</a></td><td > width="40%" align="right"> <a accesskey="n" > href="ext_concurrency.html">Next</a></td></tr><tr><td width="40%" > align="left" valign="top">Chapter 27. Input and Output </td><td width="20%" > align="center"><a accesskey="h" href="../index.html">Home</a></td><td > width="40%" align="right" > valign="top"> Chapter 29. Concurrency</td></tr></table></div></body></html> > \ No newline at end of file > + </p></div><div class="navfooter"><hr /><table width="100%" > summary="Navigation footer"><tr><td width="40%" align="left"><a > accesskey="p" href="ext_io.html">Prev</a> </td><td width="20%" > align="center"><a accesskey="u" href="extensions.html">Up</a></td><td > width="40%" align="right"> <a accesskey="n" > href="ext_concurrency.html">Next</a></td></tr><tr><td width="40%" > align="left" valign="top">Chapter 28. Input and Output </td><td width="20%" > align="center"><a accesskey="h" href="../index.html">Home</a></td><td > width="40%" align="right" > valign="top"> Chapter 30. Concurrency</td></tr></table></div></body></html> > \ No newline at end of file > diff --git a/libstdc++-v3/doc/html/manual/ext_io.html > b/libstdc++-v3/doc/html/manual/ext_io.html > index 7bf81dfa8600..2959d5d554fd 100644 > --- a/libstdc++-v3/doc/html/manual/ext_io.html > +++ b/libstdc++-v3/doc/html/manual/ext_io.html > @@ -1,8 +1,8 @@ > <?xml version="1.0" encoding="UTF-8" standalone="no"?> > -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>Chapter 27. Input and > Output</title><meta name="generator" content="DocBook XSL Stylesheets > Vsnapshot" /><meta name="keywords" content="ISO C++, library" /><meta > name="keywords" content="ISO C++, runtime, library" /><link rel="home" > href="../index.html" title="The GNU C++ Library" /><link rel="up" > href="extensions.html" title="Part III. Extensions" /><link rel="prev" > href="ext_iterators.html" title="Chapter 26. Iterators" /><link rel="next" > href="ext_demangling.html" title="Chapter 28. Demangling" > /></head><body><div class="navheader"><table width="100%" > summary="Navigation header"><tr><th colspan="3" > align="center">Chapter 27. Input and Output</th></tr><tr><td width="20%" > align="left"><a accesskey="p" href="ext_iterators.html">Prev</a> </td><th > width="60%" align="center">Part III. > +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>Chapter 28. Input and > Output</title><meta name="generator" content="DocBook XSL Stylesheets > Vsnapshot" /><meta name="keywords" content="ISO C++, library" /><meta > name="keywords" content="ISO C++, runtime, library" /><link rel="home" > href="../index.html" title="The GNU C++ Library" /><link rel="up" > href="extensions.html" title="Part III. Extensions" /><link rel="prev" > href="ext_iterators.html" title="Chapter 27. Iterators" /><link rel="next" > href="ext_demangling.html" title="Chapter 29. Demangling" > /></head><body><div class="navheader"><table width="100%" > summary="Navigation header"><tr><th colspan="3" > align="center">Chapter 28. Input and Output</th></tr><tr><td width="20%" > align="left"><a accesskey="p" href="ext_iterators.html">Prev</a> </td><th > width="60%" align="center">Part III. > Extensions > > -</th><td width="20%" align="right"> <a accesskey="n" > href="ext_demangling.html">Next</a></td></tr></table><hr /></div><div > class="chapter"><div class="titlepage"><div><div><h2 class="title"><a id=" > manual.ext.io"></a>Chapter 27. Input and > Output</h2></div></div></div><div class="toc"><p><strong>Table of > Contents</strong></p><dl class="toc"><dt><span class="section"><a > href="ext_io.html#manual.ext.io.filebuf_derived">Derived > filebufs</a></span></dt></dl></div><p> > +</th><td width="20%" align="right"> <a accesskey="n" > href="ext_demangling.html">Next</a></td></tr></table><hr /></div><div > class="chapter"><div class="titlepage"><div><div><h2 class="title"><a id=" > manual.ext.io"></a>Chapter 28. Input and > Output</h2></div></div></div><div class="toc"><p><strong>Table of > Contents</strong></p><dl class="toc"><dt><span class="section"><a > href="ext_io.html#manual.ext.io.filebuf_derived">Derived > filebufs</a></span></dt></dl></div><p> > Extensions allowing <code class="code">filebuf</code>s to be > constructed from > "C" types like FILE*s and file descriptors. > </p><div class="section"><div class="titlepage"><div><div><h2 > class="title" style="clear: both"><a > id="manual.ext.io.filebuf_derived"></a>Derived > filebufs</h2></div></div></div><p>The v2 library included non-standard > extensions to construct > @@ -43,4 +43,4 @@ > <code class="classname">__gnu_cxx::stdio_filebuf</code>. > This class can be constructed from a C <code > class="code">FILE*</code> or a file > descriptor, and provides the <code class="code">fd()</code> > function. > - </p></li></ul></div></div></div><div class="navfooter"><hr /><table > width="100%" summary="Navigation footer"><tr><td width="40%" > align="left"><a accesskey="p" href="ext_iterators.html">Prev</a> </td><td > width="20%" align="center"><a accesskey="u" > href="extensions.html">Up</a></td><td width="40%" align="right"> <a > accesskey="n" href="ext_demangling.html">Next</a></td></tr><tr><td > width="40%" align="left" valign="top">Chapter 26. Iterators </td><td > width="20%" align="center"><a accesskey="h" > href="../index.html">Home</a></td><td width="40%" align="right" > valign="top"> Chapter 28. Demangling</td></tr></table></div></body></html> > \ No newline at end of file > + </p></li></ul></div></div></div><div class="navfooter"><hr /><table > width="100%" summary="Navigation footer"><tr><td width="40%" > align="left"><a accesskey="p" href="ext_iterators.html">Prev</a> </td><td > width="20%" align="center"><a accesskey="u" > href="extensions.html">Up</a></td><td width="40%" align="right"> <a > accesskey="n" href="ext_demangling.html">Next</a></td></tr><tr><td > width="40%" align="left" valign="top">Chapter 27. Iterators </td><td > width="20%" align="center"><a accesskey="h" > href="../index.html">Home</a></td><td width="40%" align="right" > valign="top"> Chapter 29. Demangling</td></tr></table></div></body></html> > \ No newline at end of file > diff --git a/libstdc++-v3/doc/html/manual/ext_iterators.html > b/libstdc++-v3/doc/html/manual/ext_iterators.html > index 952f1b5bb629..b349aab81add 100644 > --- a/libstdc++-v3/doc/html/manual/ext_iterators.html > +++ b/libstdc++-v3/doc/html/manual/ext_iterators.html > @@ -1,8 +1,8 @@ > <?xml version="1.0" encoding="UTF-8" standalone="no"?> > -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" > /><title>Chapter 26. Iterators</title><meta name="generator" > content="DocBook XSL Stylesheets Vsnapshot" /><meta name="keywords" > content="ISO C++, library" /><meta name="keywords" content="ISO C++, > runtime, library" /><link rel="home" href="../index.html" title="The GNU > C++ Library" /><link rel="up" href="extensions.html" title="Part III. > Extensions" /><link rel="prev" href="ext_numerics.html" > title="Chapter 25. Numerics" /><link rel="next" href="ext_io.html" > title="Chapter 27. Input and Output" /></head><body><div > class="navheader"><table width="100%" summary="Navigation header"><tr><th > colspan="3" align="center">Chapter 26. Iterators</th></tr><tr><td > width="20%" align="left"><a accesskey="p" > href="ext_numerics.html">Prev</a> </td><th width="60%" > align="center">Part III. > +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" > /><title>Chapter 27. Iterators</title><meta name="generator" > content="DocBook XSL Stylesheets Vsnapshot" /><meta name="keywords" > content="ISO C++, library" /><meta name="keywords" content="ISO C++, > runtime, library" /><link rel="home" href="../index.html" title="The GNU > C++ Library" /><link rel="up" href="extensions.html" title="Part III. > Extensions" /><link rel="prev" href="ext_numerics.html" > title="Chapter 26. Numerics" /><link rel="next" href="ext_io.html" > title="Chapter 28. Input and Output" /></head><body><div > class="navheader"><table width="100%" summary="Navigation header"><tr><th > colspan="3" align="center">Chapter 27. Iterators</th></tr><tr><td > width="20%" align="left"><a accesskey="p" > href="ext_numerics.html">Prev</a> </td><th width="60%" > align="center">Part III. > Extensions > > -</th><td width="20%" align="right"> <a accesskey="n" > href="ext_io.html">Next</a></td></tr></table><hr /></div><div > class="chapter"><div class="titlepage"><div><div><h2 class="title"><a > id="manual.ext.iterators"></a>Chapter 26. Iterators</h2></div></div></div><p>24.3.2 > describes <code class="code">struct iterator</code>, which didn't exist in > the > +</th><td width="20%" align="right"> <a accesskey="n" > href="ext_io.html">Next</a></td></tr></table><hr /></div><div > class="chapter"><div class="titlepage"><div><div><h2 class="title"><a > id="manual.ext.iterators"></a>Chapter 27. Iterators</h2></div></div></div><p>24.3.2 > describes <code class="code">struct iterator</code>, which didn't exist in > the > original HP STL implementation (the language wasn't rich enough at the > time). For backwards compatibility, base classes are provided which > declare the same nested typedefs: > @@ -10,4 +10,4 @@ > two iterators and returns a result. It is extended by another > signature > which takes two iterators and a reference to a result. The result is > modified, and the function returns nothing. > -</p></div><div class="navfooter"><hr /><table width="100%" > summary="Navigation footer"><tr><td width="40%" align="left"><a > accesskey="p" href="ext_numerics.html">Prev</a> </td><td width="20%" > align="center"><a accesskey="u" href="extensions.html">Up</a></td><td > width="40%" align="right"> <a accesskey="n" > href="ext_io.html">Next</a></td></tr><tr><td width="40%" align="left" > valign="top">Chapter 25. Numerics </td><td width="20%" align="center"><a > accesskey="h" href="../index.html">Home</a></td><td width="40%" > align="right" valign="top"> Chapter 27. Input and > Output</td></tr></table></div></body></html> > \ No newline at end of file > +</p></div><div class="navfooter"><hr /><table width="100%" > summary="Navigation footer"><tr><td width="40%" align="left"><a > accesskey="p" href="ext_numerics.html">Prev</a> </td><td width="20%" > align="center"><a accesskey="u" href="extensions.html">Up</a></td><td > width="40%" align="right"> <a accesskey="n" > href="ext_io.html">Next</a></td></tr><tr><td width="40%" align="left" > valign="top">Chapter 26. Numerics </td><td width="20%" align="center"><a > accesskey="h" href="../index.html">Home</a></td><td width="40%" > align="right" valign="top"> Chapter 28. Input and > Output</td></tr></table></div></body></html> > \ No newline at end of file > diff --git a/libstdc++-v3/doc/html/manual/ext_numerics.html > b/libstdc++-v3/doc/html/manual/ext_numerics.html > index c3a5623d1752..05602f475b35 100644 > --- a/libstdc++-v3/doc/html/manual/ext_numerics.html > +++ b/libstdc++-v3/doc/html/manual/ext_numerics.html > @@ -1,8 +1,8 @@ > <?xml version="1.0" encoding="UTF-8" standalone="no"?> > -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" > /><title>Chapter 25. Numerics</title><meta name="generator" > content="DocBook XSL Stylesheets Vsnapshot" /><meta name="keywords" > content="ISO C++, library" /><meta name="keywords" content="ISO C++, > runtime, library" /><link rel="home" href="../index.html" title="The GNU > C++ Library" /><link rel="up" href="extensions.html" title="Part III. > Extensions" /><link rel="prev" href="ext_algorithms.html" > title="Chapter 24. Algorithms" /><link rel="next" href="ext_iterators.html" > title="Chapter 26. Iterators" /></head><body><div class="navheader"><table > width="100%" summary="Navigation header"><tr><th colspan="3" > align="center">Chapter 25. Numerics</th></tr><tr><td width="20%" > align="left"><a accesskey="p" href="ext_algorithms.html">Prev</a> </td><th > width="60%" align="center">Part III. > +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" > /><title>Chapter 26. Numerics</title><meta name="generator" > content="DocBook XSL Stylesheets Vsnapshot" /><meta name="keywords" > content="ISO C++, library" /><meta name="keywords" content="ISO C++, > runtime, library" /><link rel="home" href="../index.html" title="The GNU > C++ Library" /><link rel="up" href="extensions.html" title="Part III. > Extensions" /><link rel="prev" href="ext_algorithms.html" > title="Chapter 25. Algorithms" /><link rel="next" href="ext_iterators.html" > title="Chapter 27. Iterators" /></head><body><div class="navheader"><table > width="100%" summary="Navigation header"><tr><th colspan="3" > align="center">Chapter 26. Numerics</th></tr><tr><td width="20%" > align="left"><a accesskey="p" href="ext_algorithms.html">Prev</a> </td><th > width="60%" align="center">Part III. > Extensions > > -</th><td width="20%" align="right"> <a accesskey="n" > href="ext_iterators.html">Next</a></td></tr></table><hr /></div><div > class="chapter"><div class="titlepage"><div><div><h2 class="title"><a > id="manual.ext.numerics"></a>Chapter 25. Numerics</h2></div></div></div><p>26.4, > the generalized numeric operations such as <code > class="code">accumulate</code>, > +</th><td width="20%" align="right"> <a accesskey="n" > href="ext_iterators.html">Next</a></td></tr></table><hr /></div><div > class="chapter"><div class="titlepage"><div><div><h2 class="title"><a > id="manual.ext.numerics"></a>Chapter 26. Numerics</h2></div></div></div><p>26.4, > the generalized numeric operations such as <code > class="code">accumulate</code>, > are extended with the following functions: > </p><pre class="programlisting"> > power (x, n); > @@ -20,4 +20,4 @@ > <code class="code">value + 1</code> to<code class="code"> *(first + > 1)</code> and so on." > </p><pre class="programlisting"> > void iota(_ForwardIter first, _ForwardIter last, _Tp > value);</pre><p>The <code class="code">iota</code> function is included in > the ISO C++ 2011 standard. > -</p></div><div class="navfooter"><hr /><table width="100%" > summary="Navigation footer"><tr><td width="40%" align="left"><a > accesskey="p" href="ext_algorithms.html">Prev</a> </td><td width="20%" > align="center"><a accesskey="u" href="extensions.html">Up</a></td><td > width="40%" align="right"> <a accesskey="n" > href="ext_iterators.html">Next</a></td></tr><tr><td width="40%" > align="left" valign="top">Chapter 24. Algorithms </td><td width="20%" > align="center"><a accesskey="h" href="../index.html">Home</a></td><td > width="40%" align="right" > valign="top"> Chapter 26. Iterators</td></tr></table></div></body></html> > \ No newline at end of file > +</p></div><div class="navfooter"><hr /><table width="100%" > summary="Navigation footer"><tr><td width="40%" align="left"><a > accesskey="p" href="ext_algorithms.html">Prev</a> </td><td width="20%" > align="center"><a accesskey="u" href="extensions.html">Up</a></td><td > width="40%" align="right"> <a accesskey="n" > href="ext_iterators.html">Next</a></td></tr><tr><td width="40%" > align="left" valign="top">Chapter 25. Algorithms </td><td width="20%" > align="center"><a accesskey="h" href="../index.html">Home</a></td><td > width="40%" align="right" > valign="top"> Chapter 27. Iterators</td></tr></table></div></body></html> > \ No newline at end of file > diff --git a/libstdc++-v3/doc/html/manual/ext_preface.html > b/libstdc++-v3/doc/html/manual/ext_preface.html > index 0de4378a6c15..c95c37544a21 100644 > --- a/libstdc++-v3/doc/html/manual/ext_preface.html > +++ b/libstdc++-v3/doc/html/manual/ext_preface.html > @@ -1,5 +1,5 @@ > <?xml version="1.0" encoding="UTF-8" standalone="no"?> > -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title></title><meta name="generator" > content="DocBook XSL Stylesheets Vsnapshot" /><meta name="keywords" > content="ISO C++, library" /><meta name="keywords" content="ISO C++, > runtime, library" /><link rel="home" href="../index.html" title="The GNU > C++ Library" /><link rel="up" href="extensions.html" title="Part III. > Extensions" /><link rel="prev" href="extensions.html" title="Part III. > Extensions" /><link rel="next" href="ext_compile_checks.html" > title="Chapter 16. Compile Time Checks" /></head><body><div > class="navheader"><table width="100%" summary="Navigation header"><tr><th > colspan="3" align="center"></th></tr><tr><td width="20%" align="left"><a > accesskey="p" href="extensions.html">Prev</a> </td><th width="60%" > align="center">Part III. > +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title></title><meta name="generator" > content="DocBook XSL Stylesheets Vsnapshot" /><meta name="keywords" > content="ISO C++, library" /><meta name="keywords" content="ISO C++, > runtime, library" /><link rel="home" href="../index.html" title="The GNU > C++ Library" /><link rel="up" href="extensions.html" title="Part III. > Extensions" /><link rel="prev" href="extensions.html" title="Part III. > Extensions" /><link rel="next" href="ext_compile_checks.html" > title="Chapter 17. Compile Time Checks" /></head><body><div > class="navheader"><table width="100%" summary="Navigation header"><tr><th > colspan="3" align="center"></th></tr><tr><td width="20%" align="left"><a > accesskey="p" href="extensions.html">Prev</a> </td><th width="60%" > align="center">Part III. > Extensions > > </th><td width="20%" align="right"> <a accesskey="n" > href="ext_compile_checks.html">Next</a></td></tr></table><hr /></div><div > class="preface"><div class="titlepage"><div><div><h1 class="title"><a > id="manual.ext.preface"></a></h1></div></div></div><p> > @@ -23,4 +23,4 @@ extensions, be aware of two things: > </p></li></ol></div></div><div class="navfooter"><hr /><table > width="100%" summary="Navigation footer"><tr><td width="40%" > align="left"><a accesskey="p" href="extensions.html">Prev</a> </td><td > width="20%" align="center"><a accesskey="u" > href="extensions.html">Up</a></td><td width="40%" align="right"> <a > accesskey="n" href="ext_compile_checks.html">Next</a></td></tr><tr><td > width="40%" align="left" valign="top">Part III. > Extensions > > - </td><td width="20%" align="center"><a accesskey="h" > href="../index.html">Home</a></td><td width="40%" align="right" > valign="top"> Chapter 16. Compile Time > Checks</td></tr></table></div></body></html> > \ No newline at end of file > + </td><td width="20%" align="center"><a accesskey="h" > href="../index.html">Home</a></td><td width="40%" align="right" > valign="top"> Chapter 17. Compile Time > Checks</td></tr></table></div></body></html> > \ No newline at end of file > diff --git a/libstdc++-v3/doc/html/manual/ext_sgi.html > b/libstdc++-v3/doc/html/manual/ext_sgi.html > index 5a796e79424f..393f6268581a 100644 > --- a/libstdc++-v3/doc/html/manual/ext_sgi.html > +++ b/libstdc++-v3/doc/html/manual/ext_sgi.html > @@ -1,5 +1,5 @@ > <?xml version="1.0" encoding="UTF-8" standalone="no"?> > -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>Deprecated</title><meta > name="generator" content="DocBook XSL Stylesheets Vsnapshot" /><meta > name="keywords" content="ISO C++, library" /><meta name="keywords" > content="ISO C++, runtime, library" /><link rel="home" href="../index.html" > title="The GNU C++ Library" /><link rel="up" href="ext_containers.html" > title="Chapter 22. HP/SGI Extensions" /><link rel="prev" > href="ext_containers.html" title="Chapter 22. HP/SGI Extensions" /><link > rel="next" href="ext_utilities.html" title="Chapter 23. Utilities" > /></head><body><div class="navheader"><table width="100%" > summary="Navigation header"><tr><th colspan="3" > align="center">Deprecated</th></tr><tr><td width="20%" align="left"><a > accesskey="p" href="ext_containers.html">Prev</a> </td><th width="60%" > align="center">Chapter 22. HP/SGI Extensions</th><td width="20%" > align="right"> <a accesskey="n" > href="ext_utilities.html">Next</a></td></tr></table><hr /></div><div > class="section"><div class="titlepage"><div><div><h2 class="title" > style="clear: both"><a > id="manual.ext.containers.deprecated_sgi"></a>Deprecated</h2></div></div></div><p> > +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>Deprecated</title><meta > name="generator" content="DocBook XSL Stylesheets Vsnapshot" /><meta > name="keywords" content="ISO C++, library" /><meta name="keywords" > content="ISO C++, runtime, library" /><link rel="home" href="../index.html" > title="The GNU C++ Library" /><link rel="up" href="ext_containers.html" > title="Chapter 23. HP/SGI Extensions" /><link rel="prev" > href="ext_containers.html" title="Chapter 23. HP/SGI Extensions" /><link > rel="next" href="ext_utilities.html" title="Chapter 24. Utilities" > /></head><body><div class="navheader"><table width="100%" > summary="Navigation header"><tr><th colspan="3" > align="center">Deprecated</th></tr><tr><td width="20%" align="left"><a > accesskey="p" href="ext_containers.html">Prev</a> </td><th width="60%" > align="center">Chapter 23. HP/SGI Extensions</th><td width="20%" > align="right"> <a accesskey="n" > href="ext_utilities.html">Next</a></td></tr></table><hr /></div><div > class="section"><div class="titlepage"><div><div><h2 class="title" > style="clear: both"><a > id="manual.ext.containers.deprecated_sgi"></a>Deprecated</h2></div></div></div><p> > The SGI hashing classes <code class="classname">hash_set</code> and > <code class="classname">hash_set</code> have been deprecated by the > unordered_set, unordered_multiset, unordered_map, > @@ -55,4 +55,4 @@ > associative containers defined in the ISO C++ 2011 standard in the > headers <code class="filename"><unordered_map></code> > and <code class="filename"><unordered_set></code>. > - </p></div><div class="navfooter"><hr /><table width="100%" > summary="Navigation footer"><tr><td width="40%" align="left"><a > accesskey="p" href="ext_containers.html">Prev</a> </td><td width="20%" > align="center"><a accesskey="u" href="ext_containers.html">Up</a></td><td > width="40%" align="right"> <a accesskey="n" > href="ext_utilities.html">Next</a></td></tr><tr><td width="40%" > align="left" valign="top">Chapter 22. HP/SGI Extensions </td><td > width="20%" align="center"><a accesskey="h" > href="../index.html">Home</a></td><td width="40%" align="right" > valign="top"> Chapter 23. Utilities</td></tr></table></div></body></html> > \ No newline at end of file > + </p></div><div class="navfooter"><hr /><table width="100%" > summary="Navigation footer"><tr><td width="40%" align="left"><a > accesskey="p" href="ext_containers.html">Prev</a> </td><td width="20%" > align="center"><a accesskey="u" href="ext_containers.html">Up</a></td><td > width="40%" align="right"> <a accesskey="n" > href="ext_utilities.html">Next</a></td></tr><tr><td width="40%" > align="left" valign="top">Chapter 23. HP/SGI Extensions </td><td > width="20%" align="center"><a accesskey="h" > href="../index.html">Home</a></td><td width="40%" align="right" > valign="top"> Chapter 24. Utilities</td></tr></table></div></body></html> > \ No newline at end of file > diff --git a/libstdc++-v3/doc/html/manual/ext_utilities.html > b/libstdc++-v3/doc/html/manual/ext_utilities.html > index 9caf65f89eb6..6200b01e30cb 100644 > --- a/libstdc++-v3/doc/html/manual/ext_utilities.html > +++ b/libstdc++-v3/doc/html/manual/ext_utilities.html > @@ -1,8 +1,8 @@ > <?xml version="1.0" encoding="UTF-8" standalone="no"?> > -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" > /><title>Chapter 23. Utilities</title><meta name="generator" > content="DocBook XSL Stylesheets Vsnapshot" /><meta name="keywords" > content="ISO C++, library" /><meta name="keywords" content="ISO C++, > runtime, library" /><link rel="home" href="../index.html" title="The GNU > C++ Library" /><link rel="up" href="extensions.html" title="Part III. > Extensions" /><link rel="prev" href="ext_sgi.html" title="Deprecated" > /><link rel="next" href="ext_algorithms.html" > title="Chapter 24. Algorithms" /></head><body><div class="navheader"><table > width="100%" summary="Navigation header"><tr><th colspan="3" > align="center">Chapter 23. Utilities</th></tr><tr><td width="20%" > align="left"><a accesskey="p" href="ext_sgi.html">Prev</a> </td><th > width="60%" align="center">Part III. > +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" > /><title>Chapter 24. Utilities</title><meta name="generator" > content="DocBook XSL Stylesheets Vsnapshot" /><meta name="keywords" > content="ISO C++, library" /><meta name="keywords" content="ISO C++, > runtime, library" /><link rel="home" href="../index.html" title="The GNU > C++ Library" /><link rel="up" href="extensions.html" title="Part III. > Extensions" /><link rel="prev" href="ext_sgi.html" title="Deprecated" > /><link rel="next" href="ext_algorithms.html" > title="Chapter 25. Algorithms" /></head><body><div class="navheader"><table > width="100%" summary="Navigation header"><tr><th colspan="3" > align="center">Chapter 24. Utilities</th></tr><tr><td width="20%" > align="left"><a accesskey="p" href="ext_sgi.html">Prev</a> </td><th > width="60%" align="center">Part III. > Extensions > > -</th><td width="20%" align="right"> <a accesskey="n" > href="ext_algorithms.html">Next</a></td></tr></table><hr /></div><div > class="chapter"><div class="titlepage"><div><div><h2 class="title"><a > id="manual.ext.util"></a>Chapter 23. Utilities</h2></div></div></div><p> > +</th><td width="20%" align="right"> <a accesskey="n" > href="ext_algorithms.html">Next</a></td></tr></table><hr /></div><div > class="chapter"><div class="titlepage"><div><div><h2 class="title"><a > id="manual.ext.util"></a>Chapter 24. Utilities</h2></div></div></div><p> > The <code class="filename"><functional></code> header > contains many additional functors > and helper functions, extending section 20.3. They are > @@ -38,4 +38,4 @@ get_temporary_buffer(5, (int*)0); > </p><p> > The specialized algorithms of section 20.4.4 are extended with > <code class="code">uninitialized_copy_n</code>. > -</p></div><div class="navfooter"><hr /><table width="100%" > summary="Navigation footer"><tr><td width="40%" align="left"><a > accesskey="p" href="ext_sgi.html">Prev</a> </td><td width="20%" > align="center"><a accesskey="u" href="extensions.html">Up</a></td><td > width="40%" align="right"> <a accesskey="n" > href="ext_algorithms.html">Next</a></td></tr><tr><td width="40%" > align="left" valign="top">Deprecated </td><td width="20%" align="center"><a > accesskey="h" href="../index.html">Home</a></td><td width="40%" > align="right" > valign="top"> Chapter 24. Algorithms</td></tr></table></div></body></html> > \ No newline at end of file > +</p></div><div class="navfooter"><hr /><table width="100%" > summary="Navigation footer"><tr><td width="40%" align="left"><a > accesskey="p" href="ext_sgi.html">Prev</a> </td><td width="20%" > align="center"><a accesskey="u" href="extensions.html">Up</a></td><td > width="40%" align="right"> <a accesskey="n" > href="ext_algorithms.html">Next</a></td></tr><tr><td width="40%" > align="left" valign="top">Deprecated </td><td width="20%" align="center"><a > accesskey="h" href="../index.html">Home</a></td><td width="40%" > align="right" > valign="top"> Chapter 25. Algorithms</td></tr></table></div></body></html> > \ No newline at end of file > diff --git a/libstdc++-v3/doc/html/manual/extensions.html > b/libstdc++-v3/doc/html/manual/extensions.html > index 1b13d711714f..01682ad8d21c 100644 > --- a/libstdc++-v3/doc/html/manual/extensions.html > +++ b/libstdc++-v3/doc/html/manual/extensions.html > @@ -1,12 +1,12 @@ > <?xml version="1.0" encoding="UTF-8" standalone="no"?> > -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>Part III. > Extensions</title><meta name="generator" content="DocBook XSL Stylesheets > Vsnapshot" /><meta name="keywords" content="ISO C++, library" /><meta > name="keywords" content="ISO C++, runtime, library" /><link rel="home" > href="../index.html" title="The GNU C++ Library" /><link rel="up" > href="index.html" title="The GNU C++ Library Manual" /><link rel="prev" > href="concurrency.html" title="Chapter 15. Concurrency" /><link rel="next" > href="ext_preface.html" title="" /></head><body><div > class="navheader"><table width="100%" summary="Navigation header"><tr><th > colspan="3" align="center">Part III. > +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>Part III. > Extensions</title><meta name="generator" content="DocBook XSL Stylesheets > Vsnapshot" /><meta name="keywords" content="ISO C++, library" /><meta > name="keywords" content="ISO C++, runtime, library" /><link rel="home" > href="../index.html" title="The GNU C++ Library" /><link rel="up" > href="index.html" title="The GNU C++ Library Manual" /><link rel="prev" > href="concurrency.html" title="Chapter 16. Concurrency" /><link rel="next" > href="ext_preface.html" title="" /></head><body><div > class="navheader"><table width="100%" summary="Navigation header"><tr><th > colspan="3" align="center">Part III. > Extensions > > </th></tr><tr><td width="20%" align="left"><a accesskey="p" > href="concurrency.html">Prev</a> </td><th width="60%" align="center">The > GNU C++ Library Manual</th><td width="20%" align="right"> <a accesskey="n" > href="ext_preface.html">Next</a></td></tr></table><hr /></div><div > class="part"><div class="titlepage"><div><div><h1 class="title"><a > id="manual.ext"></a>Part III. > Extensions > <a id="id-1.3.5.1.1.1" class="indexterm"></a> > -</h1></div></div></div><div class="toc"><p><strong>Table of > Contents</strong></p><dl class="toc"><dt><span class="preface"><a > href="ext_preface.html"></a></span></dt><dt><span class="chapter"><a > href="ext_compile_checks.html">16. Compile Time > Checks</a></span></dt><dt><span class="chapter"><a > href="debug_mode.html">17. Debug Mode</a></span></dt><dd><dl><dt><span > class="section"><a > href="debug_mode.html#manual.ext.debug_mode.intro">Intro</a></span></dt><dt><span > class="section"><a > href="debug_mode_semantics.html">Semantics</a></span></dt><dt><span > class="section"><a > href="debug_mode_using.html">Using</a></span></dt><dd><dl><dt><span > class="section"><a href="debug_mode_using.html#debug_mode.using.mode">Using > the Debug Mode</a></span></dt><dt><span class="section"><a > href="debug_mode_using.html#debug_mode.using.specific">Using a Specific > Debug Container</a></span></dt></dl></dd><dt><span class="section"><a > href="debug_mode_design.html">Design</a></span></dt><dd><dl><dt><span > class="section"><a > href="debug_mode_design.html#debug_mode.design.goals">Goals</a></span></dt><dt><span > class="section"><a > href="debug_mode_design.html#debug_mode.design.methods">Methods</a></span></dt><dd><dl><dt><span > class="section"><a > href="debug_mode_design.html#debug_mode.design.methods.wrappers">The > Wrapper Model</a></span></dt><dd><dl><dt><span class="section"><a > href="debug_mode_design.html#debug_mode.design.methods.safe_iter">Safe > Iterators</a></span></dt><dt><span class="section"><a > href="debug_mode_design.html#debug_mode.design.methods.safe_seq">Safe > Sequences (Containers)</a></span></dt></dl></dd><dt><span > class="section"><a > href="debug_mode_design.html#debug_mode.design.methods.precond">Precondition > Checking</a></span></dt><dt><span class="section"><a > href="debug_mode_design.html#debug_mode.design.methods.coexistence">Release- > and debug-mode coexistence</a></span></dt><dd><dl><dt><span > class="section"><a > href="debug_mode_design.html#methods.coexistence.compile">Compile-time > coexistence of release- and debug-mode components</a></span></dt><dt><span > class="section"><a > href="debug_mode_design.html#methods.coexistence.link">Link- and run-time > coexistence of release- and > - debug-mode components</a></span></dt><dt><span class="section"><a > href="debug_mode_design.html#methods.coexistence.alt">Alternatives for > Coexistence</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a > href="debug_mode_design.html#debug_mode.design.other">Other > Implementations</a></span></dt></dl></dd></dl></dd><dt><span > class="chapter"><a href="parallel_mode.html">18. Parallel > Mode</a></span></dt><dd><dl><dt><span class="section"><a > href="parallel_mode.html#manual.ext.parallel_mode.intro">Intro</a></span></dt><dt><span > class="section"><a > href="parallel_mode_semantics.html">Semantics</a></span></dt><dt><span > class="section"><a > href="parallel_mode_using.html">Using</a></span></dt><dd><dl><dt><span > class="section"><a > href="parallel_mode_using.html#parallel_mode.using.prereq_flags">Prerequisite > Compiler Flags</a></span></dt><dt><span class="section"><a > href="parallel_mode_using.html#parallel_mode.using.parallel_mode">Using > Parallel Mode</a></span></dt><dt><span class="section"><a > href="parallel_mode_using.html#parallel_mode.using.specific">Using Specific > Parallel Components</a></span></dt></dl></dd><dt><span class="section"><a > href="parallel_mode_design.html">Design</a></span></dt><dd><dl><dt><span > class="section"><a > href="parallel_mode_design.html#parallel_mode.design.intro">Interface > Basics</a></span></dt><dt><span class="section"><a > href="parallel_mode_design.html#parallel_mode.design.tuning">Configuration > and Tuning</a></span></dt><dd><dl><dt><span class="section"><a > href="parallel_mode_design.html#parallel_mode.design.tuning.omp">Setting up > the OpenMP Environment</a></span></dt><dt><span class="section"><a > href="parallel_mode_design.html#parallel_mode.design.tuning.compile">Compile > Time Switches</a></span></dt><dt><span class="section"><a > href="parallel_mode_design.html#parallel_mode.design.tuning.settings">Run > Time Settings and Defaults</a></span></dt></dl></dd><dt><span > class="section"><a > href="parallel_mode_design.html#parallel_mode.design.impl">Implementation > Namespaces</a></span></dt></dl></dd><dt><span class="section"><a > href="parallel_mode_test.html">Testing</a></span></dt><dt><span > class="bibliography"><a > href="parallel_mode.html#parallel_mode.biblio">Bibliography</a></span></dt></dl></dd><dt><span > class="chapter"><a href="mt_allocator.html">19. The > mt_allocator</a></span></dt><dd><dl><dt><span class="section"><a > href="mt_allocator.html#allocator.mt.intro">Intro</a></span></dt><dt><span > class="section"><a href="mt_allocator_design.html">Design > Issues</a></span></dt><dd><dl><dt><span class="section"><a > href="mt_allocator_design.html#allocator.mt.overview">Overview</a></span></dt></dl></dd><dt><span > class="section"><a > href="mt_allocator_impl.html">Implementation</a></span></dt><dd><dl><dt><span > class="section"><a href="mt_allocator_impl.html#allocator.mt.tune">Tunable > Parameters</a></span></dt><dt><span class="section"><a > href="mt_allocator_impl.html#allocator.mt.init">Initialization</a></span></dt><dt><span > class="section"><a > href="mt_allocator_impl.html#allocator.mt.deallocation">Deallocation > Notes</a></span></dt></dl></dd><dt><span class="section"><a > href="mt_allocator_ex_single.html">Single Thread > Example</a></span></dt><dt><span class="section"><a > href="mt_allocator_ex_multi.html">Multiple Thread > Example</a></span></dt></dl></dd><dt><span class="chapter"><a > href="bitmap_allocator.html">20. The > bitmap_allocator</a></span></dt><dd><dl><dt><span class="section"><a > href="bitmap_allocator.html#allocator.bitmap.design">Design</a></span></dt><dt><span > class="section"><a > href="bitmap_allocator_impl.html">Implementation</a></span></dt><dd><dl><dt><span > class="section"><a > href="bitmap_allocator_impl.html#bitmap.impl.free_list_store">Free List > Store</a></span></dt><dt><span class="section"><a > href="bitmap_allocator_impl.html#bitmap.impl.super_block">Super > Block</a></span></dt><dt><span class="section"><a > href="bitmap_allocator_impl.html#bitmap.impl.super_block_data">Super Block > Data Layout</a></span></dt><dt><span class="section"><a > href="bitmap_allocator_impl.html#bitmap.impl.max_wasted">Maximum Wasted > Percentage</a></span></dt><dt><span class="section"><a > href="bitmap_allocator_impl.html#bitmap.impl.allocate"><code > class="function">allocate</code></a></span></dt><dt><span > class="section"><a > href="bitmap_allocator_impl.html#bitmap.impl.deallocate"><code > class="function">deallocate</code></a></span></dt><dt><span > class="section"><a > href="bitmap_allocator_impl.html#bitmap.impl.questions">Questions</a></span></dt><dd><dl><dt><span > class="section"><a > href="bitmap_allocator_impl.html#bitmap.impl.question.1">1</a></span></dt><dt><span > class="section"><a > href="bitmap_allocator_impl.html#bitmap.impl.question.2">2</a></span></dt><dt><span > class="section"><a > href="bitmap_allocator_impl.html#bitmap.impl.question.3">3</a></span></dt></dl></dd><dt><span > class="section"><a > href="bitmap_allocator_impl.html#bitmap.impl.locality">Locality</a></span></dt><dt><span > class="section"><a > href="bitmap_allocator_impl.html#bitmap.impl.grow_policy">Overhead and Grow > Policy</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a > href="policy_data_structures.html">21. Policy-Based Data > Structures</a></span></dt><dd><dl><dt><span class="section"><a > href="policy_data_structures.html#pbds.intro">Intro</a></span></dt><dd><dl><dt><span > class="section"><a > href="policy_data_structures.html#pbds.intro.issues">Performance > Issues</a></span></dt><dd><dl><dt><span class="section"><a > href="policy_data_structures.html#pbds.intro.issues.associative">Associative</a></span></dt><dt><span > class="section"><a > href="policy_data_structures.html#pbds.intro.issues.priority_queue">Priority > Que</a></span></dt></dl></dd><dt><span class="section"><a > href="policy_data_structures.html#pbds.intro.motivation">Goals</a></span></dt><dd><dl><dt><span > class="section"><a > href="policy_data_structures.html#pbds.intro.motivation.associative">Associative</a></span></dt><dd><dl><dt><span > class="section"><a > href="policy_data_structures.html#motivation.associative.policy">Policy > Choices</a></span></dt><dt><span class="section"><a > href="policy_data_structures.html#motivation.associative.underlying">Underlying > Data Structures</a></span></dt><dt><span class="section"><a > href="policy_data_structures.html#motivation.associative.iterators">Iterators</a></span></dt><dt><span > class="section"><a > href="policy_data_structures.html#motivation.associative.functions">Functional</a></span></dt></dl></dd><dt><span > class="section"><a > href="policy_data_structures.html#pbds.intro.motivation.priority_queue">Priority > Queues</a></span></dt><dd><dl><dt><span class="section"><a > href="policy_data_structures.html#motivation.priority_queue.policy">Policy > Choices</a></span></dt><dt><span class="section"><a > href="policy_data_structures.html#motivation.priority_queue.underlying">Underlying > Data Structures</a></span></dt><dt><span class="section"><a > href="policy_data_structures.html#motivation.priority_queue.binary_heap">Binary > Heaps</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span > class="section"><a > href="policy_data_structures_using.html">Using</a></span></dt><dd><dl><dt><span > class="section"><a > href="policy_data_structures_using.html#pbds.using.prereq">Prerequisites</a></span></dt><dt><span > class="section"><a > href="policy_data_structures_using.html#pbds.using.organization">Organization</a></span></dt><dt><span > class="section"><a > href="policy_data_structures_using.html#pbds.using.tutorial">Tutorial</a></span></dt><dd><dl><dt><span > class="section"><a > href="policy_data_structures_using.html#pbds.using.tutorial.basic">Basic > Use</a></span></dt><dt><span class="section"><a > href="policy_data_structures_using.html#pbds.using.tutorial.configuring"> > +</h1></div></div></div><div class="toc"><p><strong>Table of > Contents</strong></p><dl class="toc"><dt><span class="preface"><a > href="ext_preface.html"></a></span></dt><dt><span class="chapter"><a > href="ext_compile_checks.html">17. Compile Time > Checks</a></span></dt><dt><span class="chapter"><a > href="debug_mode.html">18. Debug Mode</a></span></dt><dd><dl><dt><span > class="section"><a > href="debug_mode.html#manual.ext.debug_mode.intro">Intro</a></span></dt><dt><span > class="section"><a > href="debug_mode_semantics.html">Semantics</a></span></dt><dt><span > class="section"><a > href="debug_mode_using.html">Using</a></span></dt><dd><dl><dt><span > class="section"><a href="debug_mode_using.html#debug_mode.using.mode">Using > the Debug Mode</a></span></dt><dt><span class="section"><a > href="debug_mode_using.html#debug_mode.using.specific">Using a Specific > Debug Container</a></span></dt></dl></dd><dt><span class="section"><a > href="debug_mode_design.html">Design</a></span></dt><dd><dl><dt><span > class="section"><a > href="debug_mode_design.html#debug_mode.design.goals">Goals</a></span></dt><dt><span > class="section"><a > href="debug_mode_design.html#debug_mode.design.methods">Methods</a></span></dt><dd><dl><dt><span > class="section"><a > href="debug_mode_design.html#debug_mode.design.methods.wrappers">The > Wrapper Model</a></span></dt><dd><dl><dt><span class="section"><a > href="debug_mode_design.html#debug_mode.design.methods.safe_iter">Safe > Iterators</a></span></dt><dt><span class="section"><a > href="debug_mode_design.html#debug_mode.design.methods.safe_seq">Safe > Sequences (Containers)</a></span></dt></dl></dd><dt><span > class="section"><a > href="debug_mode_design.html#debug_mode.design.methods.precond">Precondition > Checking</a></span></dt><dt><span class="section"><a > href="debug_mode_design.html#debug_mode.design.methods.coexistence">Release- > and debug-mode coexistence</a></span></dt><dd><dl><dt><span > class="section"><a > href="debug_mode_design.html#methods.coexistence.compile">Compile-time > coexistence of release- and debug-mode components</a></span></dt><dt><span > class="section"><a > href="debug_mode_design.html#methods.coexistence.link">Link- and run-time > coexistence of release- and > + debug-mode components</a></span></dt><dt><span class="section"><a > href="debug_mode_design.html#methods.coexistence.alt">Alternatives for > Coexistence</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a > href="debug_mode_design.html#debug_mode.design.other">Other > Implementations</a></span></dt></dl></dd></dl></dd><dt><span > class="chapter"><a href="parallel_mode.html">19. Parallel > Mode</a></span></dt><dd><dl><dt><span class="section"><a > href="parallel_mode.html#manual.ext.parallel_mode.intro">Intro</a></span></dt><dt><span > class="section"><a > href="parallel_mode_semantics.html">Semantics</a></span></dt><dt><span > class="section"><a > href="parallel_mode_using.html">Using</a></span></dt><dd><dl><dt><span > class="section"><a > href="parallel_mode_using.html#parallel_mode.using.prereq_flags">Prerequisite > Compiler Flags</a></span></dt><dt><span class="section"><a > href="parallel_mode_using.html#parallel_mode.using.parallel_mode">Using > Parallel Mode</a></span></dt><dt><span class="section"><a > href="parallel_mode_using.html#parallel_mode.using.specific">Using Specific > Parallel Components</a></span></dt></dl></dd><dt><span class="section"><a > href="parallel_mode_design.html">Design</a></span></dt><dd><dl><dt><span > class="section"><a > href="parallel_mode_design.html#parallel_mode.design.intro">Interface > Basics</a></span></dt><dt><span class="section"><a > href="parallel_mode_design.html#parallel_mode.design.tuning">Configuration > and Tuning</a></span></dt><dd><dl><dt><span class="section"><a > href="parallel_mode_design.html#parallel_mode.design.tuning.omp">Setting up > the OpenMP Environment</a></span></dt><dt><span class="section"><a > href="parallel_mode_design.html#parallel_mode.design.tuning.compile">Compile > Time Switches</a></span></dt><dt><span class="section"><a > href="parallel_mode_design.html#parallel_mode.design.tuning.settings">Run > Time Settings and Defaults</a></span></dt></dl></dd><dt><span > class="section"><a > href="parallel_mode_design.html#parallel_mode.design.impl">Implementation > Namespaces</a></span></dt></dl></dd><dt><span class="section"><a > href="parallel_mode_test.html">Testing</a></span></dt><dt><span > class="bibliography"><a > href="parallel_mode.html#parallel_mode.biblio">Bibliography</a></span></dt></dl></dd><dt><span > class="chapter"><a href="mt_allocator.html">20. The > mt_allocator</a></span></dt><dd><dl><dt><span class="section"><a > href="mt_allocator.html#allocator.mt.intro">Intro</a></span></dt><dt><span > class="section"><a href="mt_allocator_design.html">Design > Issues</a></span></dt><dd><dl><dt><span class="section"><a > href="mt_allocator_design.html#allocator.mt.overview">Overview</a></span></dt></dl></dd><dt><span > class="section"><a > href="mt_allocator_impl.html">Implementation</a></span></dt><dd><dl><dt><span > class="section"><a href="mt_allocator_impl.html#allocator.mt.tune">Tunable > Parameters</a></span></dt><dt><span class="section"><a > href="mt_allocator_impl.html#allocator.mt.init">Initialization</a></span></dt><dt><span > class="section"><a > href="mt_allocator_impl.html#allocator.mt.deallocation">Deallocation > Notes</a></span></dt></dl></dd><dt><span class="section"><a > href="mt_allocator_ex_single.html">Single Thread > Example</a></span></dt><dt><span class="section"><a > href="mt_allocator_ex_multi.html">Multiple Thread > Example</a></span></dt></dl></dd><dt><span class="chapter"><a > href="bitmap_allocator.html">21. The > bitmap_allocator</a></span></dt><dd><dl><dt><span class="section"><a > href="bitmap_allocator.html#allocator.bitmap.design">Design</a></span></dt><dt><span > class="section"><a > href="bitmap_allocator_impl.html">Implementation</a></span></dt><dd><dl><dt><span > class="section"><a > href="bitmap_allocator_impl.html#bitmap.impl.free_list_store">Free List > Store</a></span></dt><dt><span class="section"><a > href="bitmap_allocator_impl.html#bitmap.impl.super_block">Super > Block</a></span></dt><dt><span class="section"><a > href="bitmap_allocator_impl.html#bitmap.impl.super_block_data">Super Block > Data Layout</a></span></dt><dt><span class="section"><a > href="bitmap_allocator_impl.html#bitmap.impl.max_wasted">Maximum Wasted > Percentage</a></span></dt><dt><span class="section"><a > href="bitmap_allocator_impl.html#bitmap.impl.allocate"><code > class="function">allocate</code></a></span></dt><dt><span > class="section"><a > href="bitmap_allocator_impl.html#bitmap.impl.deallocate"><code > class="function">deallocate</code></a></span></dt><dt><span > class="section"><a > href="bitmap_allocator_impl.html#bitmap.impl.questions">Questions</a></span></dt><dd><dl><dt><span > class="section"><a > href="bitmap_allocator_impl.html#bitmap.impl.question.1">1</a></span></dt><dt><span > class="section"><a > href="bitmap_allocator_impl.html#bitmap.impl.question.2">2</a></span></dt><dt><span > class="section"><a > href="bitmap_allocator_impl.html#bitmap.impl.question.3">3</a></span></dt></dl></dd><dt><span > class="section"><a > href="bitmap_allocator_impl.html#bitmap.impl.locality">Locality</a></span></dt><dt><span > class="section"><a > href="bitmap_allocator_impl.html#bitmap.impl.grow_policy">Overhead and Grow > Policy</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a > href="policy_data_structures.html">22. Policy-Based Data > Structures</a></span></dt><dd><dl><dt><span class="section"><a > href="policy_data_structures.html#pbds.intro">Intro</a></span></dt><dd><dl><dt><span > class="section"><a > href="policy_data_structures.html#pbds.intro.issues">Performance > Issues</a></span></dt><dd><dl><dt><span class="section"><a > href="policy_data_structures.html#pbds.intro.issues.associative">Associative</a></span></dt><dt><span > class="section"><a > href="policy_data_structures.html#pbds.intro.issues.priority_queue">Priority > Que</a></span></dt></dl></dd><dt><span class="section"><a > href="policy_data_structures.html#pbds.intro.motivation">Goals</a></span></dt><dd><dl><dt><span > class="section"><a > href="policy_data_structures.html#pbds.intro.motivation.associative">Associative</a></span></dt><dd><dl><dt><span > class="section"><a > href="policy_data_structures.html#motivation.associative.policy">Policy > Choices</a></span></dt><dt><span class="section"><a > href="policy_data_structures.html#motivation.associative.underlying">Underlying > Data Structures</a></span></dt><dt><span class="section"><a > href="policy_data_structures.html#motivation.associative.iterators">Iterators</a></span></dt><dt><span > class="section"><a > href="policy_data_structures.html#motivation.associative.functions">Functional</a></span></dt></dl></dd><dt><span > class="section"><a > href="policy_data_structures.html#pbds.intro.motivation.priority_queue">Priority > Queues</a></span></dt><dd><dl><dt><span class="section"><a > href="policy_data_structures.html#motivation.priority_queue.policy">Policy > Choices</a></span></dt><dt><span class="section"><a > href="policy_data_structures.html#motivation.priority_queue.underlying">Underlying > Data Structures</a></span></dt><dt><span class="section"><a > href="policy_data_structures.html#motivation.priority_queue.binary_heap">Binary > Heaps</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span > class="section"><a > href="policy_data_structures_using.html">Using</a></span></dt><dd><dl><dt><span > class="section"><a > href="policy_data_structures_using.html#pbds.using.prereq">Prerequisites</a></span></dt><dt><span > class="section"><a > href="policy_data_structures_using.html#pbds.using.organization">Organization</a></span></dt><dt><span > class="section"><a > href="policy_data_structures_using.html#pbds.using.tutorial">Tutorial</a></span></dt><dd><dl><dt><span > class="section"><a > href="policy_data_structures_using.html#pbds.using.tutorial.basic">Basic > Use</a></span></dt><dt><span class="section"><a > href="policy_data_structures_using.html#pbds.using.tutorial.configuring"> > Configuring via Template Parameters > </a></span></dt><dt><span class="section"><a > href="policy_data_structures_using.html#pbds.using.tutorial.traits"> > Querying Container Attributes > @@ -68,7 +68,7 @@ > Text <code class="function">modify</code> Up > </a></span></dt><dt><span class="section"><a > href="policy_based_data_structures_test.html#performance.priority_queue.text_modify_down"> > Text <code class="function">modify</code> Down > - </a></span></dt></dl></dd><dt><span class="section"><a > href="policy_based_data_structures_test.html#pbds.test.performance.observations">Observations</a></span></dt><dd><dl><dt><span > class="section"><a > href="policy_based_data_structures_test.html#observations.associative">Associative</a></span></dt><dt><span > class="section"><a > href="policy_based_data_structures_test.html#observations.priority_queue">Priority_Queue</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span > class="section"><a > href="policy_data_structures_ack.html">Acknowledgments</a></span></dt><dt><span > class="bibliography"><a > href="policy_data_structures.html#pbds.biblio">Bibliography</a></span></dt></dl></dd><dt><span > class="chapter"><a href="ext_containers.html">22. HP/SGI > Extensions</a></span></dt><dd><dl><dt><span class="section"><a > href="ext_containers.html#manual.ext.containers.sgi">Backwards > Compatibility</a></span></dt><dt><span class="section"><a > href="ext_sgi.html">Deprecated</a></span></dt></dl></dd><dt><span > class="chapter"><a href="ext_utilities.html">23. > Utilities</a></span></dt><dt><span class="chapter"><a > href="ext_algorithms.html">24. Algorithms</a></span></dt><dt><span > class="chapter"><a href="ext_numerics.html">25. > Numerics</a></span></dt><dt><span class="chapter"><a > href="ext_iterators.html">26. Iterators</a></span></dt><dt><span > class="chapter"><a href="ext_io.html">27. Input and > Output</a></span></dt><dd><dl><dt><span class="section"><a > href="ext_io.html#manual.ext.io.filebuf_derived">Derived > filebufs</a></span></dt></dl></dd><dt><span class="chapter"><a > href="ext_demangling.html">28. Demangling</a></span></dt><dt><span > class="chapter"><a href="ext_concurrency.html">29. > Concurrency</a></span></dt><dd><dl><dt><span class="section"><a > href="ext_concurrency.html#manual.ext.concurrency.design">Design</a></span></dt><dd><dl><dt><span > class="section"><a > href="ext_concurrency.html#manual.ext.concurrency.design.threads">Interface > to Locks and Mutexes</a></span></dt><dt><span class="section"><a > href="ext_concurrency.html#manual.ext.concurrency.design.atomics">Interface > to Atomic Functions</a></span></dt></dl></dd><dt><span class="section"><a > href="ext_concurrency_impl.html">Implementation</a></span></dt><dd><dl><dt><span > class="section"><a > href="ext_concurrency_impl.html#manual.ext.concurrency.impl.atomic_fallbacks">Using > Built-in Atomic Functions</a></span></dt><dt><span class="section"><a > href="ext_concurrency_impl.html#manual.ext.concurrency.impl.thread">Thread > Abstraction</a></span></dt></dl></dd><dt><span class="section"><a > href="ext_concurrency_use.html">Use</a></span></dt></dl></dd></dl></div></div><div > class="navfooter"><hr /><table width="100%" summary="Navigation > footer"><tr><td width="40%" align="left"><a accesskey="p" > href="concurrency.html">Prev</a> </td><td width="20%" align="center"><a > accesskey="u" href="index.html">Up</a></td><td width="40%" > align="right"> <a accesskey="n" > href="ext_preface.html">Next</a></td></tr><tr><td width="40%" align="left" > valign="top">Chapter 15. > + </a></span></dt></dl></dd><dt><span class="section"><a > href="policy_based_data_structures_test.html#pbds.test.performance.observations">Observations</a></span></dt><dd><dl><dt><span > class="section"><a > href="policy_based_data_structures_test.html#observations.associative">Associative</a></span></dt><dt><span > class="section"><a > href="policy_based_data_structures_test.html#observations.priority_queue">Priority_Queue</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span > class="section"><a > href="policy_data_structures_ack.html">Acknowledgments</a></span></dt><dt><span > class="bibliography"><a > href="policy_data_structures.html#pbds.biblio">Bibliography</a></span></dt></dl></dd><dt><span > class="chapter"><a href="ext_containers.html">23. HP/SGI > Extensions</a></span></dt><dd><dl><dt><span class="section"><a > href="ext_containers.html#manual.ext.containers.sgi">Backwards > Compatibility</a></span></dt><dt><span class="section"><a > href="ext_sgi.html">Deprecated</a></span></dt></dl></dd><dt><span > class="chapter"><a href="ext_utilities.html">24. > Utilities</a></span></dt><dt><span class="chapter"><a > href="ext_algorithms.html">25. Algorithms</a></span></dt><dt><span > class="chapter"><a href="ext_numerics.html">26. > Numerics</a></span></dt><dt><span class="chapter"><a > href="ext_iterators.html">27. Iterators</a></span></dt><dt><span > class="chapter"><a href="ext_io.html">28. Input and > Output</a></span></dt><dd><dl><dt><span class="section"><a > href="ext_io.html#manual.ext.io.filebuf_derived">Derived > filebufs</a></span></dt></dl></dd><dt><span class="chapter"><a > href="ext_demangling.html">29. Demangling</a></span></dt><dt><span > class="chapter"><a href="ext_concurrency.html">30. > Concurrency</a></span></dt><dd><dl><dt><span class="section"><a > href="ext_concurrency.html#manual.ext.concurrency.design">Design</a></span></dt><dd><dl><dt><span > class="section"><a > href="ext_concurrency.html#manual.ext.concurrency.design.threads">Interface > to Locks and Mutexes</a></span></dt><dt><span class="section"><a > href="ext_concurrency.html#manual.ext.concurrency.design.atomics">Interface > to Atomic Functions</a></span></dt></dl></dd><dt><span class="section"><a > href="ext_concurrency_impl.html">Implementation</a></span></dt><dd><dl><dt><span > class="section"><a > href="ext_concurrency_impl.html#manual.ext.concurrency.impl.atomic_fallbacks">Using > Built-in Atomic Functions</a></span></dt><dt><span class="section"><a > href="ext_concurrency_impl.html#manual.ext.concurrency.impl.thread">Thread > Abstraction</a></span></dt></dl></dd><dt><span class="section"><a > href="ext_concurrency_use.html">Use</a></span></dt></dl></dd></dl></div></div><div > class="navfooter"><hr /><table width="100%" summary="Navigation > footer"><tr><td width="40%" align="left"><a accesskey="p" > href="concurrency.html">Prev</a> </td><td width="20%" align="center"><a > accesskey="u" href="index.html">Up</a></td><td width="40%" > align="right"> <a accesskey="n" > href="ext_preface.html">Next</a></td></tr><tr><td width="40%" align="left" > valign="top">Chapter 16. > Concurrency > > </td><td width="20%" align="center"><a accesskey="h" > href="../index.html">Home</a></td><td width="40%" align="right" > valign="top"> </td></tr></table></div></body></html> > \ No newline at end of file > diff --git a/libstdc++-v3/doc/html/manual/fstreams.html > b/libstdc++-v3/doc/html/manual/fstreams.html > index f3d56e60ed71..05f67e020e2c 100644 > --- a/libstdc++-v3/doc/html/manual/fstreams.html > +++ b/libstdc++-v3/doc/html/manual/fstreams.html > @@ -1,5 +1,5 @@ > <?xml version="1.0" encoding="UTF-8" standalone="no"?> > -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>File Based Streams</title><meta > name="generator" content="DocBook XSL Stylesheets Vsnapshot" /><meta > name="keywords" content="ISO C++, library" /><meta name="keywords" > content="ISO C++, runtime, library" /><link rel="home" href="../index.html" > title="The GNU C++ Library" /><link rel="up" href="io.html" > title="Chapter 13. Input and Output" /><link rel="prev" > href="stringstreams.html" title="Memory Based Streams" /><link rel="next" > href="io_and_c.html" title="Interacting with C" /></head><body><div > class="navheader"><table width="100%" summary="Navigation header"><tr><th > colspan="3" align="center">File Based Streams</th></tr><tr><td width="20%" > align="left"><a accesskey="p" href="stringstreams.html">Prev</a> </td><th > width="60%" align="center">Chapter 13. > +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>File Based Streams</title><meta > name="generator" content="DocBook XSL Stylesheets Vsnapshot" /><meta > name="keywords" content="ISO C++, library" /><meta name="keywords" > content="ISO C++, runtime, library" /><link rel="home" href="../index.html" > title="The GNU C++ Library" /><link rel="up" href="io.html" > title="Chapter 14. Input and Output" /><link rel="prev" > href="stringstreams.html" title="Memory Based Streams" /><link rel="next" > href="io_and_c.html" title="Interacting with C" /></head><body><div > class="navheader"><table width="100%" summary="Navigation header"><tr><th > colspan="3" align="center">File Based Streams</th></tr><tr><td width="20%" > align="left"><a accesskey="p" href="stringstreams.html">Prev</a> </td><th > width="60%" align="center">Chapter 14. > Input and Output > > </th><td width="20%" align="right"> <a accesskey="n" > href="io_and_c.html">Next</a></td></tr></table><hr /></div><div > class="section"><div class="titlepage"><div><div><h2 class="title" > style="clear: both"><a id="std.io.filestreams"></a>File Based > Streams</h2></div></div></div><div class="section"><div > class="titlepage"><div><div><h3 class="title"><a > id="std.io.filestreams.copying_a_file"></a>Copying a > File</h3></div></div></div><p> > diff --git a/libstdc++-v3/doc/html/manual/index.html > b/libstdc++-v3/doc/html/manual/index.html > index 8a13efcfbc45..c19ecfe7947f 100644 > --- a/libstdc++-v3/doc/html/manual/index.html > +++ b/libstdc++-v3/doc/html/manual/index.html > @@ -33,20 +33,23 @@ > </a></span></dt><dd><dl><dt><span class="section"><a > href="algorithms.html#std.algorithms.mutating">Mutating</a></span></dt><dd><dl><dt><span > class="section"><a href="algorithms.html#algorithms.mutating.swap"><code > class="function">swap</code></a></span></dt><dd><dl><dt><span > class="section"><a > href="algorithms.html#algorithms.swap.specializations">Specializations</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span > class="chapter"><a href="numerics.html">12. > Numerics > > -</a></span></dt><dd><dl><dt><span class="section"><a > href="numerics.html#std.numerics.complex">Complex</a></span></dt><dd><dl><dt><span > class="section"><a href="numerics.html#numerics.complex.processing">complex > Processing</a></span></dt></dl></dd><dt><span class="section"><a > href="generalized_numeric_operations.html">Generalized > Operations</a></span></dt><dt><span class="section"><a > href="numerics_and_c.html">Interacting with > C</a></span></dt><dd><dl><dt><span class="section"><a > href="numerics_and_c.html#numerics.c.array">Numerics vs. > Arrays</a></span></dt><dt><span class="section"><a > href="numerics_and_c.html#numerics.c.c99">C99</a></span></dt></dl></dd></dl></dd><dt><span > class="chapter"><a href="io.html">13. > +</a></span></dt><dd><dl><dt><span class="section"><a > href="numerics.html#std.numerics.complex">Complex</a></span></dt><dd><dl><dt><span > class="section"><a href="numerics.html#numerics.complex.processing">complex > Processing</a></span></dt></dl></dd><dt><span class="section"><a > href="generalized_numeric_operations.html">Generalized > Operations</a></span></dt><dt><span class="section"><a > href="numerics_and_c.html">Interacting with > C</a></span></dt><dd><dl><dt><span class="section"><a > href="numerics_and_c.html#numerics.c.array">Numerics vs. > Arrays</a></span></dt><dt><span class="section"><a > href="numerics_and_c.html#numerics.c.c99">C99</a></span></dt></dl></dd></dl></dd><dt><span > class="chapter"><a href="time.html">13. > + Time > + > +</a></span></dt><dd><dl><dt><span class="section"><a > href="time.html#std.time.zone.db">Time zone > database</a></span></dt><dd><dl><dt><span class="section"><a > href="time.html#zone.db.zic">tzdb uses zic format</a></span></dt><dt><span > class="section"><a href="time.html#zone.current">current > zone</a></span></dt><dt><span class="section"><a > href="time.html#zone.db.sources">data sources</a></span></dt><dt><span > class="section"><a > href="time.html#zone.db.iterator">tzdb_list::const_iterator extends > lifetime</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a > href="io.html">14. > Input and Output > > -</a></span></dt><dd><dl><dt><span class="section"><a > href="io.html#std.io.objects">Iostream Objects</a></span></dt><dt><span > class="section"><a href="streambufs.html">Stream > Buffers</a></span></dt><dd><dl><dt><span class="section"><a > href="streambufs.html#io.streambuf.derived">Derived streambuf > Classes</a></span></dt><dt><span class="section"><a > href="streambufs.html#io.streambuf.buffering">Buffering</a></span></dt></dl></dd><dt><span > class="section"><a href="stringstreams.html">Memory Based > Streams</a></span></dt><dd><dl><dt><span class="section"><a > href="stringstreams.html#std.io.memstreams.compat">Compatibility With > strstream</a></span></dt></dl></dd><dt><span class="section"><a > href="fstreams.html">File Based Streams</a></span></dt><dd><dl><dt><span > class="section"><a href="fstreams.html#std.io.filestreams.copying_a_file">Copying > a File</a></span></dt><dt><span class="section"><a href="fstreams.html# > std.io.filestreams.binary">Binary Input and > Output</a></span></dt></dl></dd><dt><span class="section"><a > href="io_and_c.html">Interacting with C</a></span></dt><dd><dl><dt><span > class="section"><a href="io_and_c.html#std.io.c.FILE">Using FILE* and file > descriptors</a></span></dt><dt><span class="section"><a > href="io_and_c.html#std.io.c.sync">Performance</a></span></dt></dl></dd></dl></dd><dt><span > class="chapter"><a href="atomics.html">14. > +</a></span></dt><dd><dl><dt><span class="section"><a > href="io.html#std.io.objects">Iostream Objects</a></span></dt><dt><span > class="section"><a href="streambufs.html">Stream > Buffers</a></span></dt><dd><dl><dt><span class="section"><a > href="streambufs.html#io.streambuf.derived">Derived streambuf > Classes</a></span></dt><dt><span class="section"><a > href="streambufs.html#io.streambuf.buffering">Buffering</a></span></dt></dl></dd><dt><span > class="section"><a href="stringstreams.html">Memory Based > Streams</a></span></dt><dd><dl><dt><span class="section"><a > href="stringstreams.html#std.io.memstreams.compat">Compatibility With > strstream</a></span></dt></dl></dd><dt><span class="section"><a > href="fstreams.html">File Based Streams</a></span></dt><dd><dl><dt><span > class="section"><a href="fstreams.html#std.io.filestreams.copying_a_file">Copying > a File</a></span></dt><dt><span class="section"><a href="fstreams.html# > std.io.filestreams.binary">Binary Input and > Output</a></span></dt></dl></dd><dt><span class="section"><a > href="io_and_c.html">Interacting with C</a></span></dt><dd><dl><dt><span > class="section"><a href="io_and_c.html#std.io.c.FILE">Using FILE* and file > descriptors</a></span></dt><dt><span class="section"><a > href="io_and_c.html#std.io.c.sync">Performance</a></span></dt></dl></dd></dl></dd><dt><span > class="chapter"><a href="atomics.html">15. > Atomics > > -</a></span></dt><dd><dl><dt><span class="section"><a > href="atomics.html#std.atomics.api">API > Reference</a></span></dt></dl></dd><dt><span class="chapter"><a > href="concurrency.html">15. > +</a></span></dt><dd><dl><dt><span class="section"><a > href="atomics.html#std.atomics.api">API > Reference</a></span></dt></dl></dd><dt><span class="chapter"><a > href="concurrency.html">16. > Concurrency > > </a></span></dt><dd><dl><dt><span class="section"><a > href="concurrency.html#std.concurrency.api">API > Reference</a></span></dt></dl></dd></dl></dd><dt><span class="part"><a > href="extensions.html">III. > Extensions > > -</a></span></dt><dd><dl><dt><span class="preface"><a > href="ext_preface.html"></a></span></dt><dt><span class="chapter"><a > href="ext_compile_checks.html">16. Compile Time > Checks</a></span></dt><dt><span class="chapter"><a > href="debug_mode.html">17. Debug Mode</a></span></dt><dd><dl><dt><span > class="section"><a > href="debug_mode.html#manual.ext.debug_mode.intro">Intro</a></span></dt><dt><span > class="section"><a > href="debug_mode_semantics.html">Semantics</a></span></dt><dt><span > class="section"><a > href="debug_mode_using.html">Using</a></span></dt><dd><dl><dt><span > class="section"><a href="debug_mode_using.html#debug_mode.using.mode">Using > the Debug Mode</a></span></dt><dt><span class="section"><a > href="debug_mode_using.html#debug_mode.using.specific">Using a Specific > Debug Container</a></span></dt></dl></dd><dt><span class="section"><a > href="debug_mode_design.html">Design</a></span></dt><dd><dl><dt><span > class="section"><a > href="debug_mode_design.html#debug_mode.design.goals">Goals</a></span></dt><dt><span > class="section"><a > href="debug_mode_design.html#debug_mode.design.methods">Methods</a></span></dt><dd><dl><dt><span > class="section"><a > href="debug_mode_design.html#debug_mode.design.methods.wrappers">The > Wrapper Model</a></span></dt><dd><dl><dt><span class="section"><a > href="debug_mode_design.html#debug_mode.design.methods.safe_iter">Safe > Iterators</a></span></dt><dt><span class="section"><a > href="debug_mode_design.html#debug_mode.design.methods.safe_seq">Safe > Sequences (Containers)</a></span></dt></dl></dd><dt><span > class="section"><a > href="debug_mode_design.html#debug_mode.design.methods.precond">Precondition > Checking</a></span></dt><dt><span class="section"><a > href="debug_mode_design.html#debug_mode.design.methods.coexistence">Release- > and debug-mode coexistence</a></span></dt><dd><dl><dt><span > class="section"><a > href="debug_mode_design.html#methods.coexistence.compile">Compile-time > coexistence of release- and debug-mode components</a></span></dt><dt><span > class="section"><a > href="debug_mode_design.html#methods.coexistence.link">Link- and run-time > coexistence of release- and > - debug-mode components</a></span></dt><dt><span class="section"><a > href="debug_mode_design.html#methods.coexistence.alt">Alternatives for > Coexistence</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a > href="debug_mode_design.html#debug_mode.design.other">Other > Implementations</a></span></dt></dl></dd></dl></dd><dt><span > class="chapter"><a href="parallel_mode.html">18. Parallel > Mode</a></span></dt><dd><dl><dt><span class="section"><a > href="parallel_mode.html#manual.ext.parallel_mode.intro">Intro</a></span></dt><dt><span > class="section"><a > href="parallel_mode_semantics.html">Semantics</a></span></dt><dt><span > class="section"><a > href="parallel_mode_using.html">Using</a></span></dt><dd><dl><dt><span > class="section"><a > href="parallel_mode_using.html#parallel_mode.using.prereq_flags">Prerequisite > Compiler Flags</a></span></dt><dt><span class="section"><a > href="parallel_mode_using.html#parallel_mode.using.parallel_mode">Using > Parallel Mode</a></span></dt><dt><span class="section"><a > href="parallel_mode_using.html#parallel_mode.using.specific">Using Specific > Parallel Components</a></span></dt></dl></dd><dt><span class="section"><a > href="parallel_mode_design.html">Design</a></span></dt><dd><dl><dt><span > class="section"><a > href="parallel_mode_design.html#parallel_mode.design.intro">Interface > Basics</a></span></dt><dt><span class="section"><a > href="parallel_mode_design.html#parallel_mode.design.tuning">Configuration > and Tuning</a></span></dt><dd><dl><dt><span class="section"><a > href="parallel_mode_design.html#parallel_mode.design.tuning.omp">Setting up > the OpenMP Environment</a></span></dt><dt><span class="section"><a > href="parallel_mode_design.html#parallel_mode.design.tuning.compile">Compile > Time Switches</a></span></dt><dt><span class="section"><a > href="parallel_mode_design.html#parallel_mode.design.tuning.settings">Run > Time Settings and Defaults</a></span></dt></dl></dd><dt><span > class="section"><a > href="parallel_mode_design.html#parallel_mode.design.impl">Implementation > Namespaces</a></span></dt></dl></dd><dt><span class="section"><a > href="parallel_mode_test.html">Testing</a></span></dt><dt><span > class="bibliography"><a > href="parallel_mode.html#parallel_mode.biblio">Bibliography</a></span></dt></dl></dd><dt><span > class="chapter"><a href="mt_allocator.html">19. The > mt_allocator</a></span></dt><dd><dl><dt><span class="section"><a > href="mt_allocator.html#allocator.mt.intro">Intro</a></span></dt><dt><span > class="section"><a href="mt_allocator_design.html">Design > Issues</a></span></dt><dd><dl><dt><span class="section"><a > href="mt_allocator_design.html#allocator.mt.overview">Overview</a></span></dt></dl></dd><dt><span > class="section"><a > href="mt_allocator_impl.html">Implementation</a></span></dt><dd><dl><dt><span > class="section"><a href="mt_allocator_impl.html#allocator.mt.tune">Tunable > Parameters</a></span></dt><dt><span class="section"><a > href="mt_allocator_impl.html#allocator.mt.init">Initialization</a></span></dt><dt><span > class="section"><a > href="mt_allocator_impl.html#allocator.mt.deallocation">Deallocation > Notes</a></span></dt></dl></dd><dt><span class="section"><a > href="mt_allocator_ex_single.html">Single Thread > Example</a></span></dt><dt><span class="section"><a > href="mt_allocator_ex_multi.html">Multiple Thread > Example</a></span></dt></dl></dd><dt><span class="chapter"><a > href="bitmap_allocator.html">20. The > bitmap_allocator</a></span></dt><dd><dl><dt><span class="section"><a > href="bitmap_allocator.html#allocator.bitmap.design">Design</a></span></dt><dt><span > class="section"><a > href="bitmap_allocator_impl.html">Implementation</a></span></dt><dd><dl><dt><span > class="section"><a > href="bitmap_allocator_impl.html#bitmap.impl.free_list_store">Free List > Store</a></span></dt><dt><span class="section"><a > href="bitmap_allocator_impl.html#bitmap.impl.super_block">Super > Block</a></span></dt><dt><span class="section"><a > href="bitmap_allocator_impl.html#bitmap.impl.super_block_data">Super Block > Data Layout</a></span></dt><dt><span class="section"><a > href="bitmap_allocator_impl.html#bitmap.impl.max_wasted">Maximum Wasted > Percentage</a></span></dt><dt><span class="section"><a > href="bitmap_allocator_impl.html#bitmap.impl.allocate"><code > class="function">allocate</code></a></span></dt><dt><span > class="section"><a > href="bitmap_allocator_impl.html#bitmap.impl.deallocate"><code > class="function">deallocate</code></a></span></dt><dt><span > class="section"><a > href="bitmap_allocator_impl.html#bitmap.impl.questions">Questions</a></span></dt><dd><dl><dt><span > class="section"><a > href="bitmap_allocator_impl.html#bitmap.impl.question.1">1</a></span></dt><dt><span > class="section"><a > href="bitmap_allocator_impl.html#bitmap.impl.question.2">2</a></span></dt><dt><span > class="section"><a > href="bitmap_allocator_impl.html#bitmap.impl.question.3">3</a></span></dt></dl></dd><dt><span > class="section"><a > href="bitmap_allocator_impl.html#bitmap.impl.locality">Locality</a></span></dt><dt><span > class="section"><a > href="bitmap_allocator_impl.html#bitmap.impl.grow_policy">Overhead and Grow > Policy</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a > href="policy_data_structures.html">21. Policy-Based Data > Structures</a></span></dt><dd><dl><dt><span class="section"><a > href="policy_data_structures.html#pbds.intro">Intro</a></span></dt><dd><dl><dt><span > class="section"><a > href="policy_data_structures.html#pbds.intro.issues">Performance > Issues</a></span></dt><dd><dl><dt><span class="section"><a > href="policy_data_structures.html#pbds.intro.issues.associative">Associative</a></span></dt><dt><span > class="section"><a > href="policy_data_structures.html#pbds.intro.issues.priority_queue">Priority > Que</a></span></dt></dl></dd><dt><span class="section"><a > href="policy_data_structures.html#pbds.intro.motivation">Goals</a></span></dt><dd><dl><dt><span > class="section"><a > href="policy_data_structures.html#pbds.intro.motivation.associative">Associative</a></span></dt><dd><dl><dt><span > class="section"><a > href="policy_data_structures.html#motivation.associative.policy">Policy > Choices</a></span></dt><dt><span class="section"><a > href="policy_data_structures.html#motivation.associative.underlying">Underlying > Data Structures</a></span></dt><dt><span class="section"><a > href="policy_data_structures.html#motivation.associative.iterators">Iterators</a></span></dt><dt><span > class="section"><a > href="policy_data_structures.html#motivation.associative.functions">Functional</a></span></dt></dl></dd><dt><span > class="section"><a > href="policy_data_structures.html#pbds.intro.motivation.priority_queue">Priority > Queues</a></span></dt><dd><dl><dt><span class="section"><a > href="policy_data_structures.html#motivation.priority_queue.policy">Policy > Choices</a></span></dt><dt><span class="section"><a > href="policy_data_structures.html#motivation.priority_queue.underlying">Underlying > Data Structures</a></span></dt><dt><span class="section"><a > href="policy_data_structures.html#motivation.priority_queue.binary_heap">Binary > Heaps</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span > class="section"><a > href="policy_data_structures_using.html">Using</a></span></dt><dd><dl><dt><span > class="section"><a > href="policy_data_structures_using.html#pbds.using.prereq">Prerequisites</a></span></dt><dt><span > class="section"><a > href="policy_data_structures_using.html#pbds.using.organization">Organization</a></span></dt><dt><span > class="section"><a > href="policy_data_structures_using.html#pbds.using.tutorial">Tutorial</a></span></dt><dd><dl><dt><span > class="section"><a > href="policy_data_structures_using.html#pbds.using.tutorial.basic">Basic > Use</a></span></dt><dt><span class="section"><a > href="policy_data_structures_using.html#pbds.using.tutorial.configuring"> > +</a></span></dt><dd><dl><dt><span class="preface"><a > href="ext_preface.html"></a></span></dt><dt><span class="chapter"><a > href="ext_compile_checks.html">17. Compile Time > Checks</a></span></dt><dt><span class="chapter"><a > href="debug_mode.html">18. Debug Mode</a></span></dt><dd><dl><dt><span > class="section"><a > href="debug_mode.html#manual.ext.debug_mode.intro">Intro</a></span></dt><dt><span > class="section"><a > href="debug_mode_semantics.html">Semantics</a></span></dt><dt><span > class="section"><a > href="debug_mode_using.html">Using</a></span></dt><dd><dl><dt><span > class="section"><a href="debug_mode_using.html#debug_mode.using.mode">Using > the Debug Mode</a></span></dt><dt><span class="section"><a > href="debug_mode_using.html#debug_mode.using.specific">Using a Specific > Debug Container</a></span></dt></dl></dd><dt><span class="section"><a > href="debug_mode_design.html">Design</a></span></dt><dd><dl><dt><span > class="section"><a > href="debug_mode_design.html#debug_mode.design.goals">Goals</a></span></dt><dt><span > class="section"><a > href="debug_mode_design.html#debug_mode.design.methods">Methods</a></span></dt><dd><dl><dt><span > class="section"><a > href="debug_mode_design.html#debug_mode.design.methods.wrappers">The > Wrapper Model</a></span></dt><dd><dl><dt><span class="section"><a > href="debug_mode_design.html#debug_mode.design.methods.safe_iter">Safe > Iterators</a></span></dt><dt><span class="section"><a > href="debug_mode_design.html#debug_mode.design.methods.safe_seq">Safe > Sequences (Containers)</a></span></dt></dl></dd><dt><span > class="section"><a > href="debug_mode_design.html#debug_mode.design.methods.precond">Precondition > Checking</a></span></dt><dt><span class="section"><a > href="debug_mode_design.html#debug_mode.design.methods.coexistence">Release- > and debug-mode coexistence</a></span></dt><dd><dl><dt><span > class="section"><a > href="debug_mode_design.html#methods.coexistence.compile">Compile-time > coexistence of release- and debug-mode components</a></span></dt><dt><span > class="section"><a > href="debug_mode_design.html#methods.coexistence.link">Link- and run-time > coexistence of release- and > + debug-mode components</a></span></dt><dt><span class="section"><a > href="debug_mode_design.html#methods.coexistence.alt">Alternatives for > Coexistence</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a > href="debug_mode_design.html#debug_mode.design.other">Other > Implementations</a></span></dt></dl></dd></dl></dd><dt><span > class="chapter"><a href="parallel_mode.html">19. Parallel > Mode</a></span></dt><dd><dl><dt><span class="section"><a > href="parallel_mode.html#manual.ext.parallel_mode.intro">Intro</a></span></dt><dt><span > class="section"><a > href="parallel_mode_semantics.html">Semantics</a></span></dt><dt><span > class="section"><a > href="parallel_mode_using.html">Using</a></span></dt><dd><dl><dt><span > class="section"><a > href="parallel_mode_using.html#parallel_mode.using.prereq_flags">Prerequisite > Compiler Flags</a></span></dt><dt><span class="section"><a > href="parallel_mode_using.html#parallel_mode.using.parallel_mode">Using > Parallel Mode</a></span></dt><dt><span class="section"><a > href="parallel_mode_using.html#parallel_mode.using.specific">Using Specific > Parallel Components</a></span></dt></dl></dd><dt><span class="section"><a > href="parallel_mode_design.html">Design</a></span></dt><dd><dl><dt><span > class="section"><a > href="parallel_mode_design.html#parallel_mode.design.intro">Interface > Basics</a></span></dt><dt><span class="section"><a > href="parallel_mode_design.html#parallel_mode.design.tuning">Configuration > and Tuning</a></span></dt><dd><dl><dt><span class="section"><a > href="parallel_mode_design.html#parallel_mode.design.tuning.omp">Setting up > the OpenMP Environment</a></span></dt><dt><span class="section"><a > href="parallel_mode_design.html#parallel_mode.design.tuning.compile">Compile > Time Switches</a></span></dt><dt><span class="section"><a > href="parallel_mode_design.html#parallel_mode.design.tuning.settings">Run > Time Settings and Defaults</a></span></dt></dl></dd><dt><span > class="section"><a > href="parallel_mode_design.html#parallel_mode.design.impl">Implementation > Namespaces</a></span></dt></dl></dd><dt><span class="section"><a > href="parallel_mode_test.html">Testing</a></span></dt><dt><span > class="bibliography"><a > href="parallel_mode.html#parallel_mode.biblio">Bibliography</a></span></dt></dl></dd><dt><span > class="chapter"><a href="mt_allocator.html">20. The > mt_allocator</a></span></dt><dd><dl><dt><span class="section"><a > href="mt_allocator.html#allocator.mt.intro">Intro</a></span></dt><dt><span > class="section"><a href="mt_allocator_design.html">Design > Issues</a></span></dt><dd><dl><dt><span class="section"><a > href="mt_allocator_design.html#allocator.mt.overview">Overview</a></span></dt></dl></dd><dt><span > class="section"><a > href="mt_allocator_impl.html">Implementation</a></span></dt><dd><dl><dt><span > class="section"><a href="mt_allocator_impl.html#allocator.mt.tune">Tunable > Parameters</a></span></dt><dt><span class="section"><a > href="mt_allocator_impl.html#allocator.mt.init">Initialization</a></span></dt><dt><span > class="section"><a > href="mt_allocator_impl.html#allocator.mt.deallocation">Deallocation > Notes</a></span></dt></dl></dd><dt><span class="section"><a > href="mt_allocator_ex_single.html">Single Thread > Example</a></span></dt><dt><span class="section"><a > href="mt_allocator_ex_multi.html">Multiple Thread > Example</a></span></dt></dl></dd><dt><span class="chapter"><a > href="bitmap_allocator.html">21. The > bitmap_allocator</a></span></dt><dd><dl><dt><span class="section"><a > href="bitmap_allocator.html#allocator.bitmap.design">Design</a></span></dt><dt><span > class="section"><a > href="bitmap_allocator_impl.html">Implementation</a></span></dt><dd><dl><dt><span > class="section"><a > href="bitmap_allocator_impl.html#bitmap.impl.free_list_store">Free List > Store</a></span></dt><dt><span class="section"><a > href="bitmap_allocator_impl.html#bitmap.impl.super_block">Super > Block</a></span></dt><dt><span class="section"><a > href="bitmap_allocator_impl.html#bitmap.impl.super_block_data">Super Block > Data Layout</a></span></dt><dt><span class="section"><a > href="bitmap_allocator_impl.html#bitmap.impl.max_wasted">Maximum Wasted > Percentage</a></span></dt><dt><span class="section"><a > href="bitmap_allocator_impl.html#bitmap.impl.allocate"><code > class="function">allocate</code></a></span></dt><dt><span > class="section"><a > href="bitmap_allocator_impl.html#bitmap.impl.deallocate"><code > class="function">deallocate</code></a></span></dt><dt><span > class="section"><a > href="bitmap_allocator_impl.html#bitmap.impl.questions">Questions</a></span></dt><dd><dl><dt><span > class="section"><a > href="bitmap_allocator_impl.html#bitmap.impl.question.1">1</a></span></dt><dt><span > class="section"><a > href="bitmap_allocator_impl.html#bitmap.impl.question.2">2</a></span></dt><dt><span > class="section"><a > href="bitmap_allocator_impl.html#bitmap.impl.question.3">3</a></span></dt></dl></dd><dt><span > class="section"><a > href="bitmap_allocator_impl.html#bitmap.impl.locality">Locality</a></span></dt><dt><span > class="section"><a > href="bitmap_allocator_impl.html#bitmap.impl.grow_policy">Overhead and Grow > Policy</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a > href="policy_data_structures.html">22. Policy-Based Data > Structures</a></span></dt><dd><dl><dt><span class="section"><a > href="policy_data_structures.html#pbds.intro">Intro</a></span></dt><dd><dl><dt><span > class="section"><a > href="policy_data_structures.html#pbds.intro.issues">Performance > Issues</a></span></dt><dd><dl><dt><span class="section"><a > href="policy_data_structures.html#pbds.intro.issues.associative">Associative</a></span></dt><dt><span > class="section"><a > href="policy_data_structures.html#pbds.intro.issues.priority_queue">Priority > Que</a></span></dt></dl></dd><dt><span class="section"><a > href="policy_data_structures.html#pbds.intro.motivation">Goals</a></span></dt><dd><dl><dt><span > class="section"><a > href="policy_data_structures.html#pbds.intro.motivation.associative">Associative</a></span></dt><dd><dl><dt><span > class="section"><a > href="policy_data_structures.html#motivation.associative.policy">Policy > Choices</a></span></dt><dt><span class="section"><a > href="policy_data_structures.html#motivation.associative.underlying">Underlying > Data Structures</a></span></dt><dt><span class="section"><a > href="policy_data_structures.html#motivation.associative.iterators">Iterators</a></span></dt><dt><span > class="section"><a > href="policy_data_structures.html#motivation.associative.functions">Functional</a></span></dt></dl></dd><dt><span > class="section"><a > href="policy_data_structures.html#pbds.intro.motivation.priority_queue">Priority > Queues</a></span></dt><dd><dl><dt><span class="section"><a > href="policy_data_structures.html#motivation.priority_queue.policy">Policy > Choices</a></span></dt><dt><span class="section"><a > href="policy_data_structures.html#motivation.priority_queue.underlying">Underlying > Data Structures</a></span></dt><dt><span class="section"><a > href="policy_data_structures.html#motivation.priority_queue.binary_heap">Binary > Heaps</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span > class="section"><a > href="policy_data_structures_using.html">Using</a></span></dt><dd><dl><dt><span > class="section"><a > href="policy_data_structures_using.html#pbds.using.prereq">Prerequisites</a></span></dt><dt><span > class="section"><a > href="policy_data_structures_using.html#pbds.using.organization">Organization</a></span></dt><dt><span > class="section"><a > href="policy_data_structures_using.html#pbds.using.tutorial">Tutorial</a></span></dt><dd><dl><dt><span > class="section"><a > href="policy_data_structures_using.html#pbds.using.tutorial.basic">Basic > Use</a></span></dt><dt><span class="section"><a > href="policy_data_structures_using.html#pbds.using.tutorial.configuring"> > Configuring via Template Parameters > </a></span></dt><dt><span class="section"><a > href="policy_data_structures_using.html#pbds.using.tutorial.traits"> > Querying Container Attributes > @@ -108,7 +111,7 @@ > Text <code class="function">modify</code> Up > </a></span></dt><dt><span class="section"><a > href="policy_based_data_structures_test.html#performance.priority_queue.text_modify_down"> > Text <code class="function">modify</code> Down > - </a></span></dt></dl></dd><dt><span class="section"><a > href="policy_based_data_structures_test.html#pbds.test.performance.observations">Observations</a></span></dt><dd><dl><dt><span > class="section"><a > href="policy_based_data_structures_test.html#observations.associative">Associative</a></span></dt><dt><span > class="section"><a > href="policy_based_data_structures_test.html#observations.priority_queue">Priority_Queue</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span > class="section"><a > href="policy_data_structures_ack.html">Acknowledgments</a></span></dt><dt><span > class="bibliography"><a > href="policy_data_structures.html#pbds.biblio">Bibliography</a></span></dt></dl></dd><dt><span > class="chapter"><a href="ext_containers.html">22. HP/SGI > Extensions</a></span></dt><dd><dl><dt><span class="section"><a > href="ext_containers.html#manual.ext.containers.sgi">Backwards > Compatibility</a></span></dt><dt><span class="section"><a > href="ext_sgi.html">Deprecated</a></span></dt></dl></dd><dt><span > class="chapter"><a href="ext_utilities.html">23. > Utilities</a></span></dt><dt><span class="chapter"><a > href="ext_algorithms.html">24. Algorithms</a></span></dt><dt><span > class="chapter"><a href="ext_numerics.html">25. > Numerics</a></span></dt><dt><span class="chapter"><a > href="ext_iterators.html">26. Iterators</a></span></dt><dt><span > class="chapter"><a href="ext_io.html">27. Input and > Output</a></span></dt><dd><dl><dt><span class="section"><a > href="ext_io.html#manual.ext.io.filebuf_derived">Derived > filebufs</a></span></dt></dl></dd><dt><span class="chapter"><a > href="ext_demangling.html">28. Demangling</a></span></dt><dt><span > class="chapter"><a href="ext_concurrency.html">29. > Concurrency</a></span></dt><dd><dl><dt><span class="section"><a > href="ext_concurrency.html#manual.ext.concurrency.design">Design</a></span></dt><dd><dl><dt><span > class="section"><a > href="ext_concurrency.html#manual.ext.concurrency.design.threads">Interface > to Locks and Mutexes</a></span></dt><dt><span class="section"><a > href="ext_concurrency.html#manual.ext.concurrency.design.atomics">Interface > to Atomic Functions</a></span></dt></dl></dd><dt><span class="section"><a > href="ext_concurrency_impl.html">Implementation</a></span></dt><dd><dl><dt><span > class="section"><a > href="ext_concurrency_impl.html#manual.ext.concurrency.impl.atomic_fallbacks">Using > Built-in Atomic Functions</a></span></dt><dt><span class="section"><a > href="ext_concurrency_impl.html#manual.ext.concurrency.impl.thread">Thread > Abstraction</a></span></dt></dl></dd><dt><span class="section"><a > href="ext_concurrency_use.html">Use</a></span></dt></dl></dd></dl></dd><dt><span > class="part"><a href="appendix.html">IV. > + </a></span></dt></dl></dd><dt><span class="section"><a > href="policy_based_data_structures_test.html#pbds.test.performance.observations">Observations</a></span></dt><dd><dl><dt><span > class="section"><a > href="policy_based_data_structures_test.html#observations.associative">Associative</a></span></dt><dt><span > class="section"><a > href="policy_based_data_structures_test.html#observations.priority_queue">Priority_Queue</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span > class="section"><a > href="policy_data_structures_ack.html">Acknowledgments</a></span></dt><dt><span > class="bibliography"><a > href="policy_data_structures.html#pbds.biblio">Bibliography</a></span></dt></dl></dd><dt><span > class="chapter"><a href="ext_containers.html">23. HP/SGI > Extensions</a></span></dt><dd><dl><dt><span class="section"><a > href="ext_containers.html#manual.ext.containers.sgi">Backwards > Compatibility</a></span></dt><dt><span class="section"><a > href="ext_sgi.html">Deprecated</a></span></dt></dl></dd><dt><span > class="chapter"><a href="ext_utilities.html">24. > Utilities</a></span></dt><dt><span class="chapter"><a > href="ext_algorithms.html">25. Algorithms</a></span></dt><dt><span > class="chapter"><a href="ext_numerics.html">26. > Numerics</a></span></dt><dt><span class="chapter"><a > href="ext_iterators.html">27. Iterators</a></span></dt><dt><span > class="chapter"><a href="ext_io.html">28. Input and > Output</a></span></dt><dd><dl><dt><span class="section"><a > href="ext_io.html#manual.ext.io.filebuf_derived">Derived > filebufs</a></span></dt></dl></dd><dt><span class="chapter"><a > href="ext_demangling.html">29. Demangling</a></span></dt><dt><span > class="chapter"><a href="ext_concurrency.html">30. > Concurrency</a></span></dt><dd><dl><dt><span class="section"><a > href="ext_concurrency.html#manual.ext.concurrency.design">Design</a></span></dt><dd><dl><dt><span > class="section"><a > href="ext_concurrency.html#manual.ext.concurrency.design.threads">Interface > to Locks and Mutexes</a></span></dt><dt><span class="section"><a > href="ext_concurrency.html#manual.ext.concurrency.design.atomics">Interface > to Atomic Functions</a></span></dt></dl></dd><dt><span class="section"><a > href="ext_concurrency_impl.html">Implementation</a></span></dt><dd><dl><dt><span > class="section"><a > href="ext_concurrency_impl.html#manual.ext.concurrency.impl.atomic_fallbacks">Using > Built-in Atomic Functions</a></span></dt><dt><span class="section"><a > href="ext_concurrency_impl.html#manual.ext.concurrency.impl.thread">Thread > Abstraction</a></span></dt></dl></dd><dt><span class="section"><a > href="ext_concurrency_use.html">Use</a></span></dt></dl></dd></dl></dd><dt><span > class="part"><a href="appendix.html">IV. > Appendices > </a></span></dt><dd><dl><dt><span class="appendix"><a > href="appendix_contributing.html">A. > Contributing > @@ -139,19 +142,19 @@ Support for C++11 dialect. > > </a></span></dt><dt><span class="appendix"><a href="appendix_gpl.html">D. > <acronym class="acronym">GNU</acronym> General Public License version > 3 > - </a></span></dt><dt><span class="appendix"><a > href="appendix_gfdl.html">E. GNU Free Documentation > License</a></span></dt></dl></dd></dl></div><div > class="list-of-figures"><p><strong>List of > Figures</strong></p><dl><dt>21.1. <a > href="policy_data_structures.html#id-1.3.5.8.2.5.3.3.4">Node > Invariants</a></dt><dt>21.2. <a > href="policy_data_structures.html#id-1.3.5.8.2.5.3.4.4">Underlying > Associative Data Structures</a></dt><dt>21.3. <a > href="policy_data_structures.html#id-1.3.5.8.2.5.3.5.4.5">Range Iteration > in Different Data Structures</a></dt><dt>21.4. <a > href="policy_data_structures.html#id-1.3.5.8.2.5.3.5.5.7">Point Iteration > in Hash Data Structures</a></dt><dt>21.5. <a > href="policy_data_structures.html#id-1.3.5.8.2.5.3.5.6.6">Effect of erase > in different underlying data structures</a></dt><dt>21.6. <a > href="policy_data_structures.html#id-1.3.5.8.2.5.4.3.3">Underlying Priority > Queue Data Structures</a></dt><dt>21.7. <a > href="policy_data_structures_using.html#id-1.3.5.8.3.3.6">Exception > Hierarchy</a></dt><dt>21.8. <a > href="policy_data_structures_design.html#id-1.3.5.8.4.3.3.3.14">Non-unique > Mapping Standard Containers</a></dt><dt>21.9. <a > href="policy_data_structures_design.html#fig.pbds_embedded_lists_2"> > + </a></span></dt><dt><span class="appendix"><a > href="appendix_gfdl.html">E. GNU Free Documentation > License</a></span></dt></dl></dd></dl></div><div > class="list-of-figures"><p><strong>List of > Figures</strong></p><dl><dt>22.1. <a > href="policy_data_structures.html#id-1.3.5.8.2.5.3.3.4">Node > Invariants</a></dt><dt>22.2. <a > href="policy_data_structures.html#id-1.3.5.8.2.5.3.4.4">Underlying > Associative Data Structures</a></dt><dt>22.3. <a > href="policy_data_structures.html#id-1.3.5.8.2.5.3.5.4.5">Range Iteration > in Different Data Structures</a></dt><dt>22.4. <a > href="policy_data_structures.html#id-1.3.5.8.2.5.3.5.5.7">Point Iteration > in Hash Data Structures</a></dt><dt>22.5. <a > href="policy_data_structures.html#id-1.3.5.8.2.5.3.5.6.6">Effect of erase > in different underlying data structures</a></dt><dt>22.6. <a > href="policy_data_structures.html#id-1.3.5.8.2.5.4.3.3">Underlying Priority > Queue Data Structures</a></dt><dt>22.7. <a > href="policy_data_structures_using.html#id-1.3.5.8.3.3.6">Exception > Hierarchy</a></dt><dt>22.8. <a > href="policy_data_structures_design.html#id-1.3.5.8.4.3.3.3.14">Non-unique > Mapping Standard Containers</a></dt><dt>22.9. <a > href="policy_data_structures_design.html#fig.pbds_embedded_lists_2"> > Effect of embedded lists in > <code class="classname">std::multimap</code> > - </a></dt><dt>21.10. <a > href="policy_data_structures_design.html#id-1.3.5.8.4.3.3.3.23">Non-unique > Mapping Containers</a></dt><dt>21.11. <a > href="policy_data_structures_design.html#id-1.3.5.8.4.3.4.3.5">Point > Iterator Hierarchy</a></dt><dt>21.12. <a > href="policy_data_structures_design.html#id-1.3.5.8.4.3.4.4.5">Invalidation > Guarantee Tags Hierarchy</a></dt><dt>21.13. <a > href="policy_data_structures_design.html#id-1.3.5.8.4.3.5.7.4">Container > Tag Hierarchy</a></dt><dt>21.14. <a > href="policy_data_structures_design.html#id-1.3.5.8.4.4.2.3.2.2.3">Hash > functions, ranged-hash functions, and > - range-hashing functions</a></dt><dt>21.15. <a > href="policy_data_structures_design.html#id-1.3.5.8.4.4.2.3.2.5.3.4">Insert > hash sequence diagram</a></dt><dt>21.16. <a > href="policy_data_structures_design.html#id-1.3.5.8.4.4.2.3.2.5.3.6">Insert > hash sequence diagram with a null policy</a></dt><dt>21.17. <a > href="policy_data_structures_design.html#id-1.3.5.8.4.4.2.3.2.5.5.5">Hash > policy class diagram</a></dt><dt>21.18. <a > href="policy_data_structures_design.html#id-1.3.5.8.4.4.2.3.3.4.7">Balls > and bins</a></dt><dt>21.19. <a > href="policy_data_structures_design.html#id-1.3.5.8.4.4.2.3.3.5.3.6">Insert > resize sequence diagram</a></dt><dt>21.20. <a > href="policy_data_structures_design.html#id-1.3.5.8.4.4.2.3.3.5.3.9">Standard > resize policy trigger sequence > - diagram</a></dt><dt>21.21. <a > href="policy_data_structures_design.html#id-1.3.5.8.4.4.2.3.3.5.3.10">Standard > resize policy size sequence > - diagram</a></dt><dt>21.22. <a > href="policy_data_structures_design.html#id-1.3.5.8.4.4.3.3.2.5">Tree node > invariants</a></dt><dt>21.23. <a > href="policy_data_structures_design.html#id-1.3.5.8.4.4.3.3.2.8">Tree node > invalidation</a></dt><dt>21.24. <a > href="policy_data_structures_design.html#id-1.3.5.8.4.4.3.3.2.11.3">A tree > and its update policy</a></dt><dt>21.25. <a > href="policy_data_structures_design.html#id-1.3.5.8.4.4.3.3.2.11.8">Restoring > node invariants</a></dt><dt>21.26. <a > href="policy_data_structures_design.html#id-1.3.5.8.4.4.3.3.2.11.10">Insert > update sequence</a></dt><dt>21.27. <a > href="policy_data_structures_design.html#id-1.3.5.8.4.4.3.3.2.11.20">Useless > update path</a></dt><dt>21.28. <a > href="policy_data_structures_design.html#id-1.3.5.8.4.4.4.3.2.10">A > PATRICIA trie</a></dt><dt>21.29. <a > href="policy_data_structures_design.html#id-1.3.5.8.4.4.4.3.3.5">A trie and > its update policy</a></dt><dt>21.30. <a > href="policy_data_structures_design.html#id-1.3.5.8.4.4.5.3.3.3">A simple > list</a></dt><dt>21.31. <a > href="policy_data_structures_design.html#id-1.3.5.8.4.4.5.3.3.6">The > counter algorithm</a></dt><dt>21.32. <a > href="policy_data_structures_design.html#id-1.3.5.8.4.4.6.3.3.3">Underlying > Priority-Queue Data-Structures.</a></dt><dt>21.33. <a > href="policy_data_structures_design.html#id-1.3.5.8.4.4.6.3.4.4">Priority-Queue > Data-Structure Tags.</a></dt><dt>B.1. <a > href="appendix_porting.html#fig.build_hacking.deps">Configure and Build > File Dependencies</a></dt></dl></div><div > class="list-of-tables"><p><strong>List of Tables</strong></p><dl><dt>1.1. > <a href="status.html#table.cxx98_status">C++ 1998/2003 Implementation > Status</a></dt><dt>1.2. <a href="status.html#table.cxx11_status">C++ 2011 > Implementation Status</a></dt><dt>1.3. <a > href="status.html#table.cxx14_status">C++ 2014 Implementation > Status</a></dt><dt>1.4. <a href="status.html#table.ts_status">C++ Technical > Specifications Implementation Status</a></dt><dt>1.5. <a > href="status.html#table.cxx17_features">C++ 2017 Library > Features</a></dt><dt>1.6. <a href="status.html#table.cxx17_status">C++ 2017 > Implementation Status</a></dt><dt>1.7. <a > href="status.html#table.cxx17_ts_status">C++ Technical Specifications > Implementation Status</a></dt><dt>1.8. <a > href="status.html#table.par2ts_simd_support">Support for Extended ABI > Tags</a></dt><dt>1.9. <a href="status.html#table.cxx20_features">C++ 2020 > Library Features</a></dt><dt>1.10. <a > href="status.html#table.cxx20_status">C++ 2020 Implementation > Status</a></dt><dt>1.11. <a href="status.html#table.cxx23_features">C++ > 2023 Library Features</a></dt><dt>1.12. <a > href="status.html#table.tr1_status">C++ TR1 Implementation > Status</a></dt><dt>1.13. <a href="status.html#table.decfp_status">C++ TR > 24733 Implementation Status</a></dt><dt>1.14. <a > href="status.html#table.specfun_status">C++ Special Functions > Implementation Status</a></dt><dt>3.1. <a > href="using.html#table.cmd_options">C++ Command Options</a></dt><dt>3.2. <a > href="using_headers.html#table.cxx98_headers">C++ 1998 Library > Headers</a></dt><dt>3.3. <a > href="using_headers.html#table.cxx98_cheaders">C++ 1998 Library Headers for > C Library Facilities</a></dt><dt>3.4. <a > href="using_headers.html#table.cxx98_deprheaders">C++ 1998 Deprecated > Library Header</a></dt><dt>3.5. <a > href="using_headers.html#table.cxx11_headers">C++ 2011 Library > Headers</a></dt><dt>3.6. <a > href="using_headers.html#table.cxx11_cheaders">C++ 2011 Library Headers for > C Library Facilities</a></dt><dt>3.7. <a > href="using_headers.html#table.cxx14_headers">C++ 2014 Library > Header</a></dt><dt>3.8. <a > href="using_headers.html#table.cxx17_headers">C++ 2017 Library > Headers</a></dt><dt>3.9. <a > href="using_headers.html#table.cxx20_headers">C++ 2020 Library > Headers</a></dt><dt>3.10. <a > href="using_headers.html#table.cxx20_deprheaders">C++ 2020 Obsolete > Headers</a></dt><dt>3.11. <a > href="using_headers.html#table.cxx23_headers">C++ 2023 Library > Headers</a></dt><dt>3.12. <a > href="using_headers.html#table.cxx26_headers">C++ 2026 Library > Headers</a></dt><dt>3.13. <a > href="using_headers.html#table.filesystemts_headers">File System TS > Header</a></dt><dt>3.14. <a > href="using_headers.html#table.libfundts_headers">Library Fundamentals TS > Headers</a></dt><dt>3.15. <a > href="using_headers.html#table.networkingts_headers">Networking TS > Headers</a></dt><dt>3.16. <a > href="using_headers.html#table.tr1_headers">C++ TR 1 Library > Headers</a></dt><dt>3.17. <a > href="using_headers.html#table.tr1_cheaders">C++ TR 1 Library Headers for C > Library Facilities</a></dt><dt>3.18. <a > href="using_headers.html#table.decfp_headers">C++ TR 24733 Decimal > Floating-Point Header</a></dt><dt>3.19. <a > href="using_headers.html#table.abi_headers">C++ ABI > Headers</a></dt><dt>3.20. <a > href="using_headers.html#table.ext_headers">Extension > Headers</a></dt><dt>3.21. <a > href="using_headers.html#table.debug_headers">Extension Debug > Headers</a></dt><dt>3.22. <a > href="using_headers.html#table.parallel_headers">Extension Parallel > Headers</a></dt><dt>17.1. <a > href="debug_mode_using.html#table.debug_mode_containers">Debugging > Containers</a></dt><dt>17.2. <a > href="debug_mode_using.html#table.debug_mode_containers_cxx11">Debugging > Containers C++11</a></dt><dt>18.1. <a > href="parallel_mode_using.html#table.parallel_algos">Parallel > Algorithms</a></dt><dt>20.1. <a > href="bitmap_allocator_impl.html#table.bitmap_alloc">Bitmap Allocator > Memory Map</a></dt><dt>B.1. <a > href="documentation_hacking.html#table.doxygen_prereq">Doxygen > Prerequisites</a></dt><dt>B.2. <a > href="documentation_hacking.html#table.doxygen_cmp">HTML to Doxygen Markup > Comparison</a></dt><dt>B.3. <a > href="documentation_hacking.html#table.docbook_prereq">Docbook > Prerequisites</a></dt><dt>B.4. <a > href="documentation_hacking.html#table.docbook_cmp">HTML to Docbook XML > Markup Comparison</a></dt><dt>B.5. <a > href="documentation_hacking.html#table.docbook_elem">Docbook XML Element > Use</a></dt><dt>B.6. <a > href="api.html#table.extension_allocators">Extension > Allocators</a></dt><dt>B.7. <a > href="api.html#table.extension_allocators2">Extension Allocators > Continued</a></dt></dl></div><div class="list-of-equations"><p><strong>List > of Equations</strong></p><dl><dt>21.1. <a > href="policy_data_structures_design.html#id-1.3.5.8.4.4.2.3.2.2.15">Ranged > Hash Function</a></dt><dt>21.2. <a > href="policy_data_structures_design.html#id-1.3.5.8.4.4.2.3.2.3.3">Range-Hashing, > Division Method</a></dt><dt>21.3. <a > href="policy_data_structures_design.html#id-1.3.5.8.4.4.2.3.2.3.9">Division > via Prime Modulo</a></dt><dt>21.4. <a > href="policy_data_structures_design.html#id-1.3.5.8.4.4.2.3.2.3.11">Division > via Bit Mask</a></dt><dt>21.5. <a > href="policy_data_structures_design.html#id-1.3.5.8.4.4.2.3.2.4.7"> > + </a></dt><dt>22.10. <a > href="policy_data_structures_design.html#id-1.3.5.8.4.3.3.3.23">Non-unique > Mapping Containers</a></dt><dt>22.11. <a > href="policy_data_structures_design.html#id-1.3.5.8.4.3.4.3.5">Point > Iterator Hierarchy</a></dt><dt>22.12. <a > href="policy_data_structures_design.html#id-1.3.5.8.4.3.4.4.5">Invalidation > Guarantee Tags Hierarchy</a></dt><dt>22.13. <a > href="policy_data_structures_design.html#id-1.3.5.8.4.3.5.7.4">Container > Tag Hierarchy</a></dt><dt>22.14. <a > href="policy_data_structures_design.html#id-1.3.5.8.4.4.2.3.2.2.3">Hash > functions, ranged-hash functions, and > + range-hashing functions</a></dt><dt>22.15. <a > href="policy_data_structures_design.html#id-1.3.5.8.4.4.2.3.2.5.3.4">Insert > hash sequence diagram</a></dt><dt>22.16. <a > href="policy_data_structures_design.html#id-1.3.5.8.4.4.2.3.2.5.3.6">Insert > hash sequence diagram with a null policy</a></dt><dt>22.17. <a > href="policy_data_structures_design.html#id-1.3.5.8.4.4.2.3.2.5.5.5">Hash > policy class diagram</a></dt><dt>22.18. <a > href="policy_data_structures_design.html#id-1.3.5.8.4.4.2.3.3.4.7">Balls > and bins</a></dt><dt>22.19. <a > href="policy_data_structures_design.html#id-1.3.5.8.4.4.2.3.3.5.3.6">Insert > resize sequence diagram</a></dt><dt>22.20. <a > href="policy_data_structures_design.html#id-1.3.5.8.4.4.2.3.3.5.3.9">Standard > resize policy trigger sequence > + diagram</a></dt><dt>22.21. <a > href="policy_data_structures_design.html#id-1.3.5.8.4.4.2.3.3.5.3.10">Standard > resize policy size sequence > + diagram</a></dt><dt>22.22. <a > href="policy_data_structures_design.html#id-1.3.5.8.4.4.3.3.2.5">Tree node > invariants</a></dt><dt>22.23. <a > href="policy_data_structures_design.html#id-1.3.5.8.4.4.3.3.2.8">Tree node > invalidation</a></dt><dt>22.24. <a > href="policy_data_structures_design.html#id-1.3.5.8.4.4.3.3.2.11.3">A tree > and its update policy</a></dt><dt>22.25. <a > href="policy_data_structures_design.html#id-1.3.5.8.4.4.3.3.2.11.8">Restoring > node invariants</a></dt><dt>22.26. <a > href="policy_data_structures_design.html#id-1.3.5.8.4.4.3.3.2.11.10">Insert > update sequence</a></dt><dt>22.27. <a > href="policy_data_structures_design.html#id-1.3.5.8.4.4.3.3.2.11.20">Useless > update path</a></dt><dt>22.28. <a > href="policy_data_structures_design.html#id-1.3.5.8.4.4.4.3.2.10">A > PATRICIA trie</a></dt><dt>22.29. <a > href="policy_data_structures_design.html#id-1.3.5.8.4.4.4.3.3.5">A trie and > its update policy</a></dt><dt>22.30. <a > href="policy_data_structures_design.html#id-1.3.5.8.4.4.5.3.3.3">A simple > list</a></dt><dt>22.31. <a > href="policy_data_structures_design.html#id-1.3.5.8.4.4.5.3.3.6">The > counter algorithm</a></dt><dt>22.32. <a > href="policy_data_structures_design.html#id-1.3.5.8.4.4.6.3.3.3">Underlying > Priority-Queue Data-Structures.</a></dt><dt>22.33. <a > href="policy_data_structures_design.html#id-1.3.5.8.4.4.6.3.4.4">Priority-Queue > Data-Structure Tags.</a></dt><dt>B.1. <a > href="appendix_porting.html#fig.build_hacking.deps">Configure and Build > File Dependencies</a></dt></dl></div><div > class="list-of-tables"><p><strong>List of Tables</strong></p><dl><dt>1.1. > <a href="status.html#table.cxx98_status">C++ 1998/2003 Implementation > Status</a></dt><dt>1.2. <a href="status.html#table.cxx11_status">C++ 2011 > Implementation Status</a></dt><dt>1.3. <a > href="status.html#table.cxx14_status">C++ 2014 Implementation > Status</a></dt><dt>1.4. <a href="status.html#table.ts_status">C++ Technical > Specifications Implementation Status</a></dt><dt>1.5. <a > href="status.html#table.cxx17_features">C++ 2017 Library > Features</a></dt><dt>1.6. <a href="status.html#table.cxx17_status">C++ 2017 > Implementation Status</a></dt><dt>1.7. <a > href="status.html#table.cxx17_ts_status">C++ Technical Specifications > Implementation Status</a></dt><dt>1.8. <a > href="status.html#table.par2ts_simd_support">Support for Extended ABI > Tags</a></dt><dt>1.9. <a href="status.html#table.cxx20_features">C++ 2020 > Library Features</a></dt><dt>1.10. <a > href="status.html#table.cxx20_status">C++ 2020 Implementation > Status</a></dt><dt>1.11. <a href="status.html#table.cxx23_features">C++ > 2023 Library Features</a></dt><dt>1.12. <a > href="status.html#table.tr1_status">C++ TR1 Implementation > Status</a></dt><dt>1.13. <a href="status.html#table.decfp_status">C++ TR > 24733 Implementation Status</a></dt><dt>1.14. <a > href="status.html#table.specfun_status">C++ Special Functions > Implementation Status</a></dt><dt>3.1. <a > href="using.html#table.cmd_options">C++ Command Options</a></dt><dt>3.2. <a > href="using_headers.html#table.cxx98_headers">C++ 1998 Library > Headers</a></dt><dt>3.3. <a > href="using_headers.html#table.cxx98_cheaders">C++ 1998 Library Headers for > C Library Facilities</a></dt><dt>3.4. <a > href="using_headers.html#table.cxx98_deprheaders">C++ 1998 Deprecated > Library Header</a></dt><dt>3.5. <a > href="using_headers.html#table.cxx11_headers">C++ 2011 Library > Headers</a></dt><dt>3.6. <a > href="using_headers.html#table.cxx11_cheaders">C++ 2011 Library Headers for > C Library Facilities</a></dt><dt>3.7. <a > href="using_headers.html#table.cxx14_headers">C++ 2014 Library > Header</a></dt><dt>3.8. <a > href="using_headers.html#table.cxx17_headers">C++ 2017 Library > Headers</a></dt><dt>3.9. <a > href="using_headers.html#table.cxx20_headers">C++ 2020 Library > Headers</a></dt><dt>3.10. <a > href="using_headers.html#table.cxx20_deprheaders">C++ 2020 Obsolete > Headers</a></dt><dt>3.11. <a > href="using_headers.html#table.cxx23_headers">C++ 2023 Library > Headers</a></dt><dt>3.12. <a > href="using_headers.html#table.cxx26_headers">C++ 2026 Library > Headers</a></dt><dt>3.13. <a > href="using_headers.html#table.filesystemts_headers">File System TS > Header</a></dt><dt>3.14. <a > href="using_headers.html#table.libfundts_headers">Library Fundamentals TS > Headers</a></dt><dt>3.15. <a > href="using_headers.html#table.networkingts_headers">Networking TS > Headers</a></dt><dt>3.16. <a > href="using_headers.html#table.tr1_headers">C++ TR 1 Library > Headers</a></dt><dt>3.17. <a > href="using_headers.html#table.tr1_cheaders">C++ TR 1 Library Headers for C > Library Facilities</a></dt><dt>3.18. <a > href="using_headers.html#table.decfp_headers">C++ TR 24733 Decimal > Floating-Point Header</a></dt><dt>3.19. <a > href="using_headers.html#table.abi_headers">C++ ABI > Headers</a></dt><dt>3.20. <a > href="using_headers.html#table.ext_headers">Extension > Headers</a></dt><dt>3.21. <a > href="using_headers.html#table.debug_headers">Extension Debug > Headers</a></dt><dt>3.22. <a > href="using_headers.html#table.parallel_headers">Extension Parallel > Headers</a></dt><dt>18.1. <a > href="debug_mode_using.html#table.debug_mode_containers">Debugging > Containers</a></dt><dt>18.2. <a > href="debug_mode_using.html#table.debug_mode_containers_cxx11">Debugging > Containers C++11</a></dt><dt>19.1. <a > href="parallel_mode_using.html#table.parallel_algos">Parallel > Algorithms</a></dt><dt>21.1. <a > href="bitmap_allocator_impl.html#table.bitmap_alloc">Bitmap Allocator > Memory Map</a></dt><dt>B.1. <a > href="documentation_hacking.html#table.doxygen_prereq">Doxygen > Prerequisites</a></dt><dt>B.2. <a > href="documentation_hacking.html#table.doxygen_cmp">HTML to Doxygen Markup > Comparison</a></dt><dt>B.3. <a > href="documentation_hacking.html#table.docbook_prereq">Docbook > Prerequisites</a></dt><dt>B.4. <a > href="documentation_hacking.html#table.docbook_cmp">HTML to Docbook XML > Markup Comparison</a></dt><dt>B.5. <a > href="documentation_hacking.html#table.docbook_elem">Docbook XML Element > Use</a></dt><dt>B.6. <a > href="api.html#table.extension_allocators">Extension > Allocators</a></dt><dt>B.7. <a > href="api.html#table.extension_allocators2">Extension Allocators > Continued</a></dt></dl></div><div class="list-of-equations"><p><strong>List > of Equations</strong></p><dl><dt>22.1. <a > href="policy_data_structures_design.html#id-1.3.5.8.4.4.2.3.2.2.15">Ranged > Hash Function</a></dt><dt>22.2. <a > href="policy_data_structures_design.html#id-1.3.5.8.4.4.2.3.2.3.3">Range-Hashing, > Division Method</a></dt><dt>22.3. <a > href="policy_data_structures_design.html#id-1.3.5.8.4.4.2.3.2.3.9">Division > via Prime Modulo</a></dt><dt>22.4. <a > href="policy_data_structures_design.html#id-1.3.5.8.4.4.2.3.2.3.11">Division > via Bit Mask</a></dt><dt>22.5. <a > href="policy_data_structures_design.html#id-1.3.5.8.4.4.2.3.2.4.7"> > A Standard String Hash Function > - </a></dt><dt>21.6. <a > href="policy_data_structures_design.html#id-1.3.5.8.4.4.2.3.2.4.12"> > + </a></dt><dt>22.6. <a > href="policy_data_structures_design.html#id-1.3.5.8.4.4.2.3.2.4.12"> > Only k String DNA Hash > - </a></dt><dt>21.7. <a > href="policy_data_structures_design.html#id-1.3.5.8.4.4.2.3.3.4.9"> > + </a></dt><dt>22.7. <a > href="policy_data_structures_design.html#id-1.3.5.8.4.4.2.3.3.4.9"> > Probability of Probe Sequence of Length k > - </a></dt><dt>21.8. <a > href="policy_data_structures_design.html#id-1.3.5.8.4.4.2.3.3.4.14"> > + </a></dt><dt>22.8. <a > href="policy_data_structures_design.html#id-1.3.5.8.4.4.2.3.3.4.14"> > Probability Probe Sequence in Some Bin > </a></dt></dl></div></div><div class="navfooter"><hr > /><table width="100%" summary="Navigation footer"><tr><td width="40%" > align="left"><a accesskey="p" href="../index.html">Prev</a> </td><td > width="20%" align="center"> </td><td width="40%" align="right"> <a > accesskey="n" href="intro.html">Next</a></td></tr><tr><td width="40%" > align="left" valign="top">The GNU C++ Library </td><td width="20%" > align="center"><a accesskey="h" href="../index.html">Home</a></td><td > width="40%" align="right" valign="top"> Part I. > Introduction > diff --git a/libstdc++-v3/doc/html/manual/io.html > b/libstdc++-v3/doc/html/manual/io.html > index 81c5597c6d4d..4a2967608e4a 100644 > --- a/libstdc++-v3/doc/html/manual/io.html > +++ b/libstdc++-v3/doc/html/manual/io.html > @@ -1,12 +1,12 @@ > <?xml version="1.0" encoding="UTF-8" standalone="no"?> > -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>Chapter 13. Input and > Output</title><meta name="generator" content="DocBook XSL Stylesheets > Vsnapshot" /><meta name="keywords" content="ISO C++, library" /><meta > name="keywords" content="ISO C++, runtime, library" /><link rel="home" > href="../index.html" title="The GNU C++ Library" /><link rel="up" > href="std_contents.html" title="Part II. Standard Contents" /><link > rel="prev" href="numerics_and_c.html" title="Interacting with C" /><link > rel="next" href="streambufs.html" title="Stream Buffers" > /></head><body><div class="navheader"><table width="100%" > summary="Navigation header"><tr><th colspan="3" align="center">Chapter 13. > +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>Chapter 14. Input and > Output</title><meta name="generator" content="DocBook XSL Stylesheets > Vsnapshot" /><meta name="keywords" content="ISO C++, library" /><meta > name="keywords" content="ISO C++, runtime, library" /><link rel="home" > href="../index.html" title="The GNU C++ Library" /><link rel="up" > href="std_contents.html" title="Part II. Standard Contents" /><link > rel="prev" href="time.html" title="Chapter 13. Time" /><link rel="next" > href="streambufs.html" title="Stream Buffers" /></head><body><div > class="navheader"><table width="100%" summary="Navigation header"><tr><th > colspan="3" align="center">Chapter 14. > Input and Output > > -</th></tr><tr><td width="20%" align="left"><a accesskey="p" > href="numerics_and_c.html">Prev</a> </td><th width="60%" > align="center">Part II. > +</th></tr><tr><td width="20%" align="left"><a accesskey="p" > href="time.html">Prev</a> </td><th width="60%" align="center">Part II. > Standard Contents > - </th><td width="20%" align="right"> <a accesskey="n" > href="streambufs.html">Next</a></td></tr></table><hr /></div><div > class="chapter"><div class="titlepage"><div><div><h2 class="title"><a id=" > std.io"></a>Chapter 13. > + </th><td width="20%" align="right"> <a accesskey="n" > href="streambufs.html">Next</a></td></tr></table><hr /></div><div > class="chapter"><div class="titlepage"><div><div><h2 class="title"><a id=" > std.io"></a>Chapter 14. > Input and Output > - <a id="id-1.3.4.11.1.1.1" class="indexterm"></a> > + <a id="id-1.3.4.12.1.1.1" class="indexterm"></a> > </h2></div></div></div><div class="toc"><p><strong>Table of > Contents</strong></p><dl class="toc"><dt><span class="section"><a > href="io.html#std.io.objects">Iostream Objects</a></span></dt><dt><span > class="section"><a href="streambufs.html">Stream > Buffers</a></span></dt><dd><dl><dt><span class="section"><a > href="streambufs.html#io.streambuf.derived">Derived streambuf > Classes</a></span></dt><dt><span class="section"><a > href="streambufs.html#io.streambuf.buffering">Buffering</a></span></dt></dl></dd><dt><span > class="section"><a href="stringstreams.html">Memory Based > Streams</a></span></dt><dd><dl><dt><span class="section"><a > href="stringstreams.html#std.io.memstreams.compat">Compatibility With > strstream</a></span></dt></dl></dd><dt><span class="section"><a > href="fstreams.html">File Based Streams</a></span></dt><dd><dl><dt><span > class="section"><a href="fstreams.html#std.io.filestreams.copying_a_file">Copying > a File</a></span></dt><dt><span class="section"><a href="fstreams.html# > std.io.filestreams.binary">Binary Input and > Output</a></span></dt></dl></dd><dt><span class="section"><a > href="io_and_c.html">Interacting with C</a></span></dt><dd><dl><dt><span > class="section"><a href="io_and_c.html#std.io.c.FILE">Using FILE* and file > descriptors</a></span></dt><dt><span class="section"><a > href="io_and_c.html#std.io.c.sync">Performance</a></span></dt></dl></dd></dl></div><div > class="section"><div class="titlepage"><div><div><h2 class="title" > style="clear: both"><a id="std.io.objects"></a>Iostream > Objects</h2></div></div></div><p>To minimize the time you have to wait on > the compiler, it's good to > only include the headers you really need. Many people simply > include > <code class="filename"><iostream></code> when they don't > @@ -143,4 +143,7 @@ > the standard objects in that source file; you'll pay less startup > time. Only include the header files you need to in general; your > compile times will go down when there's less parsing work to do. > - </p></div></div><div class="navfooter"><hr /><table width="100%" > summary="Navigation footer"><tr><td width="40%" align="left"><a > accesskey="p" href="numerics_and_c.html">Prev</a> </td><td width="20%" > align="center"><a accesskey="u" href="std_contents.html">Up</a></td><td > width="40%" align="right"> <a accesskey="n" > href="streambufs.html">Next</a></td></tr><tr><td width="40%" align="left" > valign="top">Interacting with C </td><td width="20%" align="center"><a > accesskey="h" href="../index.html">Home</a></td><td width="40%" > align="right" valign="top"> Stream > Buffers</td></tr></table></div></body></html> > \ No newline at end of file > + </p></div></div><div class="navfooter"><hr /><table width="100%" > summary="Navigation footer"><tr><td width="40%" align="left"><a > accesskey="p" href="time.html">Prev</a> </td><td width="20%" > align="center"><a accesskey="u" href="std_contents.html">Up</a></td><td > width="40%" align="right"> <a accesskey="n" > href="streambufs.html">Next</a></td></tr><tr><td width="40%" align="left" > valign="top">Chapter 13. > + Time > + > + </td><td width="20%" align="center"><a accesskey="h" > href="../index.html">Home</a></td><td width="40%" align="right" > valign="top"> Stream Buffers</td></tr></table></div></body></html> > \ No newline at end of file > diff --git a/libstdc++-v3/doc/html/manual/io_and_c.html > b/libstdc++-v3/doc/html/manual/io_and_c.html > index 753ff1068d6d..34f0b961e399 100644 > --- a/libstdc++-v3/doc/html/manual/io_and_c.html > +++ b/libstdc++-v3/doc/html/manual/io_and_c.html > @@ -1,9 +1,9 @@ > <?xml version="1.0" encoding="UTF-8" standalone="no"?> > -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>Interacting with C</title><meta > name="generator" content="DocBook XSL Stylesheets Vsnapshot" /><meta > name="keywords" content="ISO C++, library" /><meta name="keywords" > content="ISO C++, runtime, library" /><link rel="home" href="../index.html" > title="The GNU C++ Library" /><link rel="up" href="io.html" > title="Chapter 13. Input and Output" /><link rel="prev" > href="fstreams.html" title="File Based Streams" /><link rel="next" > href="atomics.html" title="Chapter 14. Atomics" /></head><body><div > class="navheader"><table width="100%" summary="Navigation header"><tr><th > colspan="3" align="center">Interacting with C</th></tr><tr><td width="20%" > align="left"><a accesskey="p" href="fstreams.html">Prev</a> </td><th > width="60%" align="center">Chapter 13. > +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>Interacting with C</title><meta > name="generator" content="DocBook XSL Stylesheets Vsnapshot" /><meta > name="keywords" content="ISO C++, library" /><meta name="keywords" > content="ISO C++, runtime, library" /><link rel="home" href="../index.html" > title="The GNU C++ Library" /><link rel="up" href="io.html" > title="Chapter 14. Input and Output" /><link rel="prev" > href="fstreams.html" title="File Based Streams" /><link rel="next" > href="atomics.html" title="Chapter 15. Atomics" /></head><body><div > class="navheader"><table width="100%" summary="Navigation header"><tr><th > colspan="3" align="center">Interacting with C</th></tr><tr><td width="20%" > align="left"><a accesskey="p" href="fstreams.html">Prev</a> </td><th > width="60%" align="center">Chapter 14. > Input and Output > > </th><td width="20%" align="right"> <a accesskey="n" > href="atomics.html">Next</a></td></tr></table><hr /></div><div > class="section"><div class="titlepage"><div><div><h2 class="title" > style="clear: both"><a id="std.io.c"></a>Interacting with > C</h2></div></div></div><div class="section"><div > class="titlepage"><div><div><h3 class="title"><a > id="std.io.c.FILE"></a>Using FILE* and file > descriptors</h3></div></div></div><p> > - See the <a class="link" href="ext_io.html" title="Chapter 27. Input > and Output">extensions</a> for using > + See the <a class="link" href="ext_io.html" title="Chapter 28. Input > and Output">extensions</a> for using > <span class="type">FILE</span> and <span class="type">file > descriptors</span> with > <code class="classname">ofstream</code> and > <code class="classname">ifstream</code>. > @@ -50,7 +50,7 @@ > <code class="code">clog</code>, and their wide-character > counterparts). File stream > objects that you declare yourself have no such requirement and are > fully > buffered. > - </p></div></div><div class="navfooter"><hr /><table width="100%" > summary="Navigation footer"><tr><td width="40%" align="left"><a > accesskey="p" href="fstreams.html">Prev</a> </td><td width="20%" > align="center"><a accesskey="u" href="io.html">Up</a></td><td width="40%" > align="right"> <a accesskey="n" > href="atomics.html">Next</a></td></tr><tr><td width="40%" align="left" > valign="top">File Based Streams </td><td width="20%" align="center"><a > accesskey="h" href="../index.html">Home</a></td><td width="40%" > align="right" valign="top"> Chapter 14. > + </p></div></div><div class="navfooter"><hr /><table width="100%" > summary="Navigation footer"><tr><td width="40%" align="left"><a > accesskey="p" href="fstreams.html">Prev</a> </td><td width="20%" > align="center"><a accesskey="u" href="io.html">Up</a></td><td width="40%" > align="right"> <a accesskey="n" > href="atomics.html">Next</a></td></tr><tr><td width="40%" align="left" > valign="top">File Based Streams </td><td width="20%" align="center"><a > accesskey="h" href="../index.html">Home</a></td><td width="40%" > align="right" valign="top"> Chapter 15. > Atomics > > </td></tr></table></div></body></html> > \ No newline at end of file > diff --git a/libstdc++-v3/doc/html/manual/memory.html > b/libstdc++-v3/doc/html/manual/memory.html > index 9dce18db1ea2..b2bfda66dcf1 100644 > --- a/libstdc++-v3/doc/html/manual/memory.html > +++ b/libstdc++-v3/doc/html/manual/memory.html > @@ -268,14 +268,14 @@ > </p><p> > A high-performance fixed-size allocator with > exponentially-increasing allocations. It has its own > - <a class="link" href="mt_allocator.html" title="Chapter 19. The > mt_allocator">chapter</a> > + <a class="link" href="mt_allocator.html" title="Chapter 20. The > mt_allocator">chapter</a> > in the documentation. > </p></li><li class="listitem"><p> > <code class="classname">bitmap_allocator</code> > </p><p> > A high-performance allocator that uses a bit-map to keep track > of the used and unused memory locations. It has its own > - <a class="link" href="bitmap_allocator.html" > title="Chapter 20. The bitmap_allocator">chapter</a> > + <a class="link" href="bitmap_allocator.html" > title="Chapter 21. The bitmap_allocator">chapter</a> > in the documentation. > </p></li></ol></div></div><div class="bibliography"><div > class="titlepage"><div><div><h4 class="title"><a > id="allocator.biblio"></a>Bibliography</h4></div></div></div><div > class="biblioentry"><a id="id-1.3.4.4.4.3.9.2"></a><p><span > class="citetitle"><em class="citetitle"> > ISO/IEC 14882:1998 Programming languages - C++ > @@ -377,7 +377,7 @@ > guaranteed to be messy. > </p><p> > To prevent you from doing this to yourself, the > - <a class="link" href="ext_compile_checks.html" > title="Chapter 16. Compile Time Checks">concept checks</a> built > + <a class="link" href="ext_compile_checks.html" > title="Chapter 17. Compile Time Checks">concept checks</a> built > in to this implementation will issue an error if you try to > compile code like this: > </p><pre class="programlisting"> > diff --git a/libstdc++-v3/doc/html/manual/mt_allocator.html > b/libstdc++-v3/doc/html/manual/mt_allocator.html > index 68e7dccde78e..5d6c01f97927 100644 > --- a/libstdc++-v3/doc/html/manual/mt_allocator.html > +++ b/libstdc++-v3/doc/html/manual/mt_allocator.html > @@ -1,8 +1,8 @@ > <?xml version="1.0" encoding="UTF-8" standalone="no"?> > -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>Chapter 19. The > mt_allocator</title><meta name="generator" content="DocBook XSL Stylesheets > Vsnapshot" /><meta name="keywords" content="ISO C++, allocator" /><meta > name="keywords" content="ISO C++, library" /><meta name="keywords" > content="ISO C++, runtime, library" /><link rel="home" href="../index.html" > title="The GNU C++ Library" /><link rel="up" href="extensions.html" > title="Part III. Extensions" /><link rel="prev" > href="parallel_mode_test.html" title="Testing" /><link rel="next" > href="mt_allocator_design.html" title="Design Issues" /></head><body><div > class="navheader"><table width="100%" summary="Navigation header"><tr><th > colspan="3" align="center">Chapter 19. The mt_allocator</th></tr><tr><td > width="20%" align="left"><a accesskey="p" > href="parallel_mode_test.html">Prev</a> </td><th width="60%" > align="center">Part III. > +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>Chapter 20. The > mt_allocator</title><meta name="generator" content="DocBook XSL Stylesheets > Vsnapshot" /><meta name="keywords" content="ISO C++, allocator" /><meta > name="keywords" content="ISO C++, library" /><meta name="keywords" > content="ISO C++, runtime, library" /><link rel="home" href="../index.html" > title="The GNU C++ Library" /><link rel="up" href="extensions.html" > title="Part III. Extensions" /><link rel="prev" > href="parallel_mode_test.html" title="Testing" /><link rel="next" > href="mt_allocator_design.html" title="Design Issues" /></head><body><div > class="navheader"><table width="100%" summary="Navigation header"><tr><th > colspan="3" align="center">Chapter 20. The mt_allocator</th></tr><tr><td > width="20%" align="left"><a accesskey="p" > href="parallel_mode_test.html">Prev</a> </td><th width="60%" > align="center">Part III. > Extensions > > -</th><td width="20%" align="right"> <a accesskey="n" > href="mt_allocator_design.html">Next</a></td></tr></table><hr /></div><div > class="chapter"><div class="titlepage"><div><div><h2 class="title"><a id=" > manual.ext.allocator.mt"></a>Chapter 19. The > mt_allocator</h2></div></div></div><div class="toc"><p><strong>Table of > Contents</strong></p><dl class="toc"><dt><span class="section"><a > href="mt_allocator.html#allocator.mt.intro">Intro</a></span></dt><dt><span > class="section"><a href="mt_allocator_design.html">Design > Issues</a></span></dt><dd><dl><dt><span class="section"><a > href="mt_allocator_design.html#allocator.mt.overview">Overview</a></span></dt></dl></dd><dt><span > class="section"><a > href="mt_allocator_impl.html">Implementation</a></span></dt><dd><dl><dt><span > class="section"><a href="mt_allocator_impl.html#allocator.mt.tune">Tunable > Parameters</a></span></dt><dt><span class="section"><a > href="mt_allocator_impl.html#allocator.mt.init">Initialization</a></span></dt><dt><span > class="section"><a > href="mt_allocator_impl.html#allocator.mt.deallocation">Deallocation > Notes</a></span></dt></dl></dd><dt><span class="section"><a > href="mt_allocator_ex_single.html">Single Thread > Example</a></span></dt><dt><span class="section"><a > href="mt_allocator_ex_multi.html">Multiple Thread > Example</a></span></dt></dl></div><p> > +</th><td width="20%" align="right"> <a accesskey="n" > href="mt_allocator_design.html">Next</a></td></tr></table><hr /></div><div > class="chapter"><div class="titlepage"><div><div><h2 class="title"><a id=" > manual.ext.allocator.mt"></a>Chapter 20. The > mt_allocator</h2></div></div></div><div class="toc"><p><strong>Table of > Contents</strong></p><dl class="toc"><dt><span class="section"><a > href="mt_allocator.html#allocator.mt.intro">Intro</a></span></dt><dt><span > class="section"><a href="mt_allocator_design.html">Design > Issues</a></span></dt><dd><dl><dt><span class="section"><a > href="mt_allocator_design.html#allocator.mt.overview">Overview</a></span></dt></dl></dd><dt><span > class="section"><a > href="mt_allocator_impl.html">Implementation</a></span></dt><dd><dl><dt><span > class="section"><a href="mt_allocator_impl.html#allocator.mt.tune">Tunable > Parameters</a></span></dt><dt><span class="section"><a > href="mt_allocator_impl.html#allocator.mt.init">Initialization</a></span></dt><dt><span > class="section"><a > href="mt_allocator_impl.html#allocator.mt.deallocation">Deallocation > Notes</a></span></dt></dl></dd><dt><span class="section"><a > href="mt_allocator_ex_single.html">Single Thread > Example</a></span></dt><dt><span class="section"><a > href="mt_allocator_ex_multi.html">Multiple Thread > Example</a></span></dt></dl></div><p> > </p><div class="section"><div class="titlepage"><div><div><h2 > class="title" style="clear: both"><a > id="allocator.mt.intro"></a>Intro</h2></div></div></div><p> > The mt allocator [hereinafter referred to simply as "the allocator"] > is a fixed size (power of two) allocator that was initially > diff --git a/libstdc++-v3/doc/html/manual/mt_allocator_design.html > b/libstdc++-v3/doc/html/manual/mt_allocator_design.html > index 7541c3a8f4b8..b08c0b7641ac 100644 > --- a/libstdc++-v3/doc/html/manual/mt_allocator_design.html > +++ b/libstdc++-v3/doc/html/manual/mt_allocator_design.html > @@ -1,5 +1,5 @@ > <?xml version="1.0" encoding="UTF-8" standalone="no"?> > -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>Design Issues</title><meta > name="generator" content="DocBook XSL Stylesheets Vsnapshot" /><meta > name="keywords" content="ISO C++, allocator" /><meta name="keywords" > content="ISO C++, library" /><meta name="keywords" content="ISO C++, > runtime, library" /><link rel="home" href="../index.html" title="The GNU > C++ Library" /><link rel="up" href="mt_allocator.html" > title="Chapter 19. The mt_allocator" /><link rel="prev" > href="mt_allocator.html" title="Chapter 19. The mt_allocator" /><link > rel="next" href="mt_allocator_impl.html" title="Implementation" > /></head><body><div class="navheader"><table width="100%" > summary="Navigation header"><tr><th colspan="3" align="center">Design > Issues</th></tr><tr><td width="20%" align="left"><a accesskey="p" > href="mt_allocator.html">Prev</a> </td><th width="60%" > align="center">Chapter 19. The mt_allocator</th><td width="20%" > align="right"> <a accesskey="n" > href="mt_allocator_impl.html">Next</a></td></tr></table><hr /></div><div > class="section"><div class="titlepage"><div><div><h2 class="title" > style="clear: both"><a id="allocator.mt.design_issues"></a>Design > Issues</h2></div></div></div><div class="section"><div > class="titlepage"><div><div><h3 class="title"><a > id="allocator.mt.overview"></a>Overview</h3></div></div></div><p> There are > three general components to the allocator: a datum > +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>Design Issues</title><meta > name="generator" content="DocBook XSL Stylesheets Vsnapshot" /><meta > name="keywords" content="ISO C++, allocator" /><meta name="keywords" > content="ISO C++, library" /><meta name="keywords" content="ISO C++, > runtime, library" /><link rel="home" href="../index.html" title="The GNU > C++ Library" /><link rel="up" href="mt_allocator.html" > title="Chapter 20. The mt_allocator" /><link rel="prev" > href="mt_allocator.html" title="Chapter 20. The mt_allocator" /><link > rel="next" href="mt_allocator_impl.html" title="Implementation" > /></head><body><div class="navheader"><table width="100%" > summary="Navigation header"><tr><th colspan="3" align="center">Design > Issues</th></tr><tr><td width="20%" align="left"><a accesskey="p" > href="mt_allocator.html">Prev</a> </td><th width="60%" > align="center">Chapter 20. The mt_allocator</th><td width="20%" > align="right"> <a accesskey="n" > href="mt_allocator_impl.html">Next</a></td></tr></table><hr /></div><div > class="section"><div class="titlepage"><div><div><h2 class="title" > style="clear: both"><a id="allocator.mt.design_issues"></a>Design > Issues</h2></div></div></div><div class="section"><div > class="titlepage"><div><div><h3 class="title"><a > id="allocator.mt.overview"></a>Overview</h3></div></div></div><p> There are > three general components to the allocator: a datum > describing the characteristics of the memory pool, a policy class > containing this pool that links instantiation types to common or > individual pools, and a class inheriting from the policy class that is > @@ -35,4 +35,4 @@ tuning, for instance. > </pre><p> This class has the interface required for standard library > allocator > classes, namely member functions <code class="code">allocate</code> and > <code class="code">deallocate</code>, plus others. > -</p></div></div><div class="navfooter"><hr /><table width="100%" > summary="Navigation footer"><tr><td width="40%" align="left"><a > accesskey="p" href="mt_allocator.html">Prev</a> </td><td width="20%" > align="center"><a accesskey="u" href="mt_allocator.html">Up</a></td><td > width="40%" align="right"> <a accesskey="n" > href="mt_allocator_impl.html">Next</a></td></tr><tr><td width="40%" > align="left" valign="top">Chapter 19. The mt_allocator </td><td width="20%" > align="center"><a accesskey="h" href="../index.html">Home</a></td><td > width="40%" align="right" > valign="top"> Implementation</td></tr></table></div></body></html> > \ No newline at end of file > +</p></div></div><div class="navfooter"><hr /><table width="100%" > summary="Navigation footer"><tr><td width="40%" align="left"><a > accesskey="p" href="mt_allocator.html">Prev</a> </td><td width="20%" > align="center"><a accesskey="u" href="mt_allocator.html">Up</a></td><td > width="40%" align="right"> <a accesskey="n" > href="mt_allocator_impl.html">Next</a></td></tr><tr><td width="40%" > align="left" valign="top">Chapter 20. The mt_allocator </td><td width="20%" > align="center"><a accesskey="h" href="../index.html">Home</a></td><td > width="40%" align="right" > valign="top"> Implementation</td></tr></table></div></body></html> > \ No newline at end of file > diff --git a/libstdc++-v3/doc/html/manual/mt_allocator_ex_multi.html > b/libstdc++-v3/doc/html/manual/mt_allocator_ex_multi.html > index 67a1154164b7..1cd1749d9110 100644 > --- a/libstdc++-v3/doc/html/manual/mt_allocator_ex_multi.html > +++ b/libstdc++-v3/doc/html/manual/mt_allocator_ex_multi.html > @@ -1,5 +1,5 @@ > <?xml version="1.0" encoding="UTF-8" standalone="no"?> > -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>Multiple Thread > Example</title><meta name="generator" content="DocBook XSL Stylesheets > Vsnapshot" /><meta name="keywords" content="ISO C++, allocator" /><meta > name="keywords" content="ISO C++, library" /><meta name="keywords" > content="ISO C++, runtime, library" /><link rel="home" href="../index.html" > title="The GNU C++ Library" /><link rel="up" href="mt_allocator.html" > title="Chapter 19. The mt_allocator" /><link rel="prev" > href="mt_allocator_ex_single.html" title="Single Thread Example" /><link > rel="next" href="bitmap_allocator.html" title="Chapter 20. The > bitmap_allocator" /></head><body><div class="navheader"><table width="100%" > summary="Navigation header"><tr><th colspan="3" align="center">Multiple > Thread Example</th></tr><tr><td width="20%" align="left"><a accesskey="p" > href="mt_allocator_ex_single.html">Prev</a> </td><th width="60%" > align="center">Chapter 19. The mt_allocator</th><td width="20%" > align="right"> <a accesskey="n" > href="bitmap_allocator.html">Next</a></td></tr></table><hr /></div><div > class="section"><div class="titlepage"><div><div><h2 class="title" > style="clear: both"><a id="allocator.mt.example_multi"></a>Multiple Thread > Example</h2></div></div></div><p> > +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>Multiple Thread > Example</title><meta name="generator" content="DocBook XSL Stylesheets > Vsnapshot" /><meta name="keywords" content="ISO C++, allocator" /><meta > name="keywords" content="ISO C++, library" /><meta name="keywords" > content="ISO C++, runtime, library" /><link rel="home" href="../index.html" > title="The GNU C++ Library" /><link rel="up" href="mt_allocator.html" > title="Chapter 20. The mt_allocator" /><link rel="prev" > href="mt_allocator_ex_single.html" title="Single Thread Example" /><link > rel="next" href="bitmap_allocator.html" title="Chapter 21. The > bitmap_allocator" /></head><body><div class="navheader"><table width="100%" > summary="Navigation header"><tr><th colspan="3" align="center">Multiple > Thread Example</th></tr><tr><td width="20%" align="left"><a accesskey="p" > href="mt_allocator_ex_single.html">Prev</a> </td><th width="60%" > align="center">Chapter 20. The mt_allocator</th><td width="20%" > align="right"> <a accesskey="n" > href="bitmap_allocator.html">Next</a></td></tr></table><hr /></div><div > class="section"><div class="titlepage"><div><div><h2 class="title" > style="clear: both"><a id="allocator.mt.example_multi"></a>Multiple Thread > Example</h2></div></div></div><p> > In the ST example we never used the thread_id variable present in each > block. > Let's start by explaining the purpose of this in a MT application. > </p><p> > @@ -103,4 +103,4 @@ mutex to be locked) this operation is also made in > chunks of blocks > a threads freelist mentioned above). The "formula" used can probably > be improved to further reduce the risk of blocks being "bounced back > and forth" between freelists. > -</p></div><div class="navfooter"><hr /><table width="100%" > summary="Navigation footer"><tr><td width="40%" align="left"><a > accesskey="p" href="mt_allocator_ex_single.html">Prev</a> </td><td > width="20%" align="center"><a accesskey="u" > href="mt_allocator.html">Up</a></td><td width="40%" align="right"> <a > accesskey="n" href="bitmap_allocator.html">Next</a></td></tr><tr><td > width="40%" align="left" valign="top">Single Thread Example </td><td > width="20%" align="center"><a accesskey="h" > href="../index.html">Home</a></td><td width="40%" align="right" > valign="top"> Chapter 20. The > bitmap_allocator</td></tr></table></div></body></html> > \ No newline at end of file > +</p></div><div class="navfooter"><hr /><table width="100%" > summary="Navigation footer"><tr><td width="40%" align="left"><a > accesskey="p" href="mt_allocator_ex_single.html">Prev</a> </td><td > width="20%" align="center"><a accesskey="u" > href="mt_allocator.html">Up</a></td><td width="40%" align="right"> <a > accesskey="n" href="bitmap_allocator.html">Next</a></td></tr><tr><td > width="40%" align="left" valign="top">Single Thread Example </td><td > width="20%" align="center"><a accesskey="h" > href="../index.html">Home</a></td><td width="40%" align="right" > valign="top"> Chapter 21. The > bitmap_allocator</td></tr></table></div></body></html> > \ No newline at end of file > diff --git a/libstdc++-v3/doc/html/manual/mt_allocator_ex_single.html > b/libstdc++-v3/doc/html/manual/mt_allocator_ex_single.html > index 6934ec3aca9c..7e30f72b953b 100644 > --- a/libstdc++-v3/doc/html/manual/mt_allocator_ex_single.html > +++ b/libstdc++-v3/doc/html/manual/mt_allocator_ex_single.html > @@ -1,5 +1,5 @@ > <?xml version="1.0" encoding="UTF-8" standalone="no"?> > -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>Single Thread > Example</title><meta name="generator" content="DocBook XSL Stylesheets > Vsnapshot" /><meta name="keywords" content="ISO C++, allocator" /><meta > name="keywords" content="ISO C++, library" /><meta name="keywords" > content="ISO C++, runtime, library" /><link rel="home" href="../index.html" > title="The GNU C++ Library" /><link rel="up" href="mt_allocator.html" > title="Chapter 19. The mt_allocator" /><link rel="prev" > href="mt_allocator_impl.html" title="Implementation" /><link rel="next" > href="mt_allocator_ex_multi.html" title="Multiple Thread Example" > /></head><body><div class="navheader"><table width="100%" > summary="Navigation header"><tr><th colspan="3" align="center">Single > Thread Example</th></tr><tr><td width="20%" align="left"><a accesskey="p" > href="mt_allocator_impl.html">Prev</a> </td><th width="60%" > align="center">Chapter 19. The mt_allocator</th><td width="20%" > align="right"> <a accesskey="n" > href="mt_allocator_ex_multi.html">Next</a></td></tr></table><hr > /></div><div class="section"><div class="titlepage"><div><div><h2 > class="title" style="clear: both"><a > id="allocator.mt.example_single"></a>Single Thread > Example</h2></div></div></div><p> > +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>Single Thread > Example</title><meta name="generator" content="DocBook XSL Stylesheets > Vsnapshot" /><meta name="keywords" content="ISO C++, allocator" /><meta > name="keywords" content="ISO C++, library" /><meta name="keywords" > content="ISO C++, runtime, library" /><link rel="home" href="../index.html" > title="The GNU C++ Library" /><link rel="up" href="mt_allocator.html" > title="Chapter 20. The mt_allocator" /><link rel="prev" > href="mt_allocator_impl.html" title="Implementation" /><link rel="next" > href="mt_allocator_ex_multi.html" title="Multiple Thread Example" > /></head><body><div class="navheader"><table width="100%" > summary="Navigation header"><tr><th colspan="3" align="center">Single > Thread Example</th></tr><tr><td width="20%" align="left"><a accesskey="p" > href="mt_allocator_impl.html">Prev</a> </td><th width="60%" > align="center">Chapter 20. The mt_allocator</th><td width="20%" > align="right"> <a accesskey="n" > href="mt_allocator_ex_multi.html">Next</a></td></tr></table><hr > /></div><div class="section"><div class="titlepage"><div><div><h2 > class="title" style="clear: both"><a > id="allocator.mt.example_single"></a>Single Thread > Example</h2></div></div></div><p> > Let's start by describing how the data on a freelist is laid out in > memory. > This is the first two blocks in freelist for thread id 3 in bin 3 (8 > bytes): > </p><pre class="programlisting"> > diff --git a/libstdc++-v3/doc/html/manual/mt_allocator_impl.html > b/libstdc++-v3/doc/html/manual/mt_allocator_impl.html > index c69b9c5b55a6..c4b128ad7b6f 100644 > --- a/libstdc++-v3/doc/html/manual/mt_allocator_impl.html > +++ b/libstdc++-v3/doc/html/manual/mt_allocator_impl.html > @@ -1,5 +1,5 @@ > <?xml version="1.0" encoding="UTF-8" standalone="no"?> > -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>Implementation</title><meta > name="generator" content="DocBook XSL Stylesheets Vsnapshot" /><meta > name="keywords" content="ISO C++, allocator" /><meta name="keywords" > content="ISO C++, library" /><meta name="keywords" content="ISO C++, > runtime, library" /><link rel="home" href="../index.html" title="The GNU > C++ Library" /><link rel="up" href="mt_allocator.html" > title="Chapter 19. The mt_allocator" /><link rel="prev" > href="mt_allocator_design.html" title="Design Issues" /><link rel="next" > href="mt_allocator_ex_single.html" title="Single Thread Example" > /></head><body><div class="navheader"><table width="100%" > summary="Navigation header"><tr><th colspan="3" > align="center">Implementation</th></tr><tr><td width="20%" align="left"><a > accesskey="p" href="mt_allocator_design.html">Prev</a> </td><th width="60%" > align="center">Chapter 19. The mt_allocator</th><td width="20%" > align="right"> <a accesskey="n" > href="mt_allocator_ex_single.html">Next</a></td></tr></table><hr > /></div><div class="section"><div class="titlepage"><div><div><h2 > class="title" style="clear: both"><a > id="allocator.mt.impl"></a>Implementation</h2></div></div></div><div > class="section"><div class="titlepage"><div><div><h3 class="title"><a > id="allocator.mt.tune"></a>Tunable > Parameters</h3></div></div></div><p>Certain allocation parameters can be > modified, or tuned. There > +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>Implementation</title><meta > name="generator" content="DocBook XSL Stylesheets Vsnapshot" /><meta > name="keywords" content="ISO C++, allocator" /><meta name="keywords" > content="ISO C++, library" /><meta name="keywords" content="ISO C++, > runtime, library" /><link rel="home" href="../index.html" title="The GNU > C++ Library" /><link rel="up" href="mt_allocator.html" > title="Chapter 20. The mt_allocator" /><link rel="prev" > href="mt_allocator_design.html" title="Design Issues" /><link rel="next" > href="mt_allocator_ex_single.html" title="Single Thread Example" > /></head><body><div class="navheader"><table width="100%" > summary="Navigation header"><tr><th colspan="3" > align="center">Implementation</th></tr><tr><td width="20%" align="left"><a > accesskey="p" href="mt_allocator_design.html">Prev</a> </td><th width="60%" > align="center">Chapter 20. The mt_allocator</th><td width="20%" > align="right"> <a accesskey="n" > href="mt_allocator_ex_single.html">Next</a></td></tr></table><hr > /></div><div class="section"><div class="titlepage"><div><div><h2 > class="title" style="clear: both"><a > id="allocator.mt.impl"></a>Implementation</h2></div></div></div><div > class="section"><div class="titlepage"><div><div><h3 class="title"><a > id="allocator.mt.tune"></a>Tunable > Parameters</h3></div></div></div><p>Certain allocation parameters can be > modified, or tuned. There > exists a nested <code class="code">struct __pool_base::_Tune</code> that > contains all > these parameters, which include settings for > </p><div class="itemizedlist"><ul class="itemizedlist" > style="list-style-type: disc; "><li > class="listitem"><p>Alignment</p></li><li class="listitem"><p>Maximum bytes > before calling <code class="code">::operator new</code> > directly</p></li><li class="listitem"><p>Minimum bytes</p></li><li > class="listitem"><p>Size of underlying global allocations</p></li><li > class="listitem"><p>Maximum number of supported threads</p></li><li > class="listitem"><p>Migration of deallocations to the global free > list</p></li><li class="listitem"><p>Shunt for global <code > class="code">new</code> and <code > class="code">delete</code></p></li></ul></div><p>Adjusting parameters for a > given instance of an allocator can only > diff --git a/libstdc++-v3/doc/html/manual/numerics_and_c.html > b/libstdc++-v3/doc/html/manual/numerics_and_c.html > index 8179dbf0f48f..04d721d0855d 100644 > --- a/libstdc++-v3/doc/html/manual/numerics_and_c.html > +++ b/libstdc++-v3/doc/html/manual/numerics_and_c.html > @@ -1,8 +1,8 @@ > <?xml version="1.0" encoding="UTF-8" standalone="no"?> > -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>Interacting with C</title><meta > name="generator" content="DocBook XSL Stylesheets Vsnapshot" /><meta > name="keywords" content="ISO C++, library" /><meta name="keywords" > content="ISO C++, runtime, library" /><link rel="home" href="../index.html" > title="The GNU C++ Library" /><link rel="up" href="numerics.html" > title="Chapter 12. Numerics" /><link rel="prev" > href="generalized_numeric_operations.html" title="Generalized Operations" > /><link rel="next" href="io.html" title="Chapter 13. Input and Output" > /></head><body><div class="navheader"><table width="100%" > summary="Navigation header"><tr><th colspan="3" align="center">Interacting > with C</th></tr><tr><td width="20%" align="left"><a accesskey="p" > href="generalized_numeric_operations.html">Prev</a> </td><th width="60%" > align="center">Chapter 12. > +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>Interacting with C</title><meta > name="generator" content="DocBook XSL Stylesheets Vsnapshot" /><meta > name="keywords" content="ISO C++, library" /><meta name="keywords" > content="ISO C++, runtime, library" /><link rel="home" href="../index.html" > title="The GNU C++ Library" /><link rel="up" href="numerics.html" > title="Chapter 12. Numerics" /><link rel="prev" > href="generalized_numeric_operations.html" title="Generalized Operations" > /><link rel="next" href="time.html" title="Chapter 13. Time" > /></head><body><div class="navheader"><table width="100%" > summary="Navigation header"><tr><th colspan="3" align="center">Interacting > with C</th></tr><tr><td width="20%" align="left"><a accesskey="p" > href="generalized_numeric_operations.html">Prev</a> </td><th width="60%" > align="center">Chapter 12. > Numerics > > -</th><td width="20%" align="right"> <a accesskey="n" > href="io.html">Next</a></td></tr></table><hr /></div><div > class="section"><div class="titlepage"><div><div><h2 class="title" > style="clear: both"><a id="std.numerics.c"></a>Interacting with > C</h2></div></div></div><div class="section"><div > class="titlepage"><div><div><h3 class="title"><a > id="numerics.c.array"></a>Numerics vs. Arrays</h3></div></div></div><p>One > of the major reasons why FORTRAN can chew through numbers so well > +</th><td width="20%" align="right"> <a accesskey="n" > href="time.html">Next</a></td></tr></table><hr /></div><div > class="section"><div class="titlepage"><div><div><h2 class="title" > style="clear: both"><a id="std.numerics.c"></a>Interacting with > C</h2></div></div></div><div class="section"><div > class="titlepage"><div><div><h3 class="title"><a > id="numerics.c.array"></a>Numerics vs. Arrays</h3></div></div></div><p>One > of the major reasons why FORTRAN can chew through numbers so well > is that it is defined to be free of pointer aliasing, an assumption > that C89 is not allowed to make, and neither is C++98. C99 adds a > new > keyword, <code class="code">restrict</code>, to apply to individual > pointers. The > @@ -30,7 +30,7 @@ > are supported, as is the <code class="code">lldiv_t</code> > typedef. Also supported > are the wide character functions using 'long long', like > <code class="code">wcstoll</code>. > - </p></div></div><div class="navfooter"><hr /><table width="100%" > summary="Navigation footer"><tr><td width="40%" align="left"><a > accesskey="p" href="generalized_numeric_operations.html">Prev</a> </td><td > width="20%" align="center"><a accesskey="u" > href="numerics.html">Up</a></td><td width="40%" align="right"> <a > accesskey="n" href="io.html">Next</a></td></tr><tr><td width="40%" > align="left" valign="top">Generalized Operations </td><td width="20%" > align="center"><a accesskey="h" href="../index.html">Home</a></td><td > width="40%" align="right" valign="top"> Chapter 13. > - Input and Output > + </p></div></div><div class="navfooter"><hr /><table width="100%" > summary="Navigation footer"><tr><td width="40%" align="left"><a > accesskey="p" href="generalized_numeric_operations.html">Prev</a> </td><td > width="20%" align="center"><a accesskey="u" > href="numerics.html">Up</a></td><td width="40%" align="right"> <a > accesskey="n" href="time.html">Next</a></td></tr><tr><td width="40%" > align="left" valign="top">Generalized Operations </td><td width="20%" > align="center"><a accesskey="h" href="../index.html">Home</a></td><td > width="40%" align="right" valign="top"> Chapter 13. > + Time > > </td></tr></table></div></body></html> > \ No newline at end of file > diff --git a/libstdc++-v3/doc/html/manual/parallel_mode.html > b/libstdc++-v3/doc/html/manual/parallel_mode.html > index 7ffa8bb606b0..fbfd94e68436 100644 > --- a/libstdc++-v3/doc/html/manual/parallel_mode.html > +++ b/libstdc++-v3/doc/html/manual/parallel_mode.html > @@ -1,8 +1,8 @@ > <?xml version="1.0" encoding="UTF-8" standalone="no"?> > -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>Chapter 18. Parallel > Mode</title><meta name="generator" content="DocBook XSL Stylesheets > Vsnapshot" /><meta name="keywords" content="C++, library, parallel" /><meta > name="keywords" content="ISO C++, library" /><meta name="keywords" > content="ISO C++, runtime, library" /><link rel="home" href="../index.html" > title="The GNU C++ Library" /><link rel="up" href="extensions.html" > title="Part III. Extensions" /><link rel="prev" > href="debug_mode_design.html" title="Design" /><link rel="next" > href="parallel_mode_semantics.html" title="Semantics" /></head><body><div > class="navheader"><table width="100%" summary="Navigation header"><tr><th > colspan="3" align="center">Chapter 18. Parallel Mode</th></tr><tr><td > width="20%" align="left"><a accesskey="p" > href="debug_mode_design.html">Prev</a> </td><th width="60%" > align="center">Part III. > +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>Chapter 19. Parallel > Mode</title><meta name="generator" content="DocBook XSL Stylesheets > Vsnapshot" /><meta name="keywords" content="C++, library, parallel" /><meta > name="keywords" content="ISO C++, library" /><meta name="keywords" > content="ISO C++, runtime, library" /><link rel="home" href="../index.html" > title="The GNU C++ Library" /><link rel="up" href="extensions.html" > title="Part III. Extensions" /><link rel="prev" > href="debug_mode_design.html" title="Design" /><link rel="next" > href="parallel_mode_semantics.html" title="Semantics" /></head><body><div > class="navheader"><table width="100%" summary="Navigation header"><tr><th > colspan="3" align="center">Chapter 19. Parallel Mode</th></tr><tr><td > width="20%" align="left"><a accesskey="p" > href="debug_mode_design.html">Prev</a> </td><th width="60%" > align="center">Part III. > Extensions > > -</th><td width="20%" align="right"> <a accesskey="n" > href="parallel_mode_semantics.html">Next</a></td></tr></table><hr > /></div><div class="chapter"><div class="titlepage"><div><div><h2 > class="title"><a id="manual.ext.parallel_mode"></a>Chapter 18. Parallel > Mode</h2></div></div></div><div class="toc"><p><strong>Table of > Contents</strong></p><dl class="toc"><dt><span class="section"><a > href="parallel_mode.html#manual.ext.parallel_mode.intro">Intro</a></span></dt><dt><span > class="section"><a > href="parallel_mode_semantics.html">Semantics</a></span></dt><dt><span > class="section"><a > href="parallel_mode_using.html">Using</a></span></dt><dd><dl><dt><span > class="section"><a > href="parallel_mode_using.html#parallel_mode.using.prereq_flags">Prerequisite > Compiler Flags</a></span></dt><dt><span class="section"><a > href="parallel_mode_using.html#parallel_mode.using.parallel_mode">Using > Parallel Mode</a></span></dt><dt><span class="section"><a > href="parallel_mode_using.html#parallel_mode.using.specific">Using Specific > Parallel Components</a></span></dt></dl></dd><dt><span class="section"><a > href="parallel_mode_design.html">Design</a></span></dt><dd><dl><dt><span > class="section"><a > href="parallel_mode_design.html#parallel_mode.design.intro">Interface > Basics</a></span></dt><dt><span class="section"><a > href="parallel_mode_design.html#parallel_mode.design.tuning">Configuration > and Tuning</a></span></dt><dd><dl><dt><span class="section"><a > href="parallel_mode_design.html#parallel_mode.design.tuning.omp">Setting up > the OpenMP Environment</a></span></dt><dt><span class="section"><a > href="parallel_mode_design.html#parallel_mode.design.tuning.compile">Compile > Time Switches</a></span></dt><dt><span class="section"><a > href="parallel_mode_design.html#parallel_mode.design.tuning.settings">Run > Time Settings and Defaults</a></span></dt></dl></dd><dt><span > class="section"><a > href="parallel_mode_design.html#parallel_mode.design.impl">Implementation > Namespaces</a></span></dt></dl></dd><dt><span class="section"><a > href="parallel_mode_test.html">Testing</a></span></dt><dt><span > class="bibliography"><a > href="parallel_mode.html#parallel_mode.biblio">Bibliography</a></span></dt></dl></div><p> > The libstdc++ parallel mode is an experimental parallel > +</th><td width="20%" align="right"> <a accesskey="n" > href="parallel_mode_semantics.html">Next</a></td></tr></table><hr > /></div><div class="chapter"><div class="titlepage"><div><div><h2 > class="title"><a id="manual.ext.parallel_mode"></a>Chapter 19. Parallel > Mode</h2></div></div></div><div class="toc"><p><strong>Table of > Contents</strong></p><dl class="toc"><dt><span class="section"><a > href="parallel_mode.html#manual.ext.parallel_mode.intro">Intro</a></span></dt><dt><span > class="section"><a > href="parallel_mode_semantics.html">Semantics</a></span></dt><dt><span > class="section"><a > href="parallel_mode_using.html">Using</a></span></dt><dd><dl><dt><span > class="section"><a > href="parallel_mode_using.html#parallel_mode.using.prereq_flags">Prerequisite > Compiler Flags</a></span></dt><dt><span class="section"><a > href="parallel_mode_using.html#parallel_mode.using.parallel_mode">Using > Parallel Mode</a></span></dt><dt><span class="section"><a > href="parallel_mode_using.html#parallel_mode.using.specific">Using Specific > Parallel Components</a></span></dt></dl></dd><dt><span class="section"><a > href="parallel_mode_design.html">Design</a></span></dt><dd><dl><dt><span > class="section"><a > href="parallel_mode_design.html#parallel_mode.design.intro">Interface > Basics</a></span></dt><dt><span class="section"><a > href="parallel_mode_design.html#parallel_mode.design.tuning">Configuration > and Tuning</a></span></dt><dd><dl><dt><span class="section"><a > href="parallel_mode_design.html#parallel_mode.design.tuning.omp">Setting up > the OpenMP Environment</a></span></dt><dt><span class="section"><a > href="parallel_mode_design.html#parallel_mode.design.tuning.compile">Compile > Time Switches</a></span></dt><dt><span class="section"><a > href="parallel_mode_design.html#parallel_mode.design.tuning.settings">Run > Time Settings and Defaults</a></span></dt></dl></dd><dt><span > class="section"><a > href="parallel_mode_design.html#parallel_mode.design.impl">Implementation > Namespaces</a></span></dt></dl></dd><dt><span class="section"><a > href="parallel_mode_test.html">Testing</a></span></dt><dt><span > class="bibliography"><a > href="parallel_mode.html#parallel_mode.biblio">Bibliography</a></span></dt></dl></div><p> > The libstdc++ parallel mode is an experimental parallel > implementation of many algorithms of the C++ Standard Library. > </p><p> > Several of the standard algorithms, for instance > diff --git a/libstdc++-v3/doc/html/manual/parallel_mode_design.html > b/libstdc++-v3/doc/html/manual/parallel_mode_design.html > index c2090940d249..bac64b0b468d 100644 > --- a/libstdc++-v3/doc/html/manual/parallel_mode_design.html > +++ b/libstdc++-v3/doc/html/manual/parallel_mode_design.html > @@ -1,5 +1,5 @@ > <?xml version="1.0" encoding="UTF-8" standalone="no"?> > -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>Design</title><meta > name="generator" content="DocBook XSL Stylesheets Vsnapshot" /><meta > name="keywords" content="C++, library, parallel" /><meta name="keywords" > content="ISO C++, library" /><meta name="keywords" content="ISO C++, > runtime, library" /><link rel="home" href="../index.html" title="The GNU > C++ Library" /><link rel="up" href="parallel_mode.html" > title="Chapter 18. Parallel Mode" /><link rel="prev" > href="parallel_mode_using.html" title="Using" /><link rel="next" > href="parallel_mode_test.html" title="Testing" /></head><body><div > class="navheader"><table width="100%" summary="Navigation header"><tr><th > colspan="3" align="center">Design</th></tr><tr><td width="20%" > align="left"><a accesskey="p" > href="parallel_mode_using.html">Prev</a> </td><th width="60%" > align="center">Chapter 18. Parallel Mode</th><td width="20%" > align="right"> <a accesskey="n" > href="parallel_mode_test.html">Next</a></td></tr></table><hr /></div><div > class="section"><div class="titlepage"><div><div><h2 class="title" > style="clear: both"><a > id="manual.ext.parallel_mode.design"></a>Design</h2></div></div></div><p> > +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>Design</title><meta > name="generator" content="DocBook XSL Stylesheets Vsnapshot" /><meta > name="keywords" content="C++, library, parallel" /><meta name="keywords" > content="ISO C++, library" /><meta name="keywords" content="ISO C++, > runtime, library" /><link rel="home" href="../index.html" title="The GNU > C++ Library" /><link rel="up" href="parallel_mode.html" > title="Chapter 19. Parallel Mode" /><link rel="prev" > href="parallel_mode_using.html" title="Using" /><link rel="next" > href="parallel_mode_test.html" title="Testing" /></head><body><div > class="navheader"><table width="100%" summary="Navigation header"><tr><th > colspan="3" align="center">Design</th></tr><tr><td width="20%" > align="left"><a accesskey="p" > href="parallel_mode_using.html">Prev</a> </td><th width="60%" > align="center">Chapter 19. Parallel Mode</th><td width="20%" > align="right"> <a accesskey="n" > href="parallel_mode_test.html">Next</a></td></tr></table><hr /></div><div > class="section"><div class="titlepage"><div><div><h2 class="title" > style="clear: both"><a > id="manual.ext.parallel_mode.design"></a>Design</h2></div></div></div><p> > </p><div class="section"><div class="titlepage"><div><div><h3 > class="title"><a id="parallel_mode.design.intro"></a>Interface > Basics</h3></div></div></div><p> > All parallel algorithms are intended to have signatures that are > equivalent to the ISO C++ algorithms replaced. For instance, the > diff --git a/libstdc++-v3/doc/html/manual/parallel_mode_semantics.html > b/libstdc++-v3/doc/html/manual/parallel_mode_semantics.html > index dcc29736de41..e3629a36e004 100644 > --- a/libstdc++-v3/doc/html/manual/parallel_mode_semantics.html > +++ b/libstdc++-v3/doc/html/manual/parallel_mode_semantics.html > @@ -1,5 +1,5 @@ > <?xml version="1.0" encoding="UTF-8" standalone="no"?> > -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>Semantics</title><meta > name="generator" content="DocBook XSL Stylesheets Vsnapshot" /><meta > name="keywords" content="C++, library, parallel" /><meta name="keywords" > content="ISO C++, library" /><meta name="keywords" content="ISO C++, > runtime, library" /><link rel="home" href="../index.html" title="The GNU > C++ Library" /><link rel="up" href="parallel_mode.html" > title="Chapter 18. Parallel Mode" /><link rel="prev" > href="parallel_mode.html" title="Chapter 18. Parallel Mode" /><link > rel="next" href="parallel_mode_using.html" title="Using" > /></head><body><div class="navheader"><table width="100%" > summary="Navigation header"><tr><th colspan="3" > align="center">Semantics</th></tr><tr><td width="20%" align="left"><a > accesskey="p" href="parallel_mode.html">Prev</a> </td><th width="60%" > align="center">Chapter 18. Parallel Mode</th><td width="20%" > align="right"> <a accesskey="n" > href="parallel_mode_using.html">Next</a></td></tr></table><hr /></div><div > class="section"><div class="titlepage"><div><div><h2 class="title" > style="clear: both"><a > id="manual.ext.parallel_mode.semantics"></a>Semantics</h2></div></div></div><p> > The parallel mode STL algorithms are currently not exception-safe, > +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>Semantics</title><meta > name="generator" content="DocBook XSL Stylesheets Vsnapshot" /><meta > name="keywords" content="C++, library, parallel" /><meta name="keywords" > content="ISO C++, library" /><meta name="keywords" content="ISO C++, > runtime, library" /><link rel="home" href="../index.html" title="The GNU > C++ Library" /><link rel="up" href="parallel_mode.html" > title="Chapter 19. Parallel Mode" /><link rel="prev" > href="parallel_mode.html" title="Chapter 19. Parallel Mode" /><link > rel="next" href="parallel_mode_using.html" title="Using" > /></head><body><div class="navheader"><table width="100%" > summary="Navigation header"><tr><th colspan="3" > align="center">Semantics</th></tr><tr><td width="20%" align="left"><a > accesskey="p" href="parallel_mode.html">Prev</a> </td><th width="60%" > align="center">Chapter 19. Parallel Mode</th><td width="20%" > align="right"> <a accesskey="n" > href="parallel_mode_using.html">Next</a></td></tr></table><hr /></div><div > class="section"><div class="titlepage"><div><div><h2 class="title" > style="clear: both"><a > id="manual.ext.parallel_mode.semantics"></a>Semantics</h2></div></div></div><p> > The parallel mode STL algorithms are currently not exception-safe, > i.e. user-defined functors must not throw exceptions. > Also, the order of execution is not guaranteed for some functions, of > course. > Therefore, user-defined functors should not have any concurrent side > effects. > @@ -7,4 +7,4 @@ Therefore, user-defined functors should not have any > concurrent side effects. > OpenMP parallel regions in concurrent threads, > it is not possible to call parallel STL algorithm in > concurrent threads, either. > -It might work with other compilers, though.</p></div><div > class="navfooter"><hr /><table width="100%" summary="Navigation > footer"><tr><td width="40%" align="left"><a accesskey="p" > href="parallel_mode.html">Prev</a> </td><td width="20%" align="center"><a > accesskey="u" href="parallel_mode.html">Up</a></td><td width="40%" > align="right"> <a accesskey="n" > href="parallel_mode_using.html">Next</a></td></tr><tr><td width="40%" > align="left" valign="top">Chapter 18. Parallel Mode </td><td width="20%" > align="center"><a accesskey="h" href="../index.html">Home</a></td><td > width="40%" align="right" > valign="top"> Using</td></tr></table></div></body></html> > \ No newline at end of file > +It might work with other compilers, though.</p></div><div > class="navfooter"><hr /><table width="100%" summary="Navigation > footer"><tr><td width="40%" align="left"><a accesskey="p" > href="parallel_mode.html">Prev</a> </td><td width="20%" align="center"><a > accesskey="u" href="parallel_mode.html">Up</a></td><td width="40%" > align="right"> <a accesskey="n" > href="parallel_mode_using.html">Next</a></td></tr><tr><td width="40%" > align="left" valign="top">Chapter 19. Parallel Mode </td><td width="20%" > align="center"><a accesskey="h" href="../index.html">Home</a></td><td > width="40%" align="right" > valign="top"> Using</td></tr></table></div></body></html> > \ No newline at end of file > diff --git a/libstdc++-v3/doc/html/manual/parallel_mode_test.html > b/libstdc++-v3/doc/html/manual/parallel_mode_test.html > index 912c6ef2e813..59cb0ad2d2a0 100644 > --- a/libstdc++-v3/doc/html/manual/parallel_mode_test.html > +++ b/libstdc++-v3/doc/html/manual/parallel_mode_test.html > @@ -1,5 +1,5 @@ > <?xml version="1.0" encoding="UTF-8" standalone="no"?> > -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>Testing</title><meta > name="generator" content="DocBook XSL Stylesheets Vsnapshot" /><meta > name="keywords" content="C++, library, parallel" /><meta name="keywords" > content="ISO C++, library" /><meta name="keywords" content="ISO C++, > runtime, library" /><link rel="home" href="../index.html" title="The GNU > C++ Library" /><link rel="up" href="parallel_mode.html" > title="Chapter 18. Parallel Mode" /><link rel="prev" > href="parallel_mode_design.html" title="Design" /><link rel="next" > href="mt_allocator.html" title="Chapter 19. The mt_allocator" > /></head><body><div class="navheader"><table width="100%" > summary="Navigation header"><tr><th colspan="3" > align="center">Testing</th></tr><tr><td width="20%" align="left"><a > accesskey="p" href="parallel_mode_design.html">Prev</a> </td><th > width="60%" align="center">Chapter 18. Parallel Mode</th><td width="20%" > align="right"> <a accesskey="n" > href="mt_allocator.html">Next</a></td></tr></table><hr /></div><div > class="section"><div class="titlepage"><div><div><h2 class="title" > style="clear: both"><a > id="manual.ext.parallel_mode.test"></a>Testing</h2></div></div></div><p> > +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>Testing</title><meta > name="generator" content="DocBook XSL Stylesheets Vsnapshot" /><meta > name="keywords" content="C++, library, parallel" /><meta name="keywords" > content="ISO C++, library" /><meta name="keywords" content="ISO C++, > runtime, library" /><link rel="home" href="../index.html" title="The GNU > C++ Library" /><link rel="up" href="parallel_mode.html" > title="Chapter 19. Parallel Mode" /><link rel="prev" > href="parallel_mode_design.html" title="Design" /><link rel="next" > href="mt_allocator.html" title="Chapter 20. The mt_allocator" > /></head><body><div class="navheader"><table width="100%" > summary="Navigation header"><tr><th colspan="3" > align="center">Testing</th></tr><tr><td width="20%" align="left"><a > accesskey="p" href="parallel_mode_design.html">Prev</a> </td><th > width="60%" align="center">Chapter 19. Parallel Mode</th><td width="20%" > align="right"> <a accesskey="n" > href="mt_allocator.html">Next</a></td></tr></table><hr /></div><div > class="section"><div class="titlepage"><div><div><h2 class="title" > style="clear: both"><a > id="manual.ext.parallel_mode.test"></a>Testing</h2></div></div></div><p> > Both the normal conformance and regression tests and the > supplemental performance tests work. > </p><p> > @@ -22,4 +22,4 @@ > additional software dependencies than the usual bare-boned text > file, and can be generated by using the <code class="code">make > doc-performance</code> rule in the testsuite's Makefile. > -</p></div><div class="navfooter"><hr /><table width="100%" > summary="Navigation footer"><tr><td width="40%" align="left"><a > accesskey="p" href="parallel_mode_design.html">Prev</a> </td><td > width="20%" align="center"><a accesskey="u" > href="parallel_mode.html">Up</a></td><td width="40%" align="right"> <a > accesskey="n" href="mt_allocator.html">Next</a></td></tr><tr><td > width="40%" align="left" valign="top">Design </td><td width="20%" > align="center"><a accesskey="h" href="../index.html">Home</a></td><td > width="40%" align="right" valign="top"> Chapter 19. The > mt_allocator</td></tr></table></div></body></html> > \ No newline at end of file > +</p></div><div class="navfooter"><hr /><table width="100%" > summary="Navigation footer"><tr><td width="40%" align="left"><a > accesskey="p" href="parallel_mode_design.html">Prev</a> </td><td > width="20%" align="center"><a accesskey="u" > href="parallel_mode.html">Up</a></td><td width="40%" align="right"> <a > accesskey="n" href="mt_allocator.html">Next</a></td></tr><tr><td > width="40%" align="left" valign="top">Design </td><td width="20%" > align="center"><a accesskey="h" href="../index.html">Home</a></td><td > width="40%" align="right" valign="top"> Chapter 20. The > mt_allocator</td></tr></table></div></body></html> > \ No newline at end of file > diff --git a/libstdc++-v3/doc/html/manual/parallel_mode_using.html > b/libstdc++-v3/doc/html/manual/parallel_mode_using.html > index 38d629fe74fd..6b42c1bedd09 100644 > --- a/libstdc++-v3/doc/html/manual/parallel_mode_using.html > +++ b/libstdc++-v3/doc/html/manual/parallel_mode_using.html > @@ -1,5 +1,5 @@ > <?xml version="1.0" encoding="UTF-8" standalone="no"?> > -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>Using</title><meta > name="generator" content="DocBook XSL Stylesheets Vsnapshot" /><meta > name="keywords" content="C++, library, parallel" /><meta name="keywords" > content="ISO C++, library" /><meta name="keywords" content="ISO C++, > runtime, library" /><link rel="home" href="../index.html" title="The GNU > C++ Library" /><link rel="up" href="parallel_mode.html" > title="Chapter 18. Parallel Mode" /><link rel="prev" > href="parallel_mode_semantics.html" title="Semantics" /><link rel="next" > href="parallel_mode_design.html" title="Design" /></head><body><div > class="navheader"><table width="100%" summary="Navigation header"><tr><th > colspan="3" align="center">Using</th></tr><tr><td width="20%" > align="left"><a accesskey="p" > href="parallel_mode_semantics.html">Prev</a> </td><th width="60%" > align="center">Chapter 18. Parallel Mode</th><td width="20%" > align="right"> <a accesskey="n" > href="parallel_mode_design.html">Next</a></td></tr></table><hr /></div><div > class="section"><div class="titlepage"><div><div><h2 class="title" > style="clear: both"><a > id="manual.ext.parallel_mode.using"></a>Using</h2></div></div></div><div > class="section"><div class="titlepage"><div><div><h3 class="title"><a > id="parallel_mode.using.prereq_flags"></a>Prerequisite Compiler > Flags</h3></div></div></div><p> > +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>Using</title><meta > name="generator" content="DocBook XSL Stylesheets Vsnapshot" /><meta > name="keywords" content="C++, library, parallel" /><meta name="keywords" > content="ISO C++, library" /><meta name="keywords" content="ISO C++, > runtime, library" /><link rel="home" href="../index.html" title="The GNU > C++ Library" /><link rel="up" href="parallel_mode.html" > title="Chapter 19. Parallel Mode" /><link rel="prev" > href="parallel_mode_semantics.html" title="Semantics" /><link rel="next" > href="parallel_mode_design.html" title="Design" /></head><body><div > class="navheader"><table width="100%" summary="Navigation header"><tr><th > colspan="3" align="center">Using</th></tr><tr><td width="20%" > align="left"><a accesskey="p" > href="parallel_mode_semantics.html">Prev</a> </td><th width="60%" > align="center">Chapter 19. Parallel Mode</th><td width="20%" > align="right"> <a accesskey="n" > href="parallel_mode_design.html">Next</a></td></tr></table><hr /></div><div > class="section"><div class="titlepage"><div><div><h2 class="title" > style="clear: both"><a > id="manual.ext.parallel_mode.using"></a>Using</h2></div></div></div><div > class="section"><div class="titlepage"><div><div><h3 class="title"><a > id="parallel_mode.using.prereq_flags"></a>Prerequisite Compiler > Flags</h3></div></div></div><p> > Any use of parallel functionality requires additional compiler > and runtime support, in particular support for OpenMP. Adding this > support is > not difficult: just compile your application with the compiler > @@ -63,4 +63,4 @@ Then compile this code with the prerequisite compiler > flags > flags for atomic operations.) > </p><p> The following table provides the names and headers of all the > parallel algorithms that can be used in a similar manner: > -</p><div class="table"><a id="table.parallel_algos"></a><p > class="title"><strong>Table 18.1. Parallel Algorithms</strong></p><div > class="table-contents"><table class="table" summary="Parallel Algorithms" > border="1"><colgroup><col align="left" class="c1" /><col align="left" > class="c2" /><col align="left" class="c3" /><col align="left" class="c4" > /></colgroup><thead><tr><th align="left">Algorithm</th><th > align="left">Header</th><th align="left">Parallel algorithm</th><th > align="left">Parallel header</th></tr></thead><tbody><tr><td > align="left"><code class="function">std::accumulate</code></td><td > align="left"><code class="filename">numeric</code></td><td > align="left"><code > class="function">__gnu_parallel::accumulate</code></td><td > align="left"><code > class="filename">parallel/numeric</code></td></tr><tr><td > align="left"><code class="function">std::adjacent_difference</code></td><td > align="left"><code class="filename">numeric</code></td><td > align="left"><code > class="function">__gnu_parallel::adjacent_difference</code></td><td > align="left"><code > class="filename">parallel/numeric</code></td></tr><tr><td > align="left"><code class="function">std::inner_product</code></td><td > align="left"><code class="filename">numeric</code></td><td > align="left"><code > class="function">__gnu_parallel::inner_product</code></td><td > align="left"><code > class="filename">parallel/numeric</code></td></tr><tr><td > align="left"><code class="function">std::partial_sum</code></td><td > align="left"><code class="filename">numeric</code></td><td > align="left"><code > class="function">__gnu_parallel::partial_sum</code></td><td > align="left"><code > class="filename">parallel/numeric</code></td></tr><tr><td > align="left"><code class="function">std::adjacent_find</code></td><td > align="left"><code class="filename">algorithm</code></td><td > align="left"><code > class="function">__gnu_parallel::adjacent_find</code></td><td > align="left"><code > class="filename">parallel/algorithm</code></td></tr><tr><td > align="left"><code class="function">std::count</code></td><td > align="left"><code class="filename">algorithm</code></td><td > align="left"><code class="function">__gnu_parallel::count</code></td><td > align="left"><code > class="filename">parallel/algorithm</code></td></tr><tr><td > align="left"><code class="function">std::count_if</code></td><td > align="left"><code class="filename">algorithm</code></td><td > align="left"><code class="function">__gnu_parallel::count_if</code></td><td > align="left"><code > class="filename">parallel/algorithm</code></td></tr><tr><td > align="left"><code class="function">std::equal</code></td><td > align="left"><code class="filename">algorithm</code></td><td > align="left"><code class="function">__gnu_parallel::equal</code></td><td > align="left"><code > class="filename">parallel/algorithm</code></td></tr><tr><td > align="left"><code class="function">std::find</code></td><td > align="left"><code class="filename">algorithm</code></td><td > align="left"><code class="function">__gnu_parallel::find</code></td><td > align="left"><code > class="filename">parallel/algorithm</code></td></tr><tr><td > align="left"><code class="function">std::find_if</code></td><td > align="left"><code class="filename">algorithm</code></td><td > align="left"><code class="function">__gnu_parallel::find_if</code></td><td > align="left"><code > class="filename">parallel/algorithm</code></td></tr><tr><td > align="left"><code class="function">std::find_first_of</code></td><td > align="left"><code class="filename">algorithm</code></td><td > align="left"><code > class="function">__gnu_parallel::find_first_of</code></td><td > align="left"><code > class="filename">parallel/algorithm</code></td></tr><tr><td > align="left"><code class="function">std::for_each</code></td><td > align="left"><code class="filename">algorithm</code></td><td > align="left"><code class="function">__gnu_parallel::for_each</code></td><td > align="left"><code > class="filename">parallel/algorithm</code></td></tr><tr><td > align="left"><code class="function">std::generate</code></td><td > align="left"><code class="filename">algorithm</code></td><td > align="left"><code class="function">__gnu_parallel::generate</code></td><td > align="left"><code > class="filename">parallel/algorithm</code></td></tr><tr><td > align="left"><code class="function">std::generate_n</code></td><td > align="left"><code class="filename">algorithm</code></td><td > align="left"><code > class="function">__gnu_parallel::generate_n</code></td><td > align="left"><code > class="filename">parallel/algorithm</code></td></tr><tr><td > align="left"><code > class="function">std::lexicographical_compare</code></td><td > align="left"><code class="filename">algorithm</code></td><td > align="left"><code > class="function">__gnu_parallel::lexicographical_compare</code></td><td > align="left"><code > class="filename">parallel/algorithm</code></td></tr><tr><td > align="left"><code class="function">std::mismatch</code></td><td > align="left"><code class="filename">algorithm</code></td><td > align="left"><code class="function">__gnu_parallel::mismatch</code></td><td > align="left"><code > class="filename">parallel/algorithm</code></td></tr><tr><td > align="left"><code class="function">std::search</code></td><td > align="left"><code class="filename">algorithm</code></td><td > align="left"><code class="function">__gnu_parallel::search</code></td><td > align="left"><code > class="filename">parallel/algorithm</code></td></tr><tr><td > align="left"><code class="function">std::search_n</code></td><td > align="left"><code class="filename">algorithm</code></td><td > align="left"><code class="function">__gnu_parallel::search_n</code></td><td > align="left"><code > class="filename">parallel/algorithm</code></td></tr><tr><td > align="left"><code class="function">std::transform</code></td><td > align="left"><code class="filename">algorithm</code></td><td > align="left"><code > class="function">__gnu_parallel::transform</code></td><td > align="left"><code > class="filename">parallel/algorithm</code></td></tr><tr><td > align="left"><code class="function">std::replace</code></td><td > align="left"><code class="filename">algorithm</code></td><td > align="left"><code class="function">__gnu_parallel::replace</code></td><td > align="left"><code > class="filename">parallel/algorithm</code></td></tr><tr><td > align="left"><code class="function">std::replace_if</code></td><td > align="left"><code class="filename">algorithm</code></td><td > align="left"><code > class="function">__gnu_parallel::replace_if</code></td><td > align="left"><code > class="filename">parallel/algorithm</code></td></tr><tr><td > align="left"><code class="function">std::max_element</code></td><td > align="left"><code class="filename">algorithm</code></td><td > align="left"><code > class="function">__gnu_parallel::max_element</code></td><td > align="left"><code > class="filename">parallel/algorithm</code></td></tr><tr><td > align="left"><code class="function">std::merge</code></td><td > align="left"><code class="filename">algorithm</code></td><td > align="left"><code class="function">__gnu_parallel::merge</code></td><td > align="left"><code > class="filename">parallel/algorithm</code></td></tr><tr><td > align="left"><code class="function">std::min_element</code></td><td > align="left"><code class="filename">algorithm</code></td><td > align="left"><code > class="function">__gnu_parallel::min_element</code></td><td > align="left"><code > class="filename">parallel/algorithm</code></td></tr><tr><td > align="left"><code class="function">std::nth_element</code></td><td > align="left"><code class="filename">algorithm</code></td><td > align="left"><code > class="function">__gnu_parallel::nth_element</code></td><td > align="left"><code > class="filename">parallel/algorithm</code></td></tr><tr><td > align="left"><code class="function">std::partial_sort</code></td><td > align="left"><code class="filename">algorithm</code></td><td > align="left"><code > class="function">__gnu_parallel::partial_sort</code></td><td > align="left"><code > class="filename">parallel/algorithm</code></td></tr><tr><td > align="left"><code class="function">std::partition</code></td><td > align="left"><code class="filename">algorithm</code></td><td > align="left"><code > class="function">__gnu_parallel::partition</code></td><td > align="left"><code > class="filename">parallel/algorithm</code></td></tr><tr><td > align="left"><code class="function">std::random_shuffle</code></td><td > align="left"><code class="filename">algorithm</code></td><td > align="left"><code > class="function">__gnu_parallel::random_shuffle</code></td><td > align="left"><code > class="filename">parallel/algorithm</code></td></tr><tr><td > align="left"><code class="function">std::set_union</code></td><td > align="left"><code class="filename">algorithm</code></td><td > align="left"><code > class="function">__gnu_parallel::set_union</code></td><td > align="left"><code > class="filename">parallel/algorithm</code></td></tr><tr><td > align="left"><code class="function">std::set_intersection</code></td><td > align="left"><code class="filename">algorithm</code></td><td > align="left"><code > class="function">__gnu_parallel::set_intersection</code></td><td > align="left"><code > class="filename">parallel/algorithm</code></td></tr><tr><td > align="left"><code > class="function">std::set_symmetric_difference</code></td><td > align="left"><code class="filename">algorithm</code></td><td > align="left"><code > class="function">__gnu_parallel::set_symmetric_difference</code></td><td > align="left"><code > class="filename">parallel/algorithm</code></td></tr><tr><td > align="left"><code class="function">std::set_difference</code></td><td > align="left"><code class="filename">algorithm</code></td><td > align="left"><code > class="function">__gnu_parallel::set_difference</code></td><td > align="left"><code > class="filename">parallel/algorithm</code></td></tr><tr><td > align="left"><code class="function">std::sort</code></td><td > align="left"><code class="filename">algorithm</code></td><td > align="left"><code class="function">__gnu_parallel::sort</code></td><td > align="left"><code > class="filename">parallel/algorithm</code></td></tr><tr><td > align="left"><code class="function">std::stable_sort</code></td><td > align="left"><code class="filename">algorithm</code></td><td > align="left"><code > class="function">__gnu_parallel::stable_sort</code></td><td > align="left"><code > class="filename">parallel/algorithm</code></td></tr><tr><td > align="left"><code class="function">std::unique_copy</code></td><td > align="left"><code class="filename">algorithm</code></td><td > align="left"><code > class="function">__gnu_parallel::unique_copy</code></td><td > align="left"><code > class="filename">parallel/algorithm</code></td></tr></tbody></table></div></div><br > class="table-break" /></div></div><div class="navfooter"><hr /><table > width="100%" summary="Navigation footer"><tr><td width="40%" > align="left"><a accesskey="p" > href="parallel_mode_semantics.html">Prev</a> </td><td width="20%" > align="center"><a accesskey="u" href="parallel_mode.html">Up</a></td><td > width="40%" align="right"> <a accesskey="n" > href="parallel_mode_design.html">Next</a></td></tr><tr><td width="40%" > align="left" valign="top">Semantics </td><td width="20%" align="center"><a > accesskey="h" href="../index.html">Home</a></td><td width="40%" > align="right" valign="top"> Design</td></tr></table></div></body></html> > \ No newline at end of file > +</p><div class="table"><a id="table.parallel_algos"></a><p > class="title"><strong>Table 19.1. Parallel Algorithms</strong></p><div > class="table-contents"><table class="table" summary="Parallel Algorithms" > border="1"><colgroup><col align="left" class="c1" /><col align="left" > class="c2" /><col align="left" class="c3" /><col align="left" class="c4" > /></colgroup><thead><tr><th align="left">Algorithm</th><th > align="left">Header</th><th align="left">Parallel algorithm</th><th > align="left">Parallel header</th></tr></thead><tbody><tr><td > align="left"><code class="function">std::accumulate</code></td><td > align="left"><code class="filename">numeric</code></td><td > align="left"><code > class="function">__gnu_parallel::accumulate</code></td><td > align="left"><code > class="filename">parallel/numeric</code></td></tr><tr><td > align="left"><code class="function">std::adjacent_difference</code></td><td > align="left"><code class="filename">numeric</code></td><td > align="left"><code > class="function">__gnu_parallel::adjacent_difference</code></td><td > align="left"><code > class="filename">parallel/numeric</code></td></tr><tr><td > align="left"><code class="function">std::inner_product</code></td><td > align="left"><code class="filename">numeric</code></td><td > align="left"><code > class="function">__gnu_parallel::inner_product</code></td><td > align="left"><code > class="filename">parallel/numeric</code></td></tr><tr><td > align="left"><code class="function">std::partial_sum</code></td><td > align="left"><code class="filename">numeric</code></td><td > align="left"><code > class="function">__gnu_parallel::partial_sum</code></td><td > align="left"><code > class="filename">parallel/numeric</code></td></tr><tr><td > align="left"><code class="function">std::adjacent_find</code></td><td > align="left"><code class="filename">algorithm</code></td><td > align="left"><code > class="function">__gnu_parallel::adjacent_find</code></td><td > align="left"><code > class="filename">parallel/algorithm</code></td></tr><tr><td > align="left"><code class="function">std::count</code></td><td > align="left"><code class="filename">algorithm</code></td><td > align="left"><code class="function">__gnu_parallel::count</code></td><td > align="left"><code > class="filename">parallel/algorithm</code></td></tr><tr><td > align="left"><code class="function">std::count_if</code></td><td > align="left"><code class="filename">algorithm</code></td><td > align="left"><code class="function">__gnu_parallel::count_if</code></td><td > align="left"><code > class="filename">parallel/algorithm</code></td></tr><tr><td > align="left"><code class="function">std::equal</code></td><td > align="left"><code class="filename">algorithm</code></td><td > align="left"><code class="function">__gnu_parallel::equal</code></td><td > align="left"><code > class="filename">parallel/algorithm</code></td></tr><tr><td > align="left"><code class="function">std::find</code></td><td > align="left"><code class="filename">algorithm</code></td><td > align="left"><code class="function">__gnu_parallel::find</code></td><td > align="left"><code > class="filename">parallel/algorithm</code></td></tr><tr><td > align="left"><code class="function">std::find_if</code></td><td > align="left"><code class="filename">algorithm</code></td><td > align="left"><code class="function">__gnu_parallel::find_if</code></td><td > align="left"><code > class="filename">parallel/algorithm</code></td></tr><tr><td > align="left"><code class="function">std::find_first_of</code></td><td > align="left"><code class="filename">algorithm</code></td><td > align="left"><code > class="function">__gnu_parallel::find_first_of</code></td><td > align="left"><code > class="filename">parallel/algorithm</code></td></tr><tr><td > align="left"><code class="function">std::for_each</code></td><td > align="left"><code class="filename">algorithm</code></td><td > align="left"><code class="function">__gnu_parallel::for_each</code></td><td > align="left"><code > class="filename">parallel/algorithm</code></td></tr><tr><td > align="left"><code class="function">std::generate</code></td><td > align="left"><code class="filename">algorithm</code></td><td > align="left"><code class="function">__gnu_parallel::generate</code></td><td > align="left"><code > class="filename">parallel/algorithm</code></td></tr><tr><td > align="left"><code class="function">std::generate_n</code></td><td > align="left"><code class="filename">algorithm</code></td><td > align="left"><code > class="function">__gnu_parallel::generate_n</code></td><td > align="left"><code > class="filename">parallel/algorithm</code></td></tr><tr><td > align="left"><code > class="function">std::lexicographical_compare</code></td><td > align="left"><code class="filename">algorithm</code></td><td > align="left"><code > class="function">__gnu_parallel::lexicographical_compare</code></td><td > align="left"><code > class="filename">parallel/algorithm</code></td></tr><tr><td > align="left"><code class="function">std::mismatch</code></td><td > align="left"><code class="filename">algorithm</code></td><td > align="left"><code class="function">__gnu_parallel::mismatch</code></td><td > align="left"><code > class="filename">parallel/algorithm</code></td></tr><tr><td > align="left"><code class="function">std::search</code></td><td > align="left"><code class="filename">algorithm</code></td><td > align="left"><code class="function">__gnu_parallel::search</code></td><td > align="left"><code > class="filename">parallel/algorithm</code></td></tr><tr><td > align="left"><code class="function">std::search_n</code></td><td > align="left"><code class="filename">algorithm</code></td><td > align="left"><code class="function">__gnu_parallel::search_n</code></td><td > align="left"><code > class="filename">parallel/algorithm</code></td></tr><tr><td > align="left"><code class="function">std::transform</code></td><td > align="left"><code class="filename">algorithm</code></td><td > align="left"><code > class="function">__gnu_parallel::transform</code></td><td > align="left"><code > class="filename">parallel/algorithm</code></td></tr><tr><td > align="left"><code class="function">std::replace</code></td><td > align="left"><code class="filename">algorithm</code></td><td > align="left"><code class="function">__gnu_parallel::replace</code></td><td > align="left"><code > class="filename">parallel/algorithm</code></td></tr><tr><td > align="left"><code class="function">std::replace_if</code></td><td > align="left"><code class="filename">algorithm</code></td><td > align="left"><code > class="function">__gnu_parallel::replace_if</code></td><td > align="left"><code > class="filename">parallel/algorithm</code></td></tr><tr><td > align="left"><code class="function">std::max_element</code></td><td > align="left"><code class="filename">algorithm</code></td><td > align="left"><code > class="function">__gnu_parallel::max_element</code></td><td > align="left"><code > class="filename">parallel/algorithm</code></td></tr><tr><td > align="left"><code class="function">std::merge</code></td><td > align="left"><code class="filename">algorithm</code></td><td > align="left"><code class="function">__gnu_parallel::merge</code></td><td > align="left"><code > class="filename">parallel/algorithm</code></td></tr><tr><td > align="left"><code class="function">std::min_element</code></td><td > align="left"><code class="filename">algorithm</code></td><td > align="left"><code > class="function">__gnu_parallel::min_element</code></td><td > align="left"><code > class="filename">parallel/algorithm</code></td></tr><tr><td > align="left"><code class="function">std::nth_element</code></td><td > align="left"><code class="filename">algorithm</code></td><td > align="left"><code > class="function">__gnu_parallel::nth_element</code></td><td > align="left"><code > class="filename">parallel/algorithm</code></td></tr><tr><td > align="left"><code class="function">std::partial_sort</code></td><td > align="left"><code class="filename">algorithm</code></td><td > align="left"><code > class="function">__gnu_parallel::partial_sort</code></td><td > align="left"><code > class="filename">parallel/algorithm</code></td></tr><tr><td > align="left"><code class="function">std::partition</code></td><td > align="left"><code class="filename">algorithm</code></td><td > align="left"><code > class="function">__gnu_parallel::partition</code></td><td > align="left"><code > class="filename">parallel/algorithm</code></td></tr><tr><td > align="left"><code class="function">std::random_shuffle</code></td><td > align="left"><code class="filename">algorithm</code></td><td > align="left"><code > class="function">__gnu_parallel::random_shuffle</code></td><td > align="left"><code > class="filename">parallel/algorithm</code></td></tr><tr><td > align="left"><code class="function">std::set_union</code></td><td > align="left"><code class="filename">algorithm</code></td><td > align="left"><code > class="function">__gnu_parallel::set_union</code></td><td > align="left"><code > class="filename">parallel/algorithm</code></td></tr><tr><td > align="left"><code class="function">std::set_intersection</code></td><td > align="left"><code class="filename">algorithm</code></td><td > align="left"><code > class="function">__gnu_parallel::set_intersection</code></td><td > align="left"><code > class="filename">parallel/algorithm</code></td></tr><tr><td > align="left"><code > class="function">std::set_symmetric_difference</code></td><td > align="left"><code class="filename">algorithm</code></td><td > align="left"><code > class="function">__gnu_parallel::set_symmetric_difference</code></td><td > align="left"><code > class="filename">parallel/algorithm</code></td></tr><tr><td > align="left"><code class="function">std::set_difference</code></td><td > align="left"><code class="filename">algorithm</code></td><td > align="left"><code > class="function">__gnu_parallel::set_difference</code></td><td > align="left"><code > class="filename">parallel/algorithm</code></td></tr><tr><td > align="left"><code class="function">std::sort</code></td><td > align="left"><code class="filename">algorithm</code></td><td > align="left"><code class="function">__gnu_parallel::sort</code></td><td > align="left"><code > class="filename">parallel/algorithm</code></td></tr><tr><td > align="left"><code class="function">std::stable_sort</code></td><td > align="left"><code class="filename">algorithm</code></td><td > align="left"><code > class="function">__gnu_parallel::stable_sort</code></td><td > align="left"><code > class="filename">parallel/algorithm</code></td></tr><tr><td > align="left"><code class="function">std::unique_copy</code></td><td > align="left"><code class="filename">algorithm</code></td><td > align="left"><code > class="function">__gnu_parallel::unique_copy</code></td><td > align="left"><code > class="filename">parallel/algorithm</code></td></tr></tbody></table></div></div><br > class="table-break" /></div></div><div class="navfooter"><hr /><table > width="100%" summary="Navigation footer"><tr><td width="40%" > align="left"><a accesskey="p" > href="parallel_mode_semantics.html">Prev</a> </td><td width="20%" > align="center"><a accesskey="u" href="parallel_mode.html">Up</a></td><td > width="40%" align="right"> <a accesskey="n" > href="parallel_mode_design.html">Next</a></td></tr><tr><td width="40%" > align="left" valign="top">Semantics </td><td width="20%" align="center"><a > accesskey="h" href="../index.html">Home</a></td><td width="40%" > align="right" valign="top"> Design</td></tr></table></div></body></html> > \ No newline at end of file > diff --git > a/libstdc++-v3/doc/html/manual/policy_based_data_structures_test.html > b/libstdc++-v3/doc/html/manual/policy_based_data_structures_test.html > index 7585a59e3f4b..5ca2baa96043 100644 > --- a/libstdc++-v3/doc/html/manual/policy_based_data_structures_test.html > +++ b/libstdc++-v3/doc/html/manual/policy_based_data_structures_test.html > @@ -1,5 +1,5 @@ > <?xml version="1.0" encoding="UTF-8" standalone="no"?> > -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>Testing</title><meta > name="generator" content="DocBook XSL Stylesheets Vsnapshot" /><meta > name="keywords" content="ISO C++, policy, container, data, structure, > associated, tree, trie, hash, metaprogramming" /><meta name="keywords" > content="ISO C++, library" /><meta name="keywords" content="ISO C++, > runtime, library" /><link rel="home" href="../index.html" title="The GNU > C++ Library" /><link rel="up" href="policy_data_structures.html" > title="Chapter 21. Policy-Based Data Structures" /><link rel="prev" > href="policy_data_structures_design.html" title="Design" /><link rel="next" > href="policy_data_structures_ack.html" title="Acknowledgments" > /></head><body><div class="navheader"><table width="100%" > summary="Navigation header"><tr><th colspan="3" > align="center">Testing</th></tr><tr><td width="20%" align="left"><a > accesskey="p" href="policy_data_structures_design.html">Prev</a> </td><th > width="60%" align="center">Chapter 21. Policy-Based Data Structures</th><td > width="20%" align="right"> <a accesskey="n" > href="policy_data_structures_ack.html">Next</a></td></tr></table><hr > /></div><div class="section"><div class="titlepage"><div><div><h2 > class="title" style="clear: both"><a > id="pbds.test"></a>Testing</h2></div></div></div><div class="section"><div > class="titlepage"><div><div><h3 class="title"><a > id="pbds.test.regression"></a>Regression</h3></div></div></div><p>The > library contains a single comprehensive regression test. > +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>Testing</title><meta > name="generator" content="DocBook XSL Stylesheets Vsnapshot" /><meta > name="keywords" content="ISO C++, policy, container, data, structure, > associated, tree, trie, hash, metaprogramming" /><meta name="keywords" > content="ISO C++, library" /><meta name="keywords" content="ISO C++, > runtime, library" /><link rel="home" href="../index.html" title="The GNU > C++ Library" /><link rel="up" href="policy_data_structures.html" > title="Chapter 22. Policy-Based Data Structures" /><link rel="prev" > href="policy_data_structures_design.html" title="Design" /><link rel="next" > href="policy_data_structures_ack.html" title="Acknowledgments" > /></head><body><div class="navheader"><table width="100%" > summary="Navigation header"><tr><th colspan="3" > align="center">Testing</th></tr><tr><td width="20%" align="left"><a > accesskey="p" href="policy_data_structures_design.html">Prev</a> </td><th > width="60%" align="center">Chapter 22. Policy-Based Data Structures</th><td > width="20%" align="right"> <a accesskey="n" > href="policy_data_structures_ack.html">Next</a></td></tr></table><hr > /></div><div class="section"><div class="titlepage"><div><div><h2 > class="title" style="clear: both"><a > id="pbds.test"></a>Testing</h2></div></div></div><div class="section"><div > class="titlepage"><div><div><h3 class="title"><a > id="pbds.test.regression"></a>Regression</h3></div></div></div><p>The > library contains a single comprehensive regression test. > For a given container type in this library, the test creates > an object of the container type and an object of the > corresponding standard type (e.g., <code > class="classname">std::set</code>). It > diff --git a/libstdc++-v3/doc/html/manual/policy_data_structures.html > b/libstdc++-v3/doc/html/manual/policy_data_structures.html > index ba140809bbe0..9dfe9685d53a 100644 > --- a/libstdc++-v3/doc/html/manual/policy_data_structures.html > +++ b/libstdc++-v3/doc/html/manual/policy_data_structures.html > @@ -1,8 +1,8 @@ > <?xml version="1.0" encoding="UTF-8" standalone="no"?> > -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>Chapter 21. Policy-Based Data > Structures</title><meta name="generator" content="DocBook XSL Stylesheets > Vsnapshot" /><meta name="keywords" content="ISO C++, policy, container, > data, structure, associated, tree, trie, hash, metaprogramming" /><meta > name="keywords" content="ISO C++, library" /><meta name="keywords" > content="ISO C++, runtime, library" /><link rel="home" href="../index.html" > title="The GNU C++ Library" /><link rel="up" href="extensions.html" > title="Part III. Extensions" /><link rel="prev" > href="bitmap_allocator_impl.html" title="Implementation" /><link rel="next" > href="policy_data_structures_using.html" title="Using" /></head><body><div > class="navheader"><table width="100%" summary="Navigation header"><tr><th > colspan="3" align="center">Chapter 21. Policy-Based Data > Structures</th></tr><tr><td width="20%" align="left"><a accesskey="p" > href="bitmap_allocator_impl.html">Prev</a> </td><th width="60%" > align="center">Part III. > +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>Chapter 22. Policy-Based Data > Structures</title><meta name="generator" content="DocBook XSL Stylesheets > Vsnapshot" /><meta name="keywords" content="ISO C++, policy, container, > data, structure, associated, tree, trie, hash, metaprogramming" /><meta > name="keywords" content="ISO C++, library" /><meta name="keywords" > content="ISO C++, runtime, library" /><link rel="home" href="../index.html" > title="The GNU C++ Library" /><link rel="up" href="extensions.html" > title="Part III. Extensions" /><link rel="prev" > href="bitmap_allocator_impl.html" title="Implementation" /><link rel="next" > href="policy_data_structures_using.html" title="Using" /></head><body><div > class="navheader"><table width="100%" summary="Navigation header"><tr><th > colspan="3" align="center">Chapter 22. Policy-Based Data > Structures</th></tr><tr><td width="20%" align="left"><a accesskey="p" > href="bitmap_allocator_impl.html">Prev</a> </td><th width="60%" > align="center">Part III. > Extensions > > -</th><td width="20%" align="right"> <a accesskey="n" > href="policy_data_structures_using.html">Next</a></td></tr></table><hr > /></div><div class="chapter"><div class="titlepage"><div><div><h2 > class="title"><a > id="manual.ext.containers.pbds"></a>Chapter 21. Policy-Based Data > Structures</h2></div></div></div><div class="toc"><p><strong>Table of > Contents</strong></p><dl class="toc"><dt><span class="section"><a > href="policy_data_structures.html#pbds.intro">Intro</a></span></dt><dd><dl><dt><span > class="section"><a > href="policy_data_structures.html#pbds.intro.issues">Performance > Issues</a></span></dt><dd><dl><dt><span class="section"><a > href="policy_data_structures.html#pbds.intro.issues.associative">Associative</a></span></dt><dt><span > class="section"><a > href="policy_data_structures.html#pbds.intro.issues.priority_queue">Priority > Que</a></span></dt></dl></dd><dt><span class="section"><a > href="policy_data_structures.html#pbds.intro.motivation">Goals</a></span></dt><dd><dl><dt><span > class="section"><a > href="policy_data_structures.html#pbds.intro.motivation.associative">Associative</a></span></dt><dd><dl><dt><span > class="section"><a > href="policy_data_structures.html#motivation.associative.policy">Policy > Choices</a></span></dt><dt><span class="section"><a > href="policy_data_structures.html#motivation.associative.underlying">Underlying > Data Structures</a></span></dt><dt><span class="section"><a > href="policy_data_structures.html#motivation.associative.iterators">Iterators</a></span></dt><dt><span > class="section"><a > href="policy_data_structures.html#motivation.associative.functions">Functional</a></span></dt></dl></dd><dt><span > class="section"><a > href="policy_data_structures.html#pbds.intro.motivation.priority_queue">Priority > Queues</a></span></dt><dd><dl><dt><span class="section"><a > href="policy_data_structures.html#motivation.priority_queue.policy">Policy > Choices</a></span></dt><dt><span class="section"><a > href="policy_data_structures.html#motivation.priority_queue.underlying">Underlying > Data Structures</a></span></dt><dt><span class="section"><a > href="policy_data_structures.html#motivation.priority_queue.binary_heap">Binary > Heaps</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span > class="section"><a > href="policy_data_structures_using.html">Using</a></span></dt><dd><dl><dt><span > class="section"><a > href="policy_data_structures_using.html#pbds.using.prereq">Prerequisites</a></span></dt><dt><span > class="section"><a > href="policy_data_structures_using.html#pbds.using.organization">Organization</a></span></dt><dt><span > class="section"><a > href="policy_data_structures_using.html#pbds.using.tutorial">Tutorial</a></span></dt><dd><dl><dt><span > class="section"><a > href="policy_data_structures_using.html#pbds.using.tutorial.basic">Basic > Use</a></span></dt><dt><span class="section"><a > href="policy_data_structures_using.html#pbds.using.tutorial.configuring"> > +</th><td width="20%" align="right"> <a accesskey="n" > href="policy_data_structures_using.html">Next</a></td></tr></table><hr > /></div><div class="chapter"><div class="titlepage"><div><div><h2 > class="title"><a > id="manual.ext.containers.pbds"></a>Chapter 22. Policy-Based Data > Structures</h2></div></div></div><div class="toc"><p><strong>Table of > Contents</strong></p><dl class="toc"><dt><span class="section"><a > href="policy_data_structures.html#pbds.intro">Intro</a></span></dt><dd><dl><dt><span > class="section"><a > href="policy_data_structures.html#pbds.intro.issues">Performance > Issues</a></span></dt><dd><dl><dt><span class="section"><a > href="policy_data_structures.html#pbds.intro.issues.associative">Associative</a></span></dt><dt><span > class="section"><a > href="policy_data_structures.html#pbds.intro.issues.priority_queue">Priority > Que</a></span></dt></dl></dd><dt><span class="section"><a > href="policy_data_structures.html#pbds.intro.motivation">Goals</a></span></dt><dd><dl><dt><span > class="section"><a > href="policy_data_structures.html#pbds.intro.motivation.associative">Associative</a></span></dt><dd><dl><dt><span > class="section"><a > href="policy_data_structures.html#motivation.associative.policy">Policy > Choices</a></span></dt><dt><span class="section"><a > href="policy_data_structures.html#motivation.associative.underlying">Underlying > Data Structures</a></span></dt><dt><span class="section"><a > href="policy_data_structures.html#motivation.associative.iterators">Iterators</a></span></dt><dt><span > class="section"><a > href="policy_data_structures.html#motivation.associative.functions">Functional</a></span></dt></dl></dd><dt><span > class="section"><a > href="policy_data_structures.html#pbds.intro.motivation.priority_queue">Priority > Queues</a></span></dt><dd><dl><dt><span class="section"><a > href="policy_data_structures.html#motivation.priority_queue.policy">Policy > Choices</a></span></dt><dt><span class="section"><a > href="policy_data_structures.html#motivation.priority_queue.underlying">Underlying > Data Structures</a></span></dt><dt><span class="section"><a > href="policy_data_structures.html#motivation.priority_queue.binary_heap">Binary > Heaps</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span > class="section"><a > href="policy_data_structures_using.html">Using</a></span></dt><dd><dl><dt><span > class="section"><a > href="policy_data_structures_using.html#pbds.using.prereq">Prerequisites</a></span></dt><dt><span > class="section"><a > href="policy_data_structures_using.html#pbds.using.organization">Organization</a></span></dt><dt><span > class="section"><a > href="policy_data_structures_using.html#pbds.using.tutorial">Tutorial</a></span></dt><dd><dl><dt><span > class="section"><a > href="policy_data_structures_using.html#pbds.using.tutorial.basic">Basic > Use</a></span></dt><dt><span class="section"><a > href="policy_data_structures_using.html#pbds.using.tutorial.configuring"> > Configuring via Template Parameters > </a></span></dt><dt><span class="section"><a > href="policy_data_structures_using.html#pbds.using.tutorial.traits"> > Querying Container Attributes > @@ -248,7 +248,7 @@ > these invariants, one must supply some policy that is aware > of these changes. Without this, it would be better to use > a > linked list (in itself very efficient for these purposes). > - </p></li></ol></div><div class="figure"><a > id="id-1.3.5.8.2.5.3.3.4"></a><p class="title"><strong>Figure 21.1. Node > Invariants</strong></p><div class="figure-contents"><div > class="mediaobject" align="center"><img > src="../images/pbds_node_invariants.png" align="middle" alt="Node > Invariants" /></div></div></div><br class="figure-break" /></div><div > class="section"><div class="titlepage"><div><div><h5 class="title"><a > id="motivation.associative.underlying"></a>Underlying Data > Structures</h5></div></div></div><p> > + </p></li></ol></div><div class="figure"><a > id="id-1.3.5.8.2.5.3.3.4"></a><p class="title"><strong>Figure 22.1. Node > Invariants</strong></p><div class="figure-contents"><div > class="mediaobject" align="center"><img > src="../images/pbds_node_invariants.png" align="middle" alt="Node > Invariants" /></div></div></div><br class="figure-break" /></div><div > class="section"><div class="titlepage"><div><div><h5 class="title"><a > id="motivation.associative.underlying"></a>Underlying Data > Structures</h5></div></div></div><p> > The standard C++ library contains associative containers based > on > red-black trees and collision-chaining hash tables. These are > very useful, but they are not ideal for all types of > @@ -256,7 +256,7 @@ > </p><p> > The figure below shows the different underlying data structures > currently supported in this library. > - </p><div class="figure"><a id="id-1.3.5.8.2.5.3.4.4"></a><p > class="title"><strong>Figure 21.2. Underlying Associative Data > Structures</strong></p><div class="figure-contents"><div > class="mediaobject" align="center"><img > src="../images/pbds_different_underlying_dss_1.png" align="middle" > alt="Underlying Associative Data Structures" /></div></div></div><br > class="figure-break" /><p> > + </p><div class="figure"><a id="id-1.3.5.8.2.5.3.4.4"></a><p > class="title"><strong>Figure 22.2. Underlying Associative Data > Structures</strong></p><div class="figure-contents"><div > class="mediaobject" align="center"><img > src="../images/pbds_different_underlying_dss_1.png" align="middle" > alt="Underlying Associative Data Structures" /></div></div></div><br > class="figure-break" /><p> > A shows a collision-chaining hash-table, B shows a probing > hash-table, C shows a red-black tree, D shows a splay tree, E > shows > a tree based on an ordered vector(implicit in the order of the > @@ -372,7 +372,7 @@ > no guarantee that the elements traversed will coincide with > the > <span class="emphasis"><em>logical</em></span> elements > between 1 and 5, as in > label B. > - </p><div class="figure"><a id="id-1.3.5.8.2.5.3.5.4.5"></a><p > class="title"><strong>Figure 21.3. Range Iteration in Different Data > Structures</strong></p><div class="figure-contents"><div > class="mediaobject" align="center"><img > src="../images/pbds_point_iterators_range_ops_1.png" align="middle" > alt="Node Invariants" /></div></div></div><br class="figure-break" /><p> > + </p><div class="figure"><a id="id-1.3.5.8.2.5.3.5.4.5"></a><p > class="title"><strong>Figure 22.3. Range Iteration in Different Data > Structures</strong></p><div class="figure-contents"><div > class="mediaobject" align="center"><img > src="../images/pbds_point_iterators_range_ops_1.png" align="middle" > alt="Node Invariants" /></div></div></div><br class="figure-break" /><p> > In our opinion, this problem is not caused just because > red-black trees are order preserving while > collision-chaining hash tables are (generally) not - it > @@ -423,7 +423,7 @@ > list, as in the graphic below, label B. Here the iterators > are as > light as can be, but the hash-table's operations are more > complicated. > - </p><div class="figure"><a id="id-1.3.5.8.2.5.3.5.5.7"></a><p > class="title"><strong>Figure 21.4. Point Iteration in Hash Data > Structures</strong></p><div class="figure-contents"><div > class="mediaobject" align="center"><img > src="../images/pbds_point_iterators_range_ops_2.png" align="middle" > alt="Point Iteration in Hash Data Structures" /></div></div></div><br > class="figure-break" /><p> > + </p><div class="figure"><a id="id-1.3.5.8.2.5.3.5.5.7"></a><p > class="title"><strong>Figure 22.4. Point Iteration in Hash Data > Structures</strong></p><div class="figure-contents"><div > class="mediaobject" align="center"><img > src="../images/pbds_point_iterators_range_ops_2.png" align="middle" > alt="Point Iteration in Hash Data Structures" /></div></div></div><br > class="figure-break" /><p> > It should be noted that containers based on > collision-chaining > hash-tables are not the only ones with this type of behavior; > many other self-organizing data structures display it as > well. > @@ -439,7 +439,7 @@ > container. The graphic below shows three cases: A1 and A2 > show > a red-black tree; B1 and B2 show a probing hash-table; C1 > and C2 > show a collision-chaining hash table. > - </p><div class="figure"><a id="id-1.3.5.8.2.5.3.5.6.6"></a><p > class="title"><strong>Figure 21.5. Effect of erase in different underlying > data structures</strong></p><div class="figure-contents"><div > class="mediaobject" align="center"><img > src="../images/pbds_invalidation_guarantee_erase.png" align="middle" > alt="Effect of erase in different underlying data structures" > /></div></div></div><br class="figure-break" /><div class="orderedlist"><ol > class="orderedlist" type="1"><li class="listitem"><p> > + </p><div class="figure"><a id="id-1.3.5.8.2.5.3.5.6.6"></a><p > class="title"><strong>Figure 22.5. Effect of erase in different underlying > data structures</strong></p><div class="figure-contents"><div > class="mediaobject" align="center"><img > src="../images/pbds_invalidation_guarantee_erase.png" align="middle" > alt="Effect of erase in different underlying data structures" > /></div></div></div><br class="figure-break" /><div class="orderedlist"><ol > class="orderedlist" type="1"><li class="listitem"><p> > Erasing 5 from A1 yields A2. Clearly, an iterator to 3 > can > be de-referenced and incremented. The sequence of > iterators > changed, but in a way that is well-defined by the > interface. > @@ -675,7 +675,7 @@ > typically less structured than an associative container's tree; > the third simply uses an associative container. These are > shown in the figure below with labels A1 and A2, B, and C. > - </p><div class="figure"><a id="id-1.3.5.8.2.5.4.3.3"></a><p > class="title"><strong>Figure 21.6. Underlying Priority Queue Data > Structures</strong></p><div class="figure-contents"><div > class="mediaobject" align="center"><img > src="../images/pbds_different_underlying_dss_2.png" align="middle" > alt="Underlying Priority Queue Data Structures" /></div></div></div><br > class="figure-break" /><p> > + </p><div class="figure"><a id="id-1.3.5.8.2.5.4.3.3"></a><p > class="title"><strong>Figure 22.6. Underlying Priority Queue Data > Structures</strong></p><div class="figure-contents"><div > class="mediaobject" align="center"><img > src="../images/pbds_different_underlying_dss_2.png" align="middle" > alt="Underlying Priority Queue Data Structures" /></div></div></div><br > class="figure-break" /><p> > No single implementation can completely replace any of the > others. Some have better <code class="function">push</code> > and <code class="function">pop</code> amortized performance, > some have > diff --git a/libstdc++-v3/doc/html/manual/policy_data_structures_ack.html > b/libstdc++-v3/doc/html/manual/policy_data_structures_ack.html > index e8a8dceaa7ab..55fbb4d2c92c 100644 > --- a/libstdc++-v3/doc/html/manual/policy_data_structures_ack.html > +++ b/libstdc++-v3/doc/html/manual/policy_data_structures_ack.html > @@ -1,5 +1,5 @@ > <?xml version="1.0" encoding="UTF-8" standalone="no"?> > -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>Acknowledgments</title><meta > name="generator" content="DocBook XSL Stylesheets Vsnapshot" /><meta > name="keywords" content="ISO C++, policy, container, data, structure, > associated, tree, trie, hash, metaprogramming" /><meta name="keywords" > content="ISO C++, library" /><meta name="keywords" content="ISO C++, > runtime, library" /><link rel="home" href="../index.html" title="The GNU > C++ Library" /><link rel="up" href="policy_data_structures.html" > title="Chapter 21. Policy-Based Data Structures" /><link rel="prev" > href="policy_based_data_structures_test.html" title="Testing" /><link > rel="next" href="ext_containers.html" title="Chapter 22. HP/SGI Extensions" > /></head><body><div class="navheader"><table width="100%" > summary="Navigation header"><tr><th colspan="3" > align="center">Acknowledgments</th></tr><tr><td width="20%" align="left"><a > accesskey="p" > href="policy_based_data_structures_test.html">Prev</a> </td><th width="60%" > align="center">Chapter 21. Policy-Based Data Structures</th><td width="20%" > align="right"> <a accesskey="n" > href="ext_containers.html">Next</a></td></tr></table><hr /></div><div > class="section"><div class="titlepage"><div><div><h2 class="title" > style="clear: both"><a > id="pbds.ack"></a>Acknowledgments</h2></div></div></div><p> > +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>Acknowledgments</title><meta > name="generator" content="DocBook XSL Stylesheets Vsnapshot" /><meta > name="keywords" content="ISO C++, policy, container, data, structure, > associated, tree, trie, hash, metaprogramming" /><meta name="keywords" > content="ISO C++, library" /><meta name="keywords" content="ISO C++, > runtime, library" /><link rel="home" href="../index.html" title="The GNU > C++ Library" /><link rel="up" href="policy_data_structures.html" > title="Chapter 22. Policy-Based Data Structures" /><link rel="prev" > href="policy_based_data_structures_test.html" title="Testing" /><link > rel="next" href="ext_containers.html" title="Chapter 23. HP/SGI Extensions" > /></head><body><div class="navheader"><table width="100%" > summary="Navigation header"><tr><th colspan="3" > align="center">Acknowledgments</th></tr><tr><td width="20%" align="left"><a > accesskey="p" > href="policy_based_data_structures_test.html">Prev</a> </td><th width="60%" > align="center">Chapter 22. Policy-Based Data Structures</th><td width="20%" > align="right"> <a accesskey="n" > href="ext_containers.html">Next</a></td></tr></table><hr /></div><div > class="section"><div class="titlepage"><div><div><h2 class="title" > style="clear: both"><a > id="pbds.ack"></a>Acknowledgments</h2></div></div></div><p> > Written by Ami Tavory and Vladimir Dreizin (IBM Haifa Research > Laboratories), and Benjamin Kosnik (Red Hat). > </p><p> > @@ -24,4 +24,4 @@ > attributing to him any flaws in the design or implementation of the > library). > </p><p>We would like to thank Matt Austern for the suggestion to > - include tries.</p></div><div class="navfooter"><hr /><table > width="100%" summary="Navigation footer"><tr><td width="40%" > align="left"><a accesskey="p" > href="policy_based_data_structures_test.html">Prev</a> </td><td width="20%" > align="center"><a accesskey="u" > href="policy_data_structures.html">Up</a></td><td width="40%" > align="right"> <a accesskey="n" > href="ext_containers.html">Next</a></td></tr><tr><td width="40%" > align="left" valign="top">Testing </td><td width="20%" align="center"><a > accesskey="h" href="../index.html">Home</a></td><td width="40%" > align="right" valign="top"> Chapter 22. HP/SGI > Extensions</td></tr></table></div></body></html> > \ No newline at end of file > + include tries.</p></div><div class="navfooter"><hr /><table > width="100%" summary="Navigation footer"><tr><td width="40%" > align="left"><a accesskey="p" > href="policy_based_data_structures_test.html">Prev</a> </td><td width="20%" > align="center"><a accesskey="u" > href="policy_data_structures.html">Up</a></td><td width="40%" > align="right"> <a accesskey="n" > href="ext_containers.html">Next</a></td></tr><tr><td width="40%" > align="left" valign="top">Testing </td><td width="20%" align="center"><a > accesskey="h" href="../index.html">Home</a></td><td width="40%" > align="right" valign="top"> Chapter 23. HP/SGI > Extensions</td></tr></table></div></body></html> > \ No newline at end of file > diff --git > a/libstdc++-v3/doc/html/manual/policy_data_structures_design.html > b/libstdc++-v3/doc/html/manual/policy_data_structures_design.html > index 4e986f3f7010..a84551e38dbe 100644 > --- a/libstdc++-v3/doc/html/manual/policy_data_structures_design.html > +++ b/libstdc++-v3/doc/html/manual/policy_data_structures_design.html > @@ -1,5 +1,5 @@ > <?xml version="1.0" encoding="UTF-8" standalone="no"?> > -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>Design</title><meta > name="generator" content="DocBook XSL Stylesheets Vsnapshot" /><meta > name="keywords" content="ISO C++, policy, container, data, structure, > associated, tree, trie, hash, metaprogramming" /><meta name="keywords" > content="ISO C++, library" /><meta name="keywords" content="ISO C++, > runtime, library" /><link rel="home" href="../index.html" title="The GNU > C++ Library" /><link rel="up" href="policy_data_structures.html" > title="Chapter 21. Policy-Based Data Structures" /><link rel="prev" > href="policy_data_structures_using.html" title="Using" /><link rel="next" > href="policy_based_data_structures_test.html" title="Testing" > /></head><body><div class="navheader"><table width="100%" > summary="Navigation header"><tr><th colspan="3" > align="center">Design</th></tr><tr><td width="20%" align="left"><a > accesskey="p" href="policy_data_structures_using.html">Prev</a> </td><th > width="60%" align="center">Chapter 21. Policy-Based Data Structures</th><td > width="20%" align="right"> <a accesskey="n" > href="policy_based_data_structures_test.html">Next</a></td></tr></table><hr > /></div><div class="section"><div class="titlepage"><div><div><h2 > class="title" style="clear: both"><a > id="containers.pbds.design"></a>Design</h2></div></div></div><p></p><div > class="section"><div class="titlepage"><div><div><h3 class="title"><a > id="pbds.design.concepts"></a>Concepts</h3></div></div></div><div > class="section"><div class="titlepage"><div><div><h4 class="title"><a > id="pbds.design.concepts.null_type"></a>Null Policy > Classes</h4></div></div></div><p> > +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>Design</title><meta > name="generator" content="DocBook XSL Stylesheets Vsnapshot" /><meta > name="keywords" content="ISO C++, policy, container, data, structure, > associated, tree, trie, hash, metaprogramming" /><meta name="keywords" > content="ISO C++, library" /><meta name="keywords" content="ISO C++, > runtime, library" /><link rel="home" href="../index.html" title="The GNU > C++ Library" /><link rel="up" href="policy_data_structures.html" > title="Chapter 22. Policy-Based Data Structures" /><link rel="prev" > href="policy_data_structures_using.html" title="Using" /><link rel="next" > href="policy_based_data_structures_test.html" title="Testing" > /></head><body><div class="navheader"><table width="100%" > summary="Navigation header"><tr><th colspan="3" > align="center">Design</th></tr><tr><td width="20%" align="left"><a > accesskey="p" href="policy_data_structures_using.html">Prev</a> </td><th > width="60%" align="center">Chapter 22. Policy-Based Data Structures</th><td > width="20%" align="right"> <a accesskey="n" > href="policy_based_data_structures_test.html">Next</a></td></tr></table><hr > /></div><div class="section"><div class="titlepage"><div><div><h2 > class="title" style="clear: both"><a > id="containers.pbds.design"></a>Design</h2></div></div></div><p></p><div > class="section"><div class="titlepage"><div><div><h3 class="title"><a > id="pbds.design.concepts"></a>Concepts</h3></div></div></div><div > class="section"><div class="titlepage"><div><div><h4 class="title"><a > id="pbds.design.concepts.null_type"></a>Null Policy > Classes</h4></div></div></div><p> > Associative containers are typically parametrized by various > policies. For example, a hash-based associative container is > parametrized by a hash-functor, transforming each key into an > @@ -170,7 +170,7 @@ > naturally; collision-chaining hash tables (label B) store > equivalent-key values in the same bucket, the bucket can be > arranged so that equivalent-key values are consecutive. > - </p><div class="figure"><a id="id-1.3.5.8.4.3.3.3.14"></a><p > class="title"><strong>Figure 21.8. Non-unique Mapping Standard > Containers</strong></p><div class="figure-contents"><div > class="mediaobject" align="center"><img > src="../images/pbds_embedded_lists_1.png" align="middle" alt="Non-unique > Mapping Standard Containers" /></div></div></div><br class="figure-break" > /><p> > + </p><div class="figure"><a id="id-1.3.5.8.4.3.3.3.14"></a><p > class="title"><strong>Figure 22.8. Non-unique Mapping Standard > Containers</strong></p><div class="figure-contents"><div > class="mediaobject" align="center"><img > src="../images/pbds_embedded_lists_1.png" align="middle" alt="Non-unique > Mapping Standard Containers" /></div></div></div><br class="figure-break" > /><p> > Put differently, the standards' non-unique mapping > associative-containers are associative containers that map > primary keys to linked lists that are embedded into the > @@ -178,7 +178,7 @@ > containers from the first graphic above, this time with > the embedded linked lists of the grayed nodes marked > explicitly. > - </p><div class="figure"><a id="fig.pbds_embedded_lists_2"></a><p > class="title"><strong>Figure 21.9. > + </p><div class="figure"><a id="fig.pbds_embedded_lists_2"></a><p > class="title"><strong>Figure 22.9. > Effect of embedded lists in > <code class="classname">std::multimap</code> > </strong></p><div class="figure-contents"><div > class="mediaobject" align="center"><img > src="../images/pbds_embedded_lists_2.png" align="middle" alt="Effect of > embedded lists in std::multimap" /></div></div></div><br > class="figure-break" /><p> > @@ -252,7 +252,7 @@ > first graphic above. Labels A and B, respectively. Each shaded > box represents some size-type or secondary > associative-container. > - </p><div class="figure"><a id="id-1.3.5.8.4.3.3.3.23"></a><p > class="title"><strong>Figure 21.10. Non-unique Mapping > Containers</strong></p><div class="figure-contents"><div > class="mediaobject" align="center"><img > src="../images/pbds_embedded_lists_3.png" align="middle" alt="Non-unique > Mapping Containers" /></div></div></div><br class="figure-break" /><p> > + </p><div class="figure"><a id="id-1.3.5.8.4.3.3.3.23"></a><p > class="title"><strong>Figure 22.10. Non-unique Mapping > Containers</strong></p><div class="figure-contents"><div > class="mediaobject" align="center"><img > src="../images/pbds_embedded_lists_3.png" align="middle" alt="Non-unique > Mapping Containers" /></div></div></div><br class="figure-break" /><p> > In the first example above, then, one would use an associative > container mapping each user to an associative container which > maps each application id to a start time (see > @@ -305,7 +305,7 @@ > shows invariants for order-preserving containers: point-type > iterators are synonymous with range-type iterators. > Orthogonally, <span class="emphasis"><em>C</em></span>shows > invariants for "set" > - containers: iterators are synonymous with const iterators.</p><div > class="figure"><a id="id-1.3.5.8.4.3.4.3.5"></a><p > class="title"><strong>Figure 21.11. Point Iterator > Hierarchy</strong></p><div class="figure-contents"><div class="mediaobject" > align="center"><img src="../images/pbds_point_iterator_hierarchy.png" > align="middle" alt="Point Iterator Hierarchy" /></div></div></div><br > class="figure-break" /><p>Note that point-type iterators in self-organizing > containers > + containers: iterators are synonymous with const iterators.</p><div > class="figure"><a id="id-1.3.5.8.4.3.4.3.5"></a><p > class="title"><strong>Figure 22.11. Point Iterator > Hierarchy</strong></p><div class="figure-contents"><div class="mediaobject" > align="center"><img src="../images/pbds_point_iterator_hierarchy.png" > align="middle" alt="Point Iterator Hierarchy" /></div></div></div><br > class="figure-break" /><p>Note that point-type iterators in self-organizing > containers > (hash-based associative containers) lack movement > operators, such as <code class="literal">operator++</code> - in > fact, this > is the reason why this library differentiates from the standard > C++ librarys > @@ -344,7 +344,7 @@ > to the question of whether point-type iterators and range-type > iterators are valid. The graphic below shows tags corresponding > to > different types of invalidation guarantees. > - </p><div class="figure"><a id="id-1.3.5.8.4.3.4.4.5"></a><p > class="title"><strong>Figure 21.12. Invalidation Guarantee Tags > Hierarchy</strong></p><div class="figure-contents"><div class="mediaobject" > align="center"><img src="../images/pbds_invalidation_tag_hierarchy.png" > align="middle" alt="Invalidation Guarantee Tags Hierarchy" > /></div></div></div><br class="figure-break" /><div > class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; > "><li class="listitem"><p> > + </p><div class="figure"><a id="id-1.3.5.8.4.3.4.4.5"></a><p > class="title"><strong>Figure 22.12. Invalidation Guarantee Tags > Hierarchy</strong></p><div class="figure-contents"><div class="mediaobject" > align="center"><img src="../images/pbds_invalidation_tag_hierarchy.png" > align="middle" alt="Invalidation Guarantee Tags Hierarchy" > /></div></div></div><br class="figure-break" /><div > class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; > "><li class="listitem"><p> > <code class="classname">basic_invalidation_guarantee</code> > corresponds to a basic guarantee that a point-type iterator, > a found pointer, or a found reference, remains valid as long > @@ -428,7 +428,7 @@ > </p><p> > This library contains a container tag hierarchy corresponding to > the > diagram below. > - </p><div class="figure"><a id="id-1.3.5.8.4.3.5.7.4"></a><p > class="title"><strong>Figure 21.13. Container Tag > Hierarchy</strong></p><div class="figure-contents"><div class="mediaobject" > align="center"><img src="../images/pbds_container_tag_hierarchy.png" > align="middle" alt="Container Tag Hierarchy" /></div></div></div><br > class="figure-break" /><p> > + </p><div class="figure"><a id="id-1.3.5.8.4.3.5.7.4"></a><p > class="title"><strong>Figure 22.13. Container Tag > Hierarchy</strong></p><div class="figure-contents"><div class="mediaobject" > align="center"><img src="../images/pbds_container_tag_hierarchy.png" > align="middle" alt="Container Tag Hierarchy" /></div></div></div><br > class="figure-break" /><p> > Given any container <span class="type">Cntnr</span>, the tag of > the underlying data structure can be found via <code > class="literal">typename > Cntnr::container_category</code>. > @@ -487,7 +487,7 @@ > collision-chaining container, except for the following.</p><div > class="orderedlist"><ol class="orderedlist" type="1"><li > class="listitem"><p><code class="classname">Comb_Probe_Fn</code> describes > how to transform a probe > sequence into a sequence of positions within the > table.</p></li><li class="listitem"><p><code > class="classname">Probe_Fn</code> describes a probe sequence > policy.</p></li></ol></div><p>Some of the default template values depend on > the values of > other parameters, and are explained below.</p></div><div > class="section"><div class="titlepage"><div><div><h5 class="title"><a > id="container.hash.details"></a>Details</h5></div></div></div><div > class="section"><div class="titlepage"><div><div><h6 class="title"><a > id="container.hash.details.hash_policies"></a>Hash > Policies</h6></div></div></div><div class="section"><div > class="titlepage"><div><div><h6 class="title"><a > id="details.hash_policies.general"></a>General</h6></div></div></div><p>Following > is an explanation of some functions which hashing > - involves. The graphic below illustrates the > discussion.</p><div class="figure"><a id="id-1.3.5.8.4.4.2.3.2.2.3"></a><p > class="title"><strong>Figure 21.14. Hash functions, ranged-hash functions, > and > + involves. The graphic below illustrates the > discussion.</p><div class="figure"><a id="id-1.3.5.8.4.4.2.3.2.2.3"></a><p > class="title"><strong>Figure 22.14. Hash functions, ranged-hash functions, > and > range-hashing functions</strong></p><div > class="figure-contents"><div class="mediaobject" align="center"><img > src="../images/pbds_hash_ranged_hash_range_hashing_fns.png" align="middle" > alt="Hash functions, ranged-hash functions, and range-hashing functions" > /></div></div></div><br class="figure-break" /><p>Let U be a domain (e.g., > the integers, or the > strings of 3 characters). A hash-table algorithm needs to map > elements of U "uniformly" into the range [0,..., m - > @@ -504,7 +504,7 @@ > Z<sub>+</sub>,</p><p>which maps a non-negative hash value, and > a non-negative > range upper-bound into a non-negative integral in the range > between 0 (inclusive) and the range upper bound (exclusive), > - i.e., for any r in Z<sub>+</sub>,</p><p>0 ≤ g(r, m) ≤ m - > 1</p><p>The resulting ranged-hash function, is</p><div class="equation"><a > id="id-1.3.5.8.4.4.2.3.2.2.15"></a><p > class="title"><strong>Equation 21.1. Ranged Hash Function</strong></p><div > class="equation-contents"><span class="mathphrase"> > + i.e., for any r in Z<sub>+</sub>,</p><p>0 ≤ g(r, m) ≤ m - > 1</p><p>The resulting ranged-hash function, is</p><div class="equation"><a > id="id-1.3.5.8.4.4.2.3.2.2.15"></a><p > class="title"><strong>Equation 22.1. Ranged Hash Function</strong></p><div > class="equation-contents"><span class="mathphrase"> > f(u , m) = g(h(u), m) > </span></div></div><br class="equation-break" /><p>From the > above, it is obvious that given g and > h, f can always be composed (however the converse > @@ -524,7 +524,7 @@ > transforming the sequence of hash values into a sequence of > positions.</p></div><div class="section"><div > class="titlepage"><div><div><h6 class="title"><a > id="details.hash_policies.range"></a>Range > Hashing</h6></div></div></div><p>Some common choices for range-hashing > functions are the > division, multiplication, and middle-square methods (<a > class="xref" href="policy_data_structures.html#biblio.knuth98sorting" > title="The Art of Computer Programming - Sorting and > Searching">[biblio.knuth98sorting]</a>), defined > - as</p><div class="equation"><a > id="id-1.3.5.8.4.4.2.3.2.3.3"></a><p > class="title"><strong>Equation 21.2. Range-Hashing, Division > Method</strong></p><div class="equation-contents"><span class="mathphrase"> > + as</p><div class="equation"><a > id="id-1.3.5.8.4.4.2.3.2.3.3"></a><p > class="title"><strong>Equation 22.2. Range-Hashing, Division > Method</strong></p><div class="equation-contents"><span class="mathphrase"> > g(r, m) = r mod m > </span></div></div><br class="equation-break" /><p>g(r, m) = > ⌈ u/v ( a r mod v ) ⌉</p><p>and</p><p>g(r, m) = ⌈ u/v ( r<sup>2</sup> mod v > ) ⌉</p><p>respectively, for some positive integrals u and > v (typically powers of 2), and some a. Each of > @@ -535,9 +535,9 @@ > implement using the low > level % (modulo) operation (for any m), or the > low level & (bit-mask) operation (for the case where > - m is a power of 2), i.e.,</p><div class="equation"><a > id="id-1.3.5.8.4.4.2.3.2.3.9"></a><p > class="title"><strong>Equation 21.3. Division via Prime > Modulo</strong></p><div class="equation-contents"><span class="mathphrase"> > + m is a power of 2), i.e.,</p><div class="equation"><a > id="id-1.3.5.8.4.4.2.3.2.3.9"></a><p > class="title"><strong>Equation 22.3. Division via Prime > Modulo</strong></p><div class="equation-contents"><span class="mathphrase"> > g(r, m) = r % m > - </span></div></div><br class="equation-break" > /><p>and</p><div class="equation"><a id="id-1.3.5.8.4.4.2.3.2.3.11"></a><p > class="title"><strong>Equation 21.4. Division via Bit Mask</strong></p><div > class="equation-contents"><span class="mathphrase"> > + </span></div></div><br class="equation-break" > /><p>and</p><div class="equation"><a id="id-1.3.5.8.4.4.2.3.2.3.11"></a><p > class="title"><strong>Equation 22.4. Division via Bit Mask</strong></p><div > class="equation-contents"><span class="mathphrase"> > g(r, m) = r & m - 1, (with m = > 2<sup>k</sup> for some k) > </span></div></div><br class="equation-break" > /><p>respectively.</p><p>The % (modulo) implementation has the advantage > that for > @@ -563,7 +563,7 @@ > s = [ s<sub>0</sub>,..., s<sub>t - 1</sub>] > </p><p>be a string of t characters, each of which is from > domain S. Consider the following ranged-hash > - function:</p><div class="equation"><a > id="id-1.3.5.8.4.4.2.3.2.4.7"></a><p class="title"><strong>Equation 21.5. > + function:</p><div class="equation"><a > id="id-1.3.5.8.4.4.2.3.2.4.7"></a><p class="title"><strong>Equation 22.5. > A Standard String Hash Function > </strong></p><div class="equation-contents"><span > class="mathphrase"> > f<sub>1</sub>(s, m) = ∑ <sub>i = > @@ -575,7 +575,7 @@ > of a long DNA sequence (and so S = {'A', 'C', 'G', > 'T'}). In this case, scanning the entire string might be > prohibitively expensive. A possible alternative might be to use > - only the first k characters of the string, > where</p><p>|S|<sup>k</sup> ≥ m ,</p><p>i.e., using the hash > function</p><div class="equation"><a id="id-1.3.5.8.4.4.2.3.2.4.12"></a><p > class="title"><strong>Equation 21.6. > + only the first k characters of the string, > where</p><p>|S|<sup>k</sup> ≥ m ,</p><p>i.e., using the hash > function</p><div class="equation"><a id="id-1.3.5.8.4.4.2.3.2.4.12"></a><p > class="title"><strong>Equation 22.6. > Only k String DNA Hash > </strong></p><div class="equation-contents"><span > class="mathphrase"> > f<sub>2</sub>(s, m) = ∑ <sub>i > @@ -606,12 +606,12 @@ > the container transforms the key into a non-negative integral > using the hash functor (points B and C), and transforms the > result into a position using the combining functor (points D > - and E).</p><div class="figure"><a > id="id-1.3.5.8.4.4.2.3.2.5.3.4"></a><p > class="title"><strong>Figure 21.15. Insert hash sequence > diagram</strong></p><div class="figure-contents"><div class="mediaobject" > align="center"><img src="../images/pbds_hash_range_hashing_seq_diagram.png" > align="middle" alt="Insert hash sequence diagram" /></div></div></div><br > class="figure-break" /><p>If <code class="classname">cc_hash_table</code>'s > + and E).</p><div class="figure"><a > id="id-1.3.5.8.4.4.2.3.2.5.3.4"></a><p > class="title"><strong>Figure 22.15. Insert hash sequence > diagram</strong></p><div class="figure-contents"><div class="mediaobject" > align="center"><img src="../images/pbds_hash_range_hashing_seq_diagram.png" > align="middle" alt="Insert hash sequence diagram" /></div></div></div><br > class="figure-break" /><p>If <code class="classname">cc_hash_table</code>'s > hash-functor, <code class="classname">Hash_Fn</code> is > instantiated by <code class="classname">null_type</code> , then <code > class="classname">Comb_Hash_Fn</code> is taken to be > a ranged-hash function. The graphic below shows an <code > class="function">insert</code> sequence > diagram. The user inserts an element (point A), the container > transforms the key into a position using the combining > functor > - (points B and C).</p><div class="figure"><a > id="id-1.3.5.8.4.4.2.3.2.5.3.6"></a><p > class="title"><strong>Figure 21.16. Insert hash sequence diagram with a > null policy</strong></p><div class="figure-contents"><div > class="mediaobject" align="center"><img > src="../images/pbds_hash_range_hashing_seq_diagram2.png" align="middle" > alt="Insert hash sequence diagram with a null policy" > /></div></div></div><br class="figure-break" /></div><div > class="section"><div class="titlepage"><div><div><h6 class="title"><a > id="hash_policies.implementation.probe"></a> > + (points B and C).</p><div class="figure"><a > id="id-1.3.5.8.4.4.2.3.2.5.3.6"></a><p > class="title"><strong>Figure 22.16. Insert hash sequence diagram with a > null policy</strong></p><div class="figure-contents"><div > class="mediaobject" align="center"><img > src="../images/pbds_hash_range_hashing_seq_diagram2.png" align="middle" > alt="Insert hash sequence diagram with a null policy" > /></div></div></div><br class="figure-break" /></div><div > class="section"><div class="titlepage"><div><div><h6 class="title"><a > id="hash_policies.implementation.probe"></a> > Probing tables > </h6></div></div></div><p><code > class="classname">gp_hash_table</code> is parametrized by > <code class="classname">Hash_Fn</code>, <code > class="classname">Probe_Fn</code>, > @@ -634,7 +634,7 @@ > a linear probe and a quadratic probe function, > respectively.</p></li></ol></div><p> > The graphic below shows the relationships. > - </p><div class="figure"><a > id="id-1.3.5.8.4.4.2.3.2.5.5.5"></a><p > class="title"><strong>Figure 21.17. Hash policy class > diagram</strong></p><div class="figure-contents"><div class="mediaobject" > align="center"><img src="../images/pbds_hash_policy_cd.png" align="middle" > alt="Hash policy class diagram" /></div></div></div><br > class="figure-break" /></div></div></div><div class="section"><div > class="titlepage"><div><div><h6 class="title"><a > id="container.hash.details.resize_policies"></a>Resize > Policies</h6></div></div></div><div class="section"><div > class="titlepage"><div><div><h6 class="title"><a > id="resize_policies.general"></a>General</h6></div></div></div><p>Hash-tables, > as opposed to trees, do not naturally grow or > + </p><div class="figure"><a > id="id-1.3.5.8.4.4.2.3.2.5.5.5"></a><p > class="title"><strong>Figure 22.17. Hash policy class > diagram</strong></p><div class="figure-contents"><div class="mediaobject" > align="center"><img src="../images/pbds_hash_policy_cd.png" align="middle" > alt="Hash policy class diagram" /></div></div></div><br > class="figure-break" /></div></div></div><div class="section"><div > class="titlepage"><div><div><h6 class="title"><a > id="container.hash.details.resize_policies"></a>Resize > Policies</h6></div></div></div><div class="section"><div > class="titlepage"><div><div><h6 class="title"><a > id="resize_policies.general"></a>General</h6></div></div></div><p>Hash-tables, > as opposed to trees, do not naturally grow or > shrink. It is necessary to specify policies to determine how > and when a hash table should change its size. Usually, resize > policies can be decomposed into orthogonal policies:</p><div > class="orderedlist"><ol class="orderedlist" type="1"><li > class="listitem"><p>A size policy indicating how a hash table > @@ -669,10 +669,10 @@ > and some load factor be denoted by Α. We would like to > calculate the minimal length of k, such that if there were Α > m elements in the hash table, a probe sequence of length k > would > - be found with probability at most 1/m.</p><div > class="figure"><a id="id-1.3.5.8.4.4.2.3.3.4.7"></a><p > class="title"><strong>Figure 21.18. Balls and bins</strong></p><div > class="figure-contents"><div class="mediaobject" align="center"><img > src="../images/pbds_balls_and_bins.png" align="middle" alt="Balls and bins" > /></div></div></div><br class="figure-break" /><p>Denote the probability > that a probe sequence of length > + be found with probability at most 1/m.</p><div > class="figure"><a id="id-1.3.5.8.4.4.2.3.3.4.7"></a><p > class="title"><strong>Figure 22.18. Balls and bins</strong></p><div > class="figure-contents"><div class="mediaobject" align="center"><img > src="../images/pbds_balls_and_bins.png" align="middle" alt="Balls and bins" > /></div></div></div><br class="figure-break" /><p>Denote the probability > that a probe sequence of length > k appears in bin i by p<sub>i</sub>, the > length of the probe sequence of bin i by > - l<sub>i</sub>, and assume uniform distribution. Then</p><div > class="equation"><a id="id-1.3.5.8.4.4.2.3.3.4.9"></a><p > class="title"><strong>Equation 21.7. > + l<sub>i</sub>, and assume uniform distribution. Then</p><div > class="equation"><a id="id-1.3.5.8.4.4.2.3.3.4.9"></a><p > class="title"><strong>Equation 22.7. > Probability of Probe Sequence of Length k > </strong></p><div class="equation-contents"><span > class="mathphrase"> > p<sub>1</sub> = > @@ -686,7 +686,7 @@ > l<sub>i</sub> are negatively-dependent > (<a class="xref" > href="policy_data_structures.html#biblio.dubhashi98neg" title="Balls and > bins: A study in negative dependence">[biblio.dubhashi98neg]</a>) > . Let > - I(.) denote the indicator function. Then</p><div > class="equation"><a id="id-1.3.5.8.4.4.2.3.3.4.14"></a><p > class="title"><strong>Equation 21.8. > + I(.) denote the indicator function. Then</p><div > class="equation"><a id="id-1.3.5.8.4.4.2.3.3.4.14"></a><p > class="title"><strong>Equation 22.8. > Probability Probe Sequence in Some Bin > </strong></p><div class="equation-contents"><span > class="mathphrase"> > P( exists<sub>i</sub> l<sub>i</sub> ≥ k ) = > @@ -725,7 +725,7 @@ > a resize is needed, and if so, what is the new size (points D > to G); following the resize, it notifies the policy that a > resize has completed (point H); finally, the element is > - inserted, and the policy notified (point I).</p><div > class="figure"><a id="id-1.3.5.8.4.4.2.3.3.5.3.6"></a><p > class="title"><strong>Figure 21.19. Insert resize sequence > diagram</strong></p><div class="figure-contents"><div class="mediaobject" > align="center"><img > src="../images/pbds_insert_resize_sequence_diagram1.png" align="middle" > alt="Insert resize sequence diagram" /></div></div></div><br > class="figure-break" /><p>In practice, a resize policy can be usually > orthogonally > + inserted, and the policy notified (point I).</p><div > class="figure"><a id="id-1.3.5.8.4.4.2.3.3.5.3.6"></a><p > class="title"><strong>Figure 22.19. Insert resize sequence > diagram</strong></p><div class="figure-contents"><div class="mediaobject" > align="center"><img > src="../images/pbds_insert_resize_sequence_diagram1.png" align="middle" > alt="Insert resize sequence diagram" /></div></div></div><br > class="figure-break" /><p>In practice, a resize policy can be usually > orthogonally > decomposed to a size policy and a trigger policy. > Consequently, > the library contains a single class for instantiating a > resize > policy: <code > class="classname">hash_standard_resize_policy</code> > @@ -734,8 +734,8 @@ > both, and acts as a standard delegate (<a class="xref" > href="policy_data_structures.html#biblio.gof" title="Design Patterns - > Elements of Reusable Object-Oriented Software">[biblio.gof]</a>) > to these policies.</p><p>The two graphics immediately below > show sequence diagrams > illustrating the interaction between the standard resize > policy > - and its trigger and size policies, respectively.</p><div > class="figure"><a id="id-1.3.5.8.4.4.2.3.3.5.3.9"></a><p > class="title"><strong>Figure 21.20. Standard resize policy trigger sequence > - diagram</strong></p><div class="figure-contents"><div > class="mediaobject" align="center"><img > src="../images/pbds_insert_resize_sequence_diagram2.png" align="middle" > alt="Standard resize policy trigger sequence diagram" > /></div></div></div><br class="figure-break" /><div class="figure"><a > id="id-1.3.5.8.4.4.2.3.3.5.3.10"></a><p > class="title"><strong>Figure 21.21. Standard resize policy size sequence > + and its trigger and size policies, respectively.</p><div > class="figure"><a id="id-1.3.5.8.4.4.2.3.3.5.3.9"></a><p > class="title"><strong>Figure 22.20. Standard resize policy trigger sequence > + diagram</strong></p><div class="figure-contents"><div > class="mediaobject" align="center"><img > src="../images/pbds_insert_resize_sequence_diagram2.png" align="middle" > alt="Standard resize policy trigger sequence diagram" > /></div></div></div><br class="figure-break" /><div class="figure"><a > id="id-1.3.5.8.4.4.2.3.3.5.3.10"></a><p > class="title"><strong>Figure 22.21. Standard resize policy size sequence > diagram</strong></p><div class="figure-contents"><div > class="mediaobject" align="center"><img > src="../images/pbds_insert_resize_sequence_diagram3.png" align="middle" > alt="Standard resize policy size sequence diagram" /></div></div></div><br > class="figure-break" /></div><div class="section"><div > class="titlepage"><div><div><h6 class="title"><a > id="resize_policies.impl.predefined"></a>Predefined > Policies</h6></div></div></div><p>The library includes the following > instantiations of size and trigger policies:</p><div > class="orderedlist"><ol class="orderedlist" type="1"><li > class="listitem"><p><code > class="classname">hash_load_check_resize_trigger</code> > implements a load check trigger policy.</p></li><li > class="listitem"><p><code > class="classname">cc_hash_max_collision_check_resize_trigger</code> > @@ -878,7 +878,7 @@ > each node, and maintains node invariants (see <a class="xref" > href="policy_data_structures.html#biblio.clrs2001" title="Introduction to > Algorithms, 2nd edition">[biblio.clrs2001]</a>.) The first stores in > each node the size of the sub-tree rooted at the node; the > second stores at each node the maximal endpoint of the > - intervals at the sub-tree rooted at the node.</p><div > class="figure"><a id="id-1.3.5.8.4.4.3.3.2.5"></a><p > class="title"><strong>Figure 21.22. Tree node invariants</strong></p><div > class="figure-contents"><div class="mediaobject" align="center"><img > src="../images/pbds_tree_node_invariants.png" align="middle" alt="Tree node > invariants" /></div></div></div><br class="figure-break" /><p>Supporting > such trees is difficult for a number of > + intervals at the sub-tree rooted at the node.</p><div > class="figure"><a id="id-1.3.5.8.4.4.3.3.2.5"></a><p > class="title"><strong>Figure 22.22. Tree node invariants</strong></p><div > class="figure-contents"><div class="mediaobject" align="center"><img > src="../images/pbds_tree_node_invariants.png" align="middle" alt="Tree node > invariants" /></div></div></div><br class="figure-break" /><p>Supporting > such trees is difficult for a number of > reasons:</p><div class="orderedlist"><ol class="orderedlist" > type="1"><li class="listitem"><p>There must be a way to specify what a > node's metadata > should be (if any).</p></li><li class="listitem"><p>Various > operations can invalidate node > invariants. The graphic below shows how a right rotation, > @@ -892,7 +892,7 @@ > metadata.</p></li><li class="listitem"><p>It is not feasible > to know in advance which methods trees > can support. Besides the usual <code > class="classname">find</code> method, the > first tree can support a <code > class="classname">find_by_order</code> method, while > - the second can support an <code > class="classname">overlaps</code> method.</p></li></ol></div><div > class="figure"><a id="id-1.3.5.8.4.4.3.3.2.8"></a><p > class="title"><strong>Figure 21.23. Tree node invalidation</strong></p><div > class="figure-contents"><div class="mediaobject" align="center"><img > src="../images/pbds_tree_node_invalidations.png" align="middle" alt="Tree > node invalidation" /></div></div></div><br class="figure-break" /><p>These > problems are solved by a combination of two means: > + the second can support an <code > class="classname">overlaps</code> method.</p></li></ol></div><div > class="figure"><a id="id-1.3.5.8.4.4.3.3.2.8"></a><p > class="title"><strong>Figure 22.23. Tree node invalidation</strong></p><div > class="figure-contents"><div class="mediaobject" align="center"><img > src="../images/pbds_tree_node_invalidations.png" align="middle" alt="Tree > node invalidation" /></div></div></div><br class="figure-break" /><p>These > problems are solved by a combination of two means: > node iterators, and template-template node updater > parameters.</p><div class="section"><div > class="titlepage"><div><div><h6 class="title"><a > id="container.tree.node.iterators"></a>Node > Iterators</h6></div></div></div><p>Each tree-based container defines two > additional iterator > types, <code class="classname">const_node_iterator</code> > @@ -921,7 +921,7 @@ > <code class="classname">node_update</code> class, and publicly > subclasses > <code class="classname">node_update</code>. The graphic below > shows this > scheme, as well as some predefined policies (which are > explained > - below).</p><div class="figure"><a > id="id-1.3.5.8.4.4.3.3.2.11.3"></a><p class="title"><strong>Figure 21.24. A > tree and its update policy</strong></p><div class="figure-contents"><div > class="mediaobject" align="center"><img > src="../images/pbds_tree_node_updator_policy_cd.png" align="middle" alt="A > tree and its update policy" /></div></div></div><br class="figure-break" > /><p><code class="classname">node_update</code> (an instantiation of > + below).</p><div class="figure"><a > id="id-1.3.5.8.4.4.3.3.2.11.3"></a><p class="title"><strong>Figure 22.24. A > tree and its update policy</strong></p><div class="figure-contents"><div > class="mediaobject" align="center"><img > src="../images/pbds_tree_node_updator_policy_cd.png" align="middle" alt="A > tree and its update policy" /></div></div></div><br class="figure-break" > /><p><code class="classname">node_update</code> (an instantiation of > <code class="classname">Node_Update</code>) must define <code > class="classname">metadata_type</code> as > the type of metadata it requires. For order statistics, > e.g., <code class="classname">metadata_type</code> might be > <code class="classname">size_t</code>. > @@ -940,7 +940,7 @@ > <code class="classname">nd_it</code>. For example, say node x > in the > graphic below label A has an invalid invariant, but its' > children, > y and z have valid invariants. After the invocation, all three > - nodes should have valid invariants, as in label B.</p><div > class="figure"><a id="id-1.3.5.8.4.4.3.3.2.11.8"></a><p > class="title"><strong>Figure 21.25. Restoring node > invariants</strong></p><div class="figure-contents"><div > class="mediaobject" align="center"><img > src="../images/pbds_restoring_node_invariants.png" align="middle" > alt="Restoring node invariants" /></div></div></div><br > class="figure-break" /><p>When a tree operation might invalidate some node > invariant, > + nodes should have valid invariants, as in label B.</p><div > class="figure"><a id="id-1.3.5.8.4.4.3.3.2.11.8"></a><p > class="title"><strong>Figure 22.25. Restoring node > invariants</strong></p><div class="figure-contents"><div > class="mediaobject" align="center"><img > src="../images/pbds_restoring_node_invariants.png" align="middle" > alt="Restoring node invariants" /></div></div></div><br > class="figure-break" /><p>When a tree operation might invalidate some node > invariant, > it invokes this method in its <code > class="classname">node_update</code> base to > restore the invariant. For example, the graphic below shows > an <code class="function">insert</code> operation (point A); > the tree performs some > @@ -948,7 +948,7 @@ > C, and D). (It is well known that any <code > class="function">insert</code>, > <code class="function">erase</code>, <code > class="function">split</code> or <code class="function">join</code>, can > restore > all node invariants by a small number of node invariant > updates (<a class="xref" href="policy_data_structures.html#biblio.clrs2001" > title="Introduction to Algorithms, 2nd edition">[biblio.clrs2001]</a>) > - .</p><div class="figure"><a > id="id-1.3.5.8.4.4.3.3.2.11.10"></a><p > class="title"><strong>Figure 21.26. Insert update sequence</strong></p><div > class="figure-contents"><div class="mediaobject" align="center"><img > src="../images/pbds_update_seq_diagram.png" align="middle" alt="Insert > update sequence" /></div></div></div><br class="figure-break" /><p>To > complete the description of the scheme, three questions > + .</p><div class="figure"><a > id="id-1.3.5.8.4.4.3.3.2.11.10"></a><p > class="title"><strong>Figure 22.26. Insert update sequence</strong></p><div > class="figure-contents"><div class="mediaobject" align="center"><img > src="../images/pbds_update_seq_diagram.png" align="middle" alt="Insert > update sequence" /></div></div></div><br class="figure-break" /><p>To > complete the description of the scheme, three questions > need to be answered:</p><div class="orderedlist"><ol > class="orderedlist" type="1"><li class="listitem"><p>How can a tree which > supports order statistics define a > method such as <code > class="classname">find_by_order</code>?</p></li><li class="listitem"><p>How > can the node updater base access methods of the > tree?</p></li><li class="listitem"><p>How can the following > cyclic dependency be resolved? > @@ -990,7 +990,7 @@ > node's metadata (this is halting reducible). In the graphic > below, assume the shaded node is inserted. The tree would > have > to traverse the useless path shown to the root, applying > - redundant updates all the way.</p></li></ol></div><div > class="figure"><a id="id-1.3.5.8.4.4.3.3.2.11.20"></a><p > class="title"><strong>Figure 21.27. Useless update path</strong></p><div > class="figure-contents"><div class="mediaobject" align="center"><img > src="../images/pbds_rationale_null_node_updator.png" align="middle" > alt="Useless update path" /></div></div></div><br class="figure-break" > /><p>A null policy class, <code class="classname">null_node_update</code> > + redundant updates all the way.</p></li></ol></div><div > class="figure"><a id="id-1.3.5.8.4.4.3.3.2.11.20"></a><p > class="title"><strong>Figure 22.27. Useless update path</strong></p><div > class="figure-contents"><div class="mediaobject" align="center"><img > src="../images/pbds_rationale_null_node_updator.png" align="middle" > alt="Useless update path" /></div></div></div><br class="figure-break" > /><p>A null policy class, <code class="classname">null_node_update</code> > solves both these problems. The tree detects that node > invariants are irrelevant, and defines all > accordingly.</p></div></div><div class="section"><div > class="titlepage"><div><div><h6 class="title"><a > id="container.tree.details.split"></a>Split and > Join</h6></div></div></div><p>Tree-based containers support split and join > methods. > It is possible to split a tree so that it passes > @@ -1073,7 +1073,7 @@ > sub-tree with leafs "a" and "as". The maximal common prefix is > "a". The internal node contains, consequently, to const > iterators, one pointing to <code class="varname">'a'</code>, and > the other to > - <code class="varname">'s'</code>.</p><div class="figure"><a > id="id-1.3.5.8.4.4.4.3.2.10"></a><p class="title"><strong>Figure 21.28. A > PATRICIA trie</strong></p><div class="figure-contents"><div > class="mediaobject" align="center"><img src="../images/pbds_pat_trie.png" > align="middle" alt="A PATRICIA trie" /></div></div></div><br > class="figure-break" /></div><div class="section"><div > class="titlepage"><div><div><h6 class="title"><a > id="container.trie.details.node"></a>Node > Invariants</h6></div></div></div><p>Trie-based containers support node > invariants, as do > + <code class="varname">'s'</code>.</p><div class="figure"><a > id="id-1.3.5.8.4.4.4.3.2.10"></a><p class="title"><strong>Figure 22.28. A > PATRICIA trie</strong></p><div class="figure-contents"><div > class="mediaobject" align="center"><img src="../images/pbds_pat_trie.png" > align="middle" alt="A PATRICIA trie" /></div></div></div><br > class="figure-break" /></div><div class="section"><div > class="titlepage"><div><div><h6 class="title"><a > id="container.trie.details.node"></a>Node > Invariants</h6></div></div></div><p>Trie-based containers support node > invariants, as do > tree-based containers. There are two minor > differences, though, which, unfortunately, thwart sharing them > sharing the same node-updating policies:</p><div > class="orderedlist"><ol class="orderedlist" type="1"><li > class="listitem"><p>A trie's <code class="classname">Node_Update</code> > template-template > @@ -1082,7 +1082,7 @@ > parametrized by <code > class="classname">Cmp_Fn</code>.</p></li><li class="listitem"><p>Tree-based > containers store values in all nodes, while > trie-based containers (at least in this implementation) store > values in leafs.</p></li></ol></div><p>The graphic below shows > the scheme, as well as some predefined > - policies (which are explained below).</p><div class="figure"><a > id="id-1.3.5.8.4.4.4.3.3.5"></a><p class="title"><strong>Figure 21.29. A > trie and its update policy</strong></p><div class="figure-contents"><div > class="mediaobject" align="center"><img > src="../images/pbds_trie_node_updator_policy_cd.png" align="middle" alt="A > trie and its update policy" /></div></div></div><br class="figure-break" > /><p>This library offers the following pre-defined trie node > + policies (which are explained below).</p><div class="figure"><a > id="id-1.3.5.8.4.4.4.3.3.5"></a><p class="title"><strong>Figure 22.29. A > trie and its update policy</strong></p><div class="figure-contents"><div > class="mediaobject" align="center"><img > src="../images/pbds_trie_node_updator_policy_cd.png" align="middle" alt="A > trie and its update policy" /></div></div></div><br class="figure-break" > /><p>This library offers the following pre-defined trie node > updating policies:</p><div class="orderedlist"><ol > class="orderedlist" type="1"><li class="listitem"><p> > <code > class="classname">trie_order_statistics_node_update</code> > supports order statistics. > @@ -1130,7 +1130,7 @@ > simple list of integer keys. If we search for the integer 6, we > are paying an overhead: the link with key 6 is only the fifth > link; if it were the first link, it could be accessed > - faster.</p><div class="figure"><a > id="id-1.3.5.8.4.4.5.3.3.3"></a><p class="title"><strong>Figure 21.30. A > simple list</strong></p><div class="figure-contents"><div > class="mediaobject" align="center"><img > src="../images/pbds_simple_list.png" align="middle" alt="A simple list" > /></div></div></div><br class="figure-break" /><p>List-update algorithms > reorder lists as elements are > + faster.</p><div class="figure"><a > id="id-1.3.5.8.4.4.5.3.3.3"></a><p class="title"><strong>Figure 22.30. A > simple list</strong></p><div class="figure-contents"><div > class="mediaobject" align="center"><img > src="../images/pbds_simple_list.png" align="middle" alt="A simple list" > /></div></div></div><br class="figure-break" /><p>List-update algorithms > reorder lists as elements are > accessed. They try to determine, by the access history, which > keys to move to the front of the list. Some of these algorithms > require adding some metadata alongside each entry.</p><p>For > example, in the graphic below label A shows the counter > @@ -1140,7 +1140,7 @@ > predetermined value, say 10, as shown in label C, the count is > set > to 0 and the node is moved to the front of the list, as in label > D. > - </p><div class="figure"><a id="id-1.3.5.8.4.4.5.3.3.6"></a><p > class="title"><strong>Figure 21.31. The counter algorithm</strong></p><div > class="figure-contents"><div class="mediaobject" align="center"><img > src="../images/pbds_list_update.png" align="middle" alt="The counter > algorithm" /></div></div></div><br class="figure-break" /></div><div > class="section"><div class="titlepage"><div><div><h6 class="title"><a > id="container.list.details.policies"></a>Policies</h6></div></div></div><p>this > library allows instantiating lists with policies > + </p><div class="figure"><a id="id-1.3.5.8.4.4.5.3.3.6"></a><p > class="title"><strong>Figure 22.31. The counter algorithm</strong></p><div > class="figure-contents"><div class="mediaobject" align="center"><img > src="../images/pbds_list_update.png" align="middle" alt="The counter > algorithm" /></div></div></div><br class="figure-break" /></div><div > class="section"><div class="titlepage"><div><div><h6 class="title"><a > id="container.list.details.policies"></a>Policies</h6></div></div></div><p>this > library allows instantiating lists with policies > implementing any algorithm moving nodes to the front of the > list (policies implementing algorithms interchanging nodes are > unsupported).</p><p>Associative containers based on lists are > parametrized by a > @@ -1312,7 +1312,7 @@ > sequence; the second uses a tree (or forest of trees), which is > typically less structured than an associative container's tree; > the third simply uses an associative container. These are > - shown in the graphic below, in labels A1 and A2, label B, and > label C.</p><div class="figure"><a id="id-1.3.5.8.4.4.6.3.3.3"></a><p > class="title"><strong>Figure 21.32. Underlying Priority-Queue > Data-Structures.</strong></p><div class="figure-contents"><div > class="mediaobject" align="center"><img > src="../images/pbds_priority_queue_different_underlying_dss.png" > align="middle" alt="Underlying Priority-Queue Data-Structures." > /></div></div></div><br class="figure-break" /><p>Roughly speaking, any > value that is both pushed and popped > + shown in the graphic below, in labels A1 and A2, label B, and > label C.</p><div class="figure"><a id="id-1.3.5.8.4.4.6.3.3.3"></a><p > class="title"><strong>Figure 22.32. Underlying Priority-Queue > Data-Structures.</strong></p><div class="figure-contents"><div > class="mediaobject" align="center"><img > src="../images/pbds_priority_queue_different_underlying_dss.png" > align="middle" alt="Underlying Priority-Queue Data-Structures." > /></div></div></div><br class="figure-break" /><p>Roughly speaking, any > value that is both pushed and popped > from a priority queue must incur a logarithmic expense (in the > amortized sense). Any priority queue implementation that would > avoid this, would violate known bounds on comparison-based > @@ -1392,7 +1392,7 @@ > container <code class="classname">Cntnr</code>, the tag of the > underlying > data structure can be found via <code class="classname">typename > Cntnr::container_category</code>; this is one of the possible > tags shown in the graphic below. > - </p><div class="figure"><a id="id-1.3.5.8.4.4.6.3.4.4"></a><p > class="title"><strong>Figure 21.33. Priority-Queue Data-Structure > Tags.</strong></p><div class="figure-contents"><div class="mediaobject" > align="center"><img src="../images/pbds_priority_queue_tag_hierarchy.png" > align="middle" alt="Priority-Queue Data-Structure Tags." > /></div></div></div><br class="figure-break" /><p>Additionally, a traits > mechanism can be used to query a > + </p><div class="figure"><a id="id-1.3.5.8.4.4.6.3.4.4"></a><p > class="title"><strong>Figure 22.33. Priority-Queue Data-Structure > Tags.</strong></p><div class="figure-contents"><div class="mediaobject" > align="center"><img src="../images/pbds_priority_queue_tag_hierarchy.png" > align="middle" alt="Priority-Queue Data-Structure Tags." > /></div></div></div><br class="figure-break" /><p>Additionally, a traits > mechanism can be used to query a > container type for its attributes. Given any container > <code class="classname">Cntnr</code>, then </p><pre > class="programlisting">__gnu_pbds::container_traits<Cntnr></pre><p> > is a traits class identifying the properties of the > diff --git > a/libstdc++-v3/doc/html/manual/policy_data_structures_using.html > b/libstdc++-v3/doc/html/manual/policy_data_structures_using.html > index 10c13bedeacd..a8175a71e7aa 100644 > --- a/libstdc++-v3/doc/html/manual/policy_data_structures_using.html > +++ b/libstdc++-v3/doc/html/manual/policy_data_structures_using.html > @@ -1,5 +1,5 @@ > <?xml version="1.0" encoding="UTF-8" standalone="no"?> > -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>Using</title><meta > name="generator" content="DocBook XSL Stylesheets Vsnapshot" /><meta > name="keywords" content="ISO C++, policy, container, data, structure, > associated, tree, trie, hash, metaprogramming" /><meta name="keywords" > content="ISO C++, library" /><meta name="keywords" content="ISO C++, > runtime, library" /><link rel="home" href="../index.html" title="The GNU > C++ Library" /><link rel="up" href="policy_data_structures.html" > title="Chapter 21. Policy-Based Data Structures" /><link rel="prev" > href="policy_data_structures.html" title="Chapter 21. Policy-Based Data > Structures" /><link rel="next" href="policy_data_structures_design.html" > title="Design" /></head><body><div class="navheader"><table width="100%" > summary="Navigation header"><tr><th colspan="3" > align="center">Using</th></tr><tr><td width="20%" align="left"><a > accesskey="p" href="policy_data_structures.html">Prev</a> </td><th > width="60%" align="center">Chapter 21. Policy-Based Data Structures</th><td > width="20%" align="right"> <a accesskey="n" > href="policy_data_structures_design.html">Next</a></td></tr></table><hr > /></div><div class="section"><div class="titlepage"><div><div><h2 > class="title" style="clear: both"><a > id="containers.pbds.using"></a>Using</h2></div></div></div><div > class="section"><div class="titlepage"><div><div><h3 class="title"><a > id="pbds.using.prereq"></a>Prerequisites</h3></div></div></div><p>The > library contains only header files, and does not require any > +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>Using</title><meta > name="generator" content="DocBook XSL Stylesheets Vsnapshot" /><meta > name="keywords" content="ISO C++, policy, container, data, structure, > associated, tree, trie, hash, metaprogramming" /><meta name="keywords" > content="ISO C++, library" /><meta name="keywords" content="ISO C++, > runtime, library" /><link rel="home" href="../index.html" title="The GNU > C++ Library" /><link rel="up" href="policy_data_structures.html" > title="Chapter 22. Policy-Based Data Structures" /><link rel="prev" > href="policy_data_structures.html" title="Chapter 22. Policy-Based Data > Structures" /><link rel="next" href="policy_data_structures_design.html" > title="Design" /></head><body><div class="navheader"><table width="100%" > summary="Navigation header"><tr><th colspan="3" > align="center">Using</th></tr><tr><td width="20%" align="left"><a > accesskey="p" href="policy_data_structures.html">Prev</a> </td><th > width="60%" align="center">Chapter 22. Policy-Based Data Structures</th><td > width="20%" align="right"> <a accesskey="n" > href="policy_data_structures_design.html">Next</a></td></tr></table><hr > /></div><div class="section"><div class="titlepage"><div><div><h2 > class="title" style="clear: both"><a > id="containers.pbds.using"></a>Using</h2></div></div></div><div > class="section"><div class="titlepage"><div><div><h3 class="title"><a > id="pbds.using.prereq"></a>Prerequisites</h3></div></div></div><p>The > library contains only header files, and does not require any > other libraries except the standard C++ library . All classes are > defined in namespace <code class="code">__gnu_pbds</code>. The > library internally > uses macros beginning with <code class="code">PB_DS</code>, but > @@ -61,7 +61,7 @@ > In addition, there are the following diagnostics classes, > used to report errors specific to this library's data > structures. > - </p><div class="figure"><a id="id-1.3.5.8.3.3.6"></a><p > class="title"><strong>Figure 21.7. Exception Hierarchy</strong></p><div > class="figure-contents"><div class="mediaobject" align="center"><img > src="../images/pbds_exception_hierarchy.png" align="middle" alt="Exception > Hierarchy" /></div></div></div><br class="figure-break" /></div><div > class="section"><div class="titlepage"><div><div><h3 class="title"><a > id="pbds.using.tutorial"></a>Tutorial</h3></div></div></div><div > class="section"><div class="titlepage"><div><div><h4 class="title"><a > id="pbds.using.tutorial.basic"></a>Basic Use</h4></div></div></div><p> > + </p><div class="figure"><a id="id-1.3.5.8.3.3.6"></a><p > class="title"><strong>Figure 22.7. Exception Hierarchy</strong></p><div > class="figure-contents"><div class="mediaobject" align="center"><img > src="../images/pbds_exception_hierarchy.png" align="middle" alt="Exception > Hierarchy" /></div></div></div><br class="figure-break" /></div><div > class="section"><div class="titlepage"><div><div><h3 class="title"><a > id="pbds.using.tutorial"></a>Tutorial</h3></div></div></div><div > class="section"><div class="titlepage"><div><div><h4 class="title"><a > id="pbds.using.tutorial.basic"></a>Basic Use</h4></div></div></div><p> > For the most part, the policy-based containers containers in > namespace <code class="literal">__gnu_pbds</code> have the same > interface as > the equivalent containers in the standard C++ library, except for > @@ -479,4 +479,4 @@ > very simple version of Dijkstra's shortest path > algorithm: > <code class="filename">priority_queue_dijkstra.cc</code> > - </p></li></ul></div></div></div></div></div><div > class="navfooter"><hr /><table width="100%" summary="Navigation > footer"><tr><td width="40%" align="left"><a accesskey="p" > href="policy_data_structures.html">Prev</a> </td><td width="20%" > align="center"><a accesskey="u" > href="policy_data_structures.html">Up</a></td><td width="40%" > align="right"> <a accesskey="n" > href="policy_data_structures_design.html">Next</a></td></tr><tr><td > width="40%" align="left" valign="top">Chapter 21. Policy-Based Data > Structures </td><td width="20%" align="center"><a accesskey="h" > href="../index.html">Home</a></td><td width="40%" align="right" > valign="top"> Design</td></tr></table></div></body></html> > \ No newline at end of file > + </p></li></ul></div></div></div></div></div><div > class="navfooter"><hr /><table width="100%" summary="Navigation > footer"><tr><td width="40%" align="left"><a accesskey="p" > href="policy_data_structures.html">Prev</a> </td><td width="20%" > align="center"><a accesskey="u" > href="policy_data_structures.html">Up</a></td><td width="40%" > align="right"> <a accesskey="n" > href="policy_data_structures_design.html">Next</a></td></tr><tr><td > width="40%" align="left" valign="top">Chapter 22. Policy-Based Data > Structures </td><td width="20%" align="center"><a accesskey="h" > href="../index.html">Home</a></td><td width="40%" align="right" > valign="top"> Design</td></tr></table></div></body></html> > \ No newline at end of file > diff --git a/libstdc++-v3/doc/html/manual/status.html > b/libstdc++-v3/doc/html/manual/status.html > index e8a5de4a9f43..b6c39e28c7b6 100644 > --- a/libstdc++-v3/doc/html/manual/status.html > +++ b/libstdc++-v3/doc/html/manual/status.html > @@ -93,7 +93,7 @@ mainline GCC, not in any particular release. > <code class="code">std::type_info::name()</code> is the mangled > type name. > You will need to call <code class="code">c++filt</code> and pass > the names as > command-line parameters to demangle them, or call a > - <a class="link" href="ext_demangling.html" > title="Chapter 28. Demangling">runtime demangler function</a>. > + <a class="link" href="ext_demangling.html" > title="Chapter 29. Demangling">runtime demangler function</a>. > </p><p><span class="emphasis"><em>20.1.5 > [lib.allocator.requirements]/5</em></span> > <span class="emphasis"><em>"Implementors are encouraged to supply > libraries that can > accept allocators that encapsulate more general memory models and > that > @@ -142,7 +142,7 @@ mainline GCC, not in any particular release. > </p><p><span class="emphasis"><em>27.7.1.3 > [lib.stringbuf.virtuals]/16</em></span>, > <span class="emphasis"><em>27.8.1.4 > [lib.filebuf.virtuals]/10</em></span> > The effects of <code class="code">pubsetbuf/setbuf</code> are > described in the > - <a class="link" href="io.html" title="Chapter 13. Input and > Output">Input and Output</a> chapter. > + <a class="link" href="io.html" title="Chapter 14. Input and > Output">Input and Output</a> chapter. > </p><p><span class="emphasis"><em>27.8.1.4 > [lib.filebuf.virtuals]/16</em></span> Calling > <code class="code">fstream::sync</code> when a get area exists > will... whatever > <code class="code">fflush()</code> does, I think. > diff --git a/libstdc++-v3/doc/html/manual/std_contents.html > b/libstdc++-v3/doc/html/manual/std_contents.html > index 14586e8c75bb..aa12a0913a71 100644 > --- a/libstdc++-v3/doc/html/manual/std_contents.html > +++ b/libstdc++-v3/doc/html/manual/std_contents.html > @@ -30,13 +30,16 @@ > </a></span></dt><dd><dl><dt><span class="section"><a > href="algorithms.html#std.algorithms.mutating">Mutating</a></span></dt><dd><dl><dt><span > class="section"><a href="algorithms.html#algorithms.mutating.swap"><code > class="function">swap</code></a></span></dt><dd><dl><dt><span > class="section"><a > href="algorithms.html#algorithms.swap.specializations">Specializations</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span > class="chapter"><a href="numerics.html">12. > Numerics > > -</a></span></dt><dd><dl><dt><span class="section"><a > href="numerics.html#std.numerics.complex">Complex</a></span></dt><dd><dl><dt><span > class="section"><a href="numerics.html#numerics.complex.processing">complex > Processing</a></span></dt></dl></dd><dt><span class="section"><a > href="generalized_numeric_operations.html">Generalized > Operations</a></span></dt><dt><span class="section"><a > href="numerics_and_c.html">Interacting with > C</a></span></dt><dd><dl><dt><span class="section"><a > href="numerics_and_c.html#numerics.c.array">Numerics vs. > Arrays</a></span></dt><dt><span class="section"><a > href="numerics_and_c.html#numerics.c.c99">C99</a></span></dt></dl></dd></dl></dd><dt><span > class="chapter"><a href="io.html">13. > +</a></span></dt><dd><dl><dt><span class="section"><a > href="numerics.html#std.numerics.complex">Complex</a></span></dt><dd><dl><dt><span > class="section"><a href="numerics.html#numerics.complex.processing">complex > Processing</a></span></dt></dl></dd><dt><span class="section"><a > href="generalized_numeric_operations.html">Generalized > Operations</a></span></dt><dt><span class="section"><a > href="numerics_and_c.html">Interacting with > C</a></span></dt><dd><dl><dt><span class="section"><a > href="numerics_and_c.html#numerics.c.array">Numerics vs. > Arrays</a></span></dt><dt><span class="section"><a > href="numerics_and_c.html#numerics.c.c99">C99</a></span></dt></dl></dd></dl></dd><dt><span > class="chapter"><a href="time.html">13. > + Time > + > +</a></span></dt><dd><dl><dt><span class="section"><a > href="time.html#std.time.zone.db">Time zone > database</a></span></dt><dd><dl><dt><span class="section"><a > href="time.html#zone.db.zic">tzdb uses zic format</a></span></dt><dt><span > class="section"><a href="time.html#zone.current">current > zone</a></span></dt><dt><span class="section"><a > href="time.html#zone.db.sources">data sources</a></span></dt><dt><span > class="section"><a > href="time.html#zone.db.iterator">tzdb_list::const_iterator extends > lifetime</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a > href="io.html">14. > Input and Output > > -</a></span></dt><dd><dl><dt><span class="section"><a > href="io.html#std.io.objects">Iostream Objects</a></span></dt><dt><span > class="section"><a href="streambufs.html">Stream > Buffers</a></span></dt><dd><dl><dt><span class="section"><a > href="streambufs.html#io.streambuf.derived">Derived streambuf > Classes</a></span></dt><dt><span class="section"><a > href="streambufs.html#io.streambuf.buffering">Buffering</a></span></dt></dl></dd><dt><span > class="section"><a href="stringstreams.html">Memory Based > Streams</a></span></dt><dd><dl><dt><span class="section"><a > href="stringstreams.html#std.io.memstreams.compat">Compatibility With > strstream</a></span></dt></dl></dd><dt><span class="section"><a > href="fstreams.html">File Based Streams</a></span></dt><dd><dl><dt><span > class="section"><a href="fstreams.html#std.io.filestreams.copying_a_file">Copying > a File</a></span></dt><dt><span class="section"><a href="fstreams.html# > std.io.filestreams.binary">Binary Input and > Output</a></span></dt></dl></dd><dt><span class="section"><a > href="io_and_c.html">Interacting with C</a></span></dt><dd><dl><dt><span > class="section"><a href="io_and_c.html#std.io.c.FILE">Using FILE* and file > descriptors</a></span></dt><dt><span class="section"><a > href="io_and_c.html#std.io.c.sync">Performance</a></span></dt></dl></dd></dl></dd><dt><span > class="chapter"><a href="atomics.html">14. > +</a></span></dt><dd><dl><dt><span class="section"><a > href="io.html#std.io.objects">Iostream Objects</a></span></dt><dt><span > class="section"><a href="streambufs.html">Stream > Buffers</a></span></dt><dd><dl><dt><span class="section"><a > href="streambufs.html#io.streambuf.derived">Derived streambuf > Classes</a></span></dt><dt><span class="section"><a > href="streambufs.html#io.streambuf.buffering">Buffering</a></span></dt></dl></dd><dt><span > class="section"><a href="stringstreams.html">Memory Based > Streams</a></span></dt><dd><dl><dt><span class="section"><a > href="stringstreams.html#std.io.memstreams.compat">Compatibility With > strstream</a></span></dt></dl></dd><dt><span class="section"><a > href="fstreams.html">File Based Streams</a></span></dt><dd><dl><dt><span > class="section"><a href="fstreams.html#std.io.filestreams.copying_a_file">Copying > a File</a></span></dt><dt><span class="section"><a href="fstreams.html# > std.io.filestreams.binary">Binary Input and > Output</a></span></dt></dl></dd><dt><span class="section"><a > href="io_and_c.html">Interacting with C</a></span></dt><dd><dl><dt><span > class="section"><a href="io_and_c.html#std.io.c.FILE">Using FILE* and file > descriptors</a></span></dt><dt><span class="section"><a > href="io_and_c.html#std.io.c.sync">Performance</a></span></dt></dl></dd></dl></dd><dt><span > class="chapter"><a href="atomics.html">15. > Atomics > > -</a></span></dt><dd><dl><dt><span class="section"><a > href="atomics.html#std.atomics.api">API > Reference</a></span></dt></dl></dd><dt><span class="chapter"><a > href="concurrency.html">15. > +</a></span></dt><dd><dl><dt><span class="section"><a > href="atomics.html#std.atomics.api">API > Reference</a></span></dt></dl></dd><dt><span class="chapter"><a > href="concurrency.html">16. > Concurrency > > </a></span></dt><dd><dl><dt><span class="section"><a > href="concurrency.html#std.concurrency.api">API > Reference</a></span></dt></dl></dd></dl></div></div><div > class="navfooter"><hr /><table width="100%" summary="Navigation > footer"><tr><td width="40%" align="left"><a accesskey="p" > href="debug.html">Prev</a> </td><td width="20%" align="center"><a > accesskey="u" href="index.html">Up</a></td><td width="40%" > align="right"> <a accesskey="n" > href="support.html">Next</a></td></tr><tr><td width="40%" align="left" > valign="top">Debugging Support </td><td width="20%" align="center"><a > accesskey="h" href="../index.html">Home</a></td><td width="40%" > align="right" valign="top"> Chapter 4. > diff --git a/libstdc++-v3/doc/html/manual/streambufs.html > b/libstdc++-v3/doc/html/manual/streambufs.html > index c175054ceff1..8ae046c294d3 100644 > --- a/libstdc++-v3/doc/html/manual/streambufs.html > +++ b/libstdc++-v3/doc/html/manual/streambufs.html > @@ -1,5 +1,5 @@ > <?xml version="1.0" encoding="UTF-8" standalone="no"?> > -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>Stream Buffers</title><meta > name="generator" content="DocBook XSL Stylesheets Vsnapshot" /><meta > name="keywords" content="ISO C++, library" /><meta name="keywords" > content="ISO C++, runtime, library" /><link rel="home" href="../index.html" > title="The GNU C++ Library" /><link rel="up" href="io.html" > title="Chapter 13. Input and Output" /><link rel="prev" href="io.html" > title="Chapter 13. Input and Output" /><link rel="next" > href="stringstreams.html" title="Memory Based Streams" /></head><body><div > class="navheader"><table width="100%" summary="Navigation header"><tr><th > colspan="3" align="center">Stream Buffers</th></tr><tr><td width="20%" > align="left"><a accesskey="p" href="io.html">Prev</a> </td><th width="60%" > align="center">Chapter 13. > +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>Stream Buffers</title><meta > name="generator" content="DocBook XSL Stylesheets Vsnapshot" /><meta > name="keywords" content="ISO C++, library" /><meta name="keywords" > content="ISO C++, runtime, library" /><link rel="home" href="../index.html" > title="The GNU C++ Library" /><link rel="up" href="io.html" > title="Chapter 14. Input and Output" /><link rel="prev" href="io.html" > title="Chapter 14. Input and Output" /><link rel="next" > href="stringstreams.html" title="Memory Based Streams" /></head><body><div > class="navheader"><table width="100%" summary="Navigation header"><tr><th > colspan="3" align="center">Stream Buffers</th></tr><tr><td width="20%" > align="left"><a accesskey="p" href="io.html">Prev</a> </td><th width="60%" > align="center">Chapter 14. > Input and Output > > </th><td width="20%" align="right"> <a accesskey="n" > href="stringstreams.html">Next</a></td></tr></table><hr /></div><div > class="section"><div class="titlepage"><div><div><h2 class="title" > style="clear: both"><a id="std.io.streambufs"></a>Stream > Buffers</h2></div></div></div><div class="section"><div > class="titlepage"><div><div><h3 class="title"><a > id="io.streambuf.derived"></a>Derived streambuf > Classes</h3></div></div></div><p> > @@ -131,7 +131,7 @@ > just those at the language/library level. Kernel buffers, disk > buffers, and the like will also have an effect. Inspecting and > changing those are system-dependent. > - </p></div></div><div class="navfooter"><hr /><table width="100%" > summary="Navigation footer"><tr><td width="40%" align="left"><a > accesskey="p" href="io.html">Prev</a> </td><td width="20%" > align="center"><a accesskey="u" href="io.html">Up</a></td><td width="40%" > align="right"> <a accesskey="n" > href="stringstreams.html">Next</a></td></tr><tr><td width="40%" > align="left" valign="top">Chapter 13. > + </p></div></div><div class="navfooter"><hr /><table width="100%" > summary="Navigation footer"><tr><td width="40%" align="left"><a > accesskey="p" href="io.html">Prev</a> </td><td width="20%" > align="center"><a accesskey="u" href="io.html">Up</a></td><td width="40%" > align="right"> <a accesskey="n" > href="stringstreams.html">Next</a></td></tr><tr><td width="40%" > align="left" valign="top">Chapter 14. > Input and Output > > </td><td width="20%" align="center"><a accesskey="h" > href="../index.html">Home</a></td><td width="40%" align="right" > valign="top"> Memory Based Streams</td></tr></table></div></body></html> > \ No newline at end of file > diff --git a/libstdc++-v3/doc/html/manual/stringstreams.html > b/libstdc++-v3/doc/html/manual/stringstreams.html > index e12e6543e742..bdfaba6d1038 100644 > --- a/libstdc++-v3/doc/html/manual/stringstreams.html > +++ b/libstdc++-v3/doc/html/manual/stringstreams.html > @@ -1,5 +1,5 @@ > <?xml version="1.0" encoding="UTF-8" standalone="no"?> > -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>Memory Based > Streams</title><meta name="generator" content="DocBook XSL Stylesheets > Vsnapshot" /><meta name="keywords" content="ISO C++, library" /><meta > name="keywords" content="ISO C++, runtime, library" /><link rel="home" > href="../index.html" title="The GNU C++ Library" /><link rel="up" > href="io.html" title="Chapter 13. Input and Output" /><link rel="prev" > href="streambufs.html" title="Stream Buffers" /><link rel="next" > href="fstreams.html" title="File Based Streams" /></head><body><div > class="navheader"><table width="100%" summary="Navigation header"><tr><th > colspan="3" align="center">Memory Based Streams</th></tr><tr><td > width="20%" align="left"><a accesskey="p" > href="streambufs.html">Prev</a> </td><th width="60%" > align="center">Chapter 13. > +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>Memory Based > Streams</title><meta name="generator" content="DocBook XSL Stylesheets > Vsnapshot" /><meta name="keywords" content="ISO C++, library" /><meta > name="keywords" content="ISO C++, runtime, library" /><link rel="home" > href="../index.html" title="The GNU C++ Library" /><link rel="up" > href="io.html" title="Chapter 14. Input and Output" /><link rel="prev" > href="streambufs.html" title="Stream Buffers" /><link rel="next" > href="fstreams.html" title="File Based Streams" /></head><body><div > class="navheader"><table width="100%" summary="Navigation header"><tr><th > colspan="3" align="center">Memory Based Streams</th></tr><tr><td > width="20%" align="left"><a accesskey="p" > href="streambufs.html">Prev</a> </td><th width="60%" > align="center">Chapter 14. > Input and Output > > </th><td width="20%" align="right"> <a accesskey="n" > href="fstreams.html">Next</a></td></tr></table><hr /></div><div > class="section"><div class="titlepage"><div><div><h2 class="title" > style="clear: both"><a id="std.io.memstreams"></a>Memory Based > Streams</h2></div></div></div><div class="section"><div > class="titlepage"><div><div><h3 class="title"><a > id="std.io.memstreams.compat"></a>Compatibility With > strstream</h3></div></div></div><p> > diff --git a/libstdc++-v3/doc/html/manual/test.html > b/libstdc++-v3/doc/html/manual/test.html > index 00cb269e2f7d..404d7ddbf879 100644 > --- a/libstdc++-v3/doc/html/manual/test.html > +++ b/libstdc++-v3/doc/html/manual/test.html > @@ -311,12 +311,12 @@ cat 27_io/objects/char/3_xin.in | > a.out</pre></dd><dt><span class="term"><code c > make check-debug > </code></strong></span></dt><dd><p> > This rule runs through the test suite under the > - <a class="link" href="debug_mode.html" title="Chapter 17. Debug > Mode">debug mode</a>. > + <a class="link" href="debug_mode.html" title="Chapter 18. Debug > Mode">debug mode</a>. > </p></dd><dt><span class="term"><strong class="userinput"><code> > make check-parallel > </code></strong></span></dt><dd><p> > This rule runs through the test suite under the > - <a class="link" href="parallel_mode.html" > title="Chapter 18. Parallel Mode">parallel mode</a>. > + <a class="link" href="parallel_mode.html" > title="Chapter 19. Parallel Mode">parallel mode</a>. > </p></dd></dl></div><p> > We are interested in any strange failures of the testsuite; > please email the main libstdc++ mailing list if you see > @@ -354,7 +354,7 @@ cat 27_io/objects/char/3_xin.in | > a.out</pre></dd><dt><span class="term"><code c > but this no longer works. > </p><p> > To run the libstdc++ test suite under the > - <a class="link" href="debug_mode.html" title="Chapter 17. Debug > Mode">debug mode</a>, use > + <a class="link" href="debug_mode.html" title="Chapter 18. Debug > Mode">debug mode</a>, use > <strong class="userinput"><code>make check-debug</code></strong>. > Alternatively, edit > <code class="filename"><em > class="replaceable"><code>libbuilddir</code></em>/scripts/testsuite_flags</code> > to add the compile-time flag <code > class="option">-D_GLIBCXX_DEBUG</code> to the > @@ -370,7 +370,7 @@ cat 27_io/objects/char/3_xin.in | > a.out</pre></dd><dt><span class="term"><code c > <code class="literal">dg-require-<em > class="replaceable"><code>support</code></em></code> > directives described below. > </p><p> > - The <a class="link" href="parallel_mode.html" > title="Chapter 18. Parallel Mode">parallel > + The <a class="link" href="parallel_mode.html" > title="Chapter 19. Parallel Mode">parallel > mode</a> can be tested using > <strong class="userinput"><code>make > check-parallel</code></strong>, or in much the same manner > as the debug mode, substituting > diff --git a/libstdc++-v3/doc/html/manual/time.html > b/libstdc++-v3/doc/html/manual/time.html > new file mode 100644 > index 000000000000..90ffdbcf9f93 > --- /dev/null > +++ b/libstdc++-v3/doc/html/manual/time.html > @@ -0,0 +1,176 @@ > +<?xml version="1.0" encoding="UTF-8" standalone="no"?> > +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=" > http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" > content="text/html; charset=UTF-8" /><title>Chapter 13. Time</title><meta > name="generator" content="DocBook XSL Stylesheets Vsnapshot" /><meta > name="keywords" content="ISO C++, library" /><meta name="keywords" > content="ISO C++, runtime, library" /><link rel="home" href="../index.html" > title="The GNU C++ Library" /><link rel="up" href="std_contents.html" > title="Part II. Standard Contents" /><link rel="prev" > href="numerics_and_c.html" title="Interacting with C" /><link rel="next" > href="io.html" title="Chapter 14. Input and Output" /></head><body><div > class="navheader"><table width="100%" summary="Navigation header"><tr><th > colspan="3" align="center">Chapter 13. > + Time > + > +</th></tr><tr><td width="20%" align="left"><a accesskey="p" > href="numerics_and_c.html">Prev</a> </td><th width="60%" > align="center">Part II. > + Standard Contents > + </th><td width="20%" align="right"> <a accesskey="n" > href="io.html">Next</a></td></tr></table><hr /></div><div > class="chapter"><div class="titlepage"><div><div><h2 class="title"><a > id="std.time"></a>Chapter 13. > + Time > + <a id="id-1.3.4.11.1.1.1" class="indexterm"></a> > +</h2></div></div></div><div class="toc"><p><strong>Table of > Contents</strong></p><dl class="toc"><dt><span class="section"><a > href="time.html#std.time.zone.db">Time zone > database</a></span></dt><dd><dl><dt><span class="section"><a > href="time.html#zone.db.zic">tzdb uses zic format</a></span></dt><dt><span > class="section"><a href="time.html#zone.current">current > zone</a></span></dt><dt><span class="section"><a > href="time.html#zone.db.sources">data sources</a></span></dt><dt><span > class="section"><a > href="time.html#zone.db.iterator">tzdb_list::const_iterator extends > lifetime</a></span></dt></dl></dd></dl></div><div class="section"><div > class="titlepage"><div><div><h2 class="title" style="clear: both"><a > id="std.time.zone.db"></a>Time zone database</h2></div></div></div><p> > + Since C++20 the <code class="code"><chrono></code> header > provides time zone > + support via <code class="code">std::chrono::tzdb</code>, a complete > interface to the > + <a class="link" href="https://www.iana.org/time-zones" > target="_top">IANA Time Zone Database</a>. > + The library supports converting times between UTC and the local time > + in a specific time zone, querying UTC offsets and DST information > for a > + given time zone on a given date, and finding the system's current > time zone. > + Key entry points are <code > class="code">std::chrono::get_tzdb()</code> to access > + the database, <code class="code">std::chrono::locate_zone()</code> > to look up > + a zone by name, and <code > class="code">std::chrono::current_zone()</code> to obtain > + the system's local time zone. The <code > class="code">std::chrono::zoned_time</code> > + class template represents a time point in a given time zone. > + The database can be reloaded at runtime > + via <code class="code">std::chrono::reload_tzdb()</code> to pick up > updated zone > + data without restarting the program. > + </p><p> > + The <a class="link" href=" > https://howardhinnant.github.io/date/tz.html" target="_top">Time Zone > Database > + Parser</a> by Howard E. Hinnant is a valuable source of information > and > + examples of usage for the <code class="code">date</code> library, on > which the standard > + API is based. > + </p><div class="section"><div class="titlepage"><div><div><h3 > class="title"><a id="zone.db.zic"></a>tzdb uses zic > format</h3></div></div></div><p> > + When support is enabled (which is default) the time zone database > class, > + <code class="code">tzdb</code>, uses the <a class="link" href=" > https://man7.org/linux/man-pages/man8/zic.8.html#FILES" target="_top"> > + <code class="code">zic</code> file format</a>, both as the format of > the input > + files, and for in-memory representation. This results in a reduced > + memory footprint for many programs, as time zone data is stored in > + a compact form until needed by the application. > + </p><p> > + The transitions to/from DST (Daylight Savings Time) are generated and > + cached on the fly, when information > + for a given zone is requested. Consequently, the initial request for > + UTC conversion for a given <code class="code">time_zone</code> > object is slower. > + To mitigate this, a <code class="code">time_zone</code> can be > expanded for a > + particular time range at the start > + of the program (and after each reload), by iterating over the > + <code class="code">sys_info</code> dequence, as in the example below. > + </p><pre class="programlisting"> > + void > + expand_zone(const std::chrono::time_zone* tz, > + const std::chrono::sys_seconds start, > + const std::chrono::sys_seconds end) > + { > + std::chrono::sys_seconds time = start; > + while (time < end) { > + const std::chrono::sys_info& info = tz->get_info(time); > + time = info.end + std::chrono::seconds(1); > + } > + } > + </pre></div><div class="section"><div class="titlepage"><div><div><h3 > class="title"><a id="zone.current"></a>current > zone</h3></div></div></div><p> > + The <code class="code">time_zone</code> pointer returned from > + <code class="code">std::chrono::current_zone</code>, is determined > by looking up > + (by <code class="code">std::chrono::locate_zone</code>) IANA zone > name > + determined as follows (for platforms other than AIX and Windows): > + </p><div class="itemizedlist"><ul class="itemizedlist" > style="list-style-type: disc; "><li class="listitem"> > + On system supporting <code class="code">readlink</code>, suffix > components of the > + path of the file linked by <code > class="code">/etc/localtime</code>. The suffixes > + are matched in the other of increasing length, starting from the > final > + component, until the match is found in the time zone database. > + Any repeated slashes (<code class="code">//</code>) are eliminated. > + </li><li class="listitem"> > + Names stored in the files <code class="code">/etc/timezone</code> > (Debian > + derivatives) or <code class="code">/var/db/zoneinfo</code> > (FreeBSD) in that order. > + </li><li class="listitem"> > + Values for <code class="code">TIMEZONE</code> and <code > class="code">ZONE</code> keys in > + <code class="code">/etc/sysconfig/clock</code>. > + </li><li class="listitem"><code class="code">UTC</code>. > + </li></ul></div><p> > + For AIX, the value of <code class="code">TZ</code> environment value > is used, with > + fallback to <code class="code">UTC</code>. > + </p><p> > + On Windows <code class="code">TimeZoneKeyName</code> is mapped to > the IANA zone, using > + internal mapping hard-coded in library, with fallback to <code > class="code">UTC</code>: > + </p><div class="itemizedlist"><ul class="itemizedlist" > style="list-style-type: disc; "><li class="listitem"> > + If the returned <code class="code">TimeZoneKeyName</code> is empty > or DST is disabled, > + then a value based on <code class="code">Bias</code> is returned: > <code class="code">Etc/UTC</code> > + for zero, <code class="code">Etc/GMT+/-N</code> for value that is > multiply of 60, > + and empty string otherwise. > + </li><li class="listitem"> > + If the mapping contains a single entry for <code > class="code">TimeZoneKeyName</code>, > + that name is used. > + </li><li class="listitem"> > + If <code class="code">TimeZoneKeyName</code> corresponds to > multiple IANA zones, > + a 2-letter country code is used, retrieved by applying <code > class="code">GetGeoInfoW</code> > + on the result of <code > class="code">GetUserGeoID(GEOCLASS_NATION)</code>. > + If determining the country code fails, or no entry exits for a > given code, > + the first mapping entry (<code class="code">001</code>) is > returned. > + </li></ul></div></div><div class="section"><div > class="titlepage"><div><div><h3 class="title"><a > id="zone.db.sources"></a>data sources</h3></div></div></div><p> > + Depending on the build configuration (see > + <code class="code">--with-libstdcxx-zoneinfo=</code> documentation > in > + <a class="xref" href="configure.html" > title="Configure">Configuring</a>). > + the content of the time zone database is sourced from > + <code class="filename">tzdata.zi</code> and <code > class="filename">leapseconds</code> files > + located in <span class="emphasis"><em>zoneinfo_dir</em></span>, or > from static information > + embedded in the library. > + </p><p> > + By default, <span class="emphasis"><em>zoneinfo_dir</em></span> is > set to the > + system-specific default directory (if a suitable dir is known for > target), > + usually <code class="code">/usr/share/zoneinfo</code>. If no such > directory > + exits, or it does not contain the required files in the correct > format, > + embedded static data is used as fallback. > + </p><p> > + In addition to <code class="code">--with-libstdcxx-zoneinfo=</code> > configure option > + (used during GCC build), the path of <span > class="emphasis"><em>zoneinfo_dir</em></span> > + can be overridden by the application by providing a definition of > the > + <code class="code">__gnu_cxx::zoneinfo_dir_overrride()</code> > function. The > + returned path should be directory that contains <code > class="code">tzdata.zi</code> > + and <code class="code">leapseconds</code> files in the > + <a class="link" href=" > https://man7.org/linux/man-pages/man8/zic.8.html#FILES" target="_top"> > + <code class="code">zic</code> format</a>. > + </p><p> > + The embedded timezone information corresponds to the copy of the > + IANA database at the time of the release, and its version can be > queried > + using <code class="code">std::chrono::get_tzdb().version</code>. > + </p><p> > + The full time zone database can be disabled when GCC is configured, > + in which case a minimal time zone database is provided. This minimal > + database can be identified by <code > class="code">chrono::get_tzdb().version</code> > + being set to <code class="code">"ersatz"</code>. This database > contains leapseconds > + data, <code class="code">Etc/UTC</code>, <code > class="code">Etc/GMT</code> zones, and their aliases > + (<code class="code">Etc/Zulu</code>, <code > class="code">Etc/UCT</code>, <code class="code">Etc/Universal</code>, > + <code class="code">Etc/Greenwich</code>, <code > class="code">Etc/GMT0</code>, <code class="code">Etc/GMT+0</code>, > + <code class="code">Etc/GMT-0</code>). This information is > sufficient to support > + conversion between <code class="code">utc_clock</code> and <code > class="code">sys_clock</code>, > + as well as a <code class="code">UTC</code> fallback for <code > class="code">current_zone</code> > + (<a class="xref" href="time.html#zone.current" title="current > zone">current zone</a>). > + </p></div><div class="section"><div class="titlepage"><div><div><h3 > class="title"><a id="zone.db.iterator"></a>tzdb_list::const_iterator > extends lifetime</h3></div></div></div><p> > + The <code class="code">std::chrono::reload_tzdb()</code> function > may be used to load > + updated content of the <code class="code">tzdata.zi</code> and > <code class="code">leapseconds</code> > + files from <span class="emphasis"><em>zoneinfo_dir</em></span> (if > + <a class="xref" href="time.html#zone.db.sources" title="data > sources">data sources</a>). If the version is different > + (<code class="code">std::chrono::remote_version() != > std::chrono::get_tzdb().version</code>), > + a new element is added at the front of the <code > class="code">tzdb_list</code>. > + This new database is used for subsequent calls to <code > class="code">current_zone</code> > + and <code class="code">locate_zone</code>. > + </p><p> > + The above process is thread-safe, and does not invalidate nor > change any > + pre-existing pointers to <code class="code">time_zone</code> > objects. However, for a > + long-running application it may lead to accumulation of time zone > data, > + and thus increased memory usage. In most cases, this is acceptable > even > + for long-running applications, due to infrequent updates to the > IANA database, > + and the reduced footprint of the libstdc++ implementation (see > + <a class="xref" href="time.html#zone.db.zic" title="tzdb uses zic > format">tzdb uses zic format</a>). > + </p><p> > + If accumulating old <code class="code">tzdb</code> databases is not > acceptable > + (e.g. due to memory constraints), entries > + may be removed from <code class="code">tzdb_list</code> using <code > class="code">tzdb_list::erase_after</code>. > + When using this function, you are responsible for ensuring that the > application > + no longer is no longer using any <code > class="code">time_zone*</code> to a removed database. > + If you erase a <code class="code">tzdb</code> while some part of > the application is still > + using it (or one of its <code class="code">time_zone</code> > objects) you will create > + a dangling pointer, leading to undefined behaviour. > + To make <code class="code">tzdb_list::erase_after</code> safer, > libstdc++ provides an > + <span class="emphasis"><em>extension</em></span> that avoids > creating dangling pointers. > + The <code class="code">tzdb_list</code> uses <code > class="code">shared_ptr<tzdb></code> to > + refer to each entry in the list, and <code > class="code">tzdb_list::const_iterator</code> > + also uses a <code class="code">shared_ptr<tzdb></code> to > refer to its target. > + This means that iterators into the list share ownership of the list > elements, > + so that erasing an element from the list does not destroy it if > there are > + any iterators which share ownership of the element. The application > can > + use this to ensure that <code class="code">tzdb</code> and <code > class="code">time_zone</code> > + objects are not destroyed while they're still being used. The > lifetime > + of a <code class="code">tzdb</code> that is still in use can be > extended by holding > + onto a <code class="code">tzdb_list::const_iterator</code> that > refers to it. > + </p></div></div></div><div class="navfooter"><hr /><table > width="100%" summary="Navigation footer"><tr><td width="40%" > align="left"><a accesskey="p" href="numerics_and_c.html">Prev</a> </td><td > width="20%" align="center"><a accesskey="u" > href="std_contents.html">Up</a></td><td width="40%" align="right"> <a > accesskey="n" href="io.html">Next</a></td></tr><tr><td width="40%" > align="left" valign="top">Interacting with C </td><td width="20%" > align="center"><a accesskey="h" href="../index.html">Home</a></td><td > width="40%" align="right" valign="top"> Chapter 14. > + Input and Output > + > +</td></tr></table></div></body></html> > \ No newline at end of file > diff --git a/libstdc++-v3/doc/html/manual/using.html > b/libstdc++-v3/doc/html/manual/using.html > index 32a1c726cb1e..040c685395aa 100644 > --- a/libstdc++-v3/doc/html/manual/using.html > +++ b/libstdc++-v3/doc/html/manual/using.html > @@ -47,7 +47,7 @@ > header. > The <code class="filename">libstdc++exp.a</code> library > also provides all the symbols contained in this library. > - </td></tr><tr><td align="left"><code > class="literal">-fopenmp</code></td><td align="left">For <a class="link" > href="parallel_mode.html" title="Chapter 18. Parallel Mode">parallel</a> > mode.</td></tr><tr><td align="left"><code > class="literal">-ltbb</code></td><td align="left">Linking to tbb (Thread > Building Blocks) is required for use of the > + </td></tr><tr><td align="left"><code > class="literal">-fopenmp</code></td><td align="left">For <a class="link" > href="parallel_mode.html" title="Chapter 19. Parallel Mode">parallel</a> > mode.</td></tr><tr><td align="left"><code > class="literal">-ltbb</code></td><td align="left">Linking to tbb (Thread > Building Blocks) is required for use of the > Parallel Standard Algorithms and execution policies in > <code class="filename"><execution></code>. > </td></tr><tr><td align="left"><code > class="literal">-ffreestanding</code></td><td align="left"> > diff --git a/libstdc++-v3/doc/html/manual/using_macros.html > b/libstdc++-v3/doc/html/manual/using_macros.html > index 0df3a2d3451d..6cb467471c8c 100644 > --- a/libstdc++-v3/doc/html/manual/using_macros.html > +++ b/libstdc++-v3/doc/html/manual/using_macros.html > @@ -80,7 +80,7 @@ > detect violations of the requirements of the standard. This > macro has no effect for freestanding implementations. > This is described in more detail in > - <a class="link" href="ext_compile_checks.html" > title="Chapter 16. Compile Time Checks">Compile Time Checks</a>. > + <a class="link" href="ext_compile_checks.html" > title="Chapter 17. Compile Time Checks">Compile Time Checks</a>. > </p></dd><dt><span class="term"><code > class="code">_GLIBCXX_ASSERTIONS</code></span></dt><dd><p> > Defined by default when compiling with no optimization, undefined > by default when compiling with optimization. > @@ -93,22 +93,22 @@ > with no optimization. > </p></dd><dt><span class="term"><code > class="code">_GLIBCXX_DEBUG</code></span></dt><dd><p> > Undefined by default. When defined, compiles user code using > - the <a class="link" href="debug_mode.html" > title="Chapter 17. Debug Mode">debug mode</a>. > + the <a class="link" href="debug_mode.html" > title="Chapter 18. Debug Mode">debug mode</a>. > When defined, <code class="code">_GLIBCXX_ASSERTIONS</code> is > defined > automatically, so all the assertions enabled by that macro are > also > enabled in debug mode. > </p></dd><dt><span class="term"><code > class="code">_GLIBCXX_DEBUG_PEDANTIC</code></span></dt><dd><p> > Undefined by default. When defined while compiling with > - the <a class="link" href="debug_mode.html" > title="Chapter 17. Debug Mode">debug mode</a>, makes > + the <a class="link" href="debug_mode.html" > title="Chapter 18. Debug Mode">debug mode</a>, makes > the debug mode extremely picky by making the use of libstdc++ > extensions and libstdc++-specific behavior into errors. > </p></dd><dt><span class="term"><code > class="code">_GLIBCXX_DEBUG_BACKTRACE</code></span></dt><dd><p> > Undefined by default. Considered only if libstdc++ has been > configured with > <code class="option">--enable-libstdcxx-backtrace=yes</code> and > if <code class="code">_GLIBCXX_DEBUG</code> > is defined. When defined display backtraces on > - <a class="link" href="debug_mode.html" title="Chapter 17. Debug > Mode">debug mode</a> assertions. > + <a class="link" href="debug_mode.html" title="Chapter 18. Debug > Mode">debug mode</a> assertions. > </p></dd><dt><span class="term"><code > class="code">_GLIBCXX_PARALLEL</code></span></dt><dd><p>Undefined by > default. When defined, compiles user code > - using the <a class="link" href="parallel_mode.html" > title="Chapter 18. Parallel Mode">parallel > + using the <a class="link" href="parallel_mode.html" > title="Chapter 19. Parallel Mode">parallel > mode</a>. > </p></dd><dt><span class="term"><code > class="code">_GLIBCXX_PARALLEL_ASSERTIONS</code></span></dt><dd><p>Undefined > by default, but when any parallel mode header is included > this macro will be defined to a non-zero value if > diff --git a/libstdc++-v3/doc/xml/manual/spine.xml > b/libstdc++-v3/doc/xml/manual/spine.xml > index eff72bc13d72..47536f000778 100644 > --- a/libstdc++-v3/doc/xml/manual/spine.xml > +++ b/libstdc++-v3/doc/xml/manual/spine.xml > @@ -197,15 +197,19 @@ > <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" > href="numerics.xml"> > </xi:include> > > -<!-- Chapter 10 : Input Output --> > +<!-- Chapter 10 : Time --> > +<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" > href="time.xml"> > +</xi:include> > + > +<!-- Chapter 11 : Input Output --> > <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" > href="io.xml"> > </xi:include> > > -<!-- Chapter 11 : Atomics --> > +<!-- Chapter 12 : Atomics --> > <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" > href="atomics.xml"> > </xi:include> > > -<!-- Chapter 12 : Concurrency --> > +<!-- Chapter 13 : Concurrency --> > <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" > href="concurrency.xml"> > </xi:include> > > diff --git a/libstdc++-v3/doc/xml/manual/time.xml > b/libstdc++-v3/doc/xml/manual/time.xml > new file mode 100644 > index 000000000000..b61be5852ef2 > --- /dev/null > +++ b/libstdc++-v3/doc/xml/manual/time.xml > @@ -0,0 +1,242 @@ > +<chapter xmlns="http://docbook.org/ns/docbook" version="5.0" > + xml:id="std.time" xreflabel="Time"> > +<?dbhtml filename="time.html"?> > + > +<info><title> > + Time > + <indexterm><primary>Time</primary></indexterm> > +</title> > + <keywordset> > + <keyword>ISO C++</keyword> > + <keyword>library</keyword> > + </keywordset> > +</info> > + > +<!-- Sect1 01 : Time zone database --> > +<section xml:id="std.time.zone.db" xreflabel=""><info><title>Time zone > database</title></info> > +<?dbhtml filename="tzdb.html"?> > + > + <para> > + Since C++20 the <code><chrono></code> header provides time zone > + support via <code>std::chrono::tzdb</code>, a complete interface to > the > + <link xmlns:xlink="http://www.w3.org/1999/xlink" > + xlink:href="https://www.iana.org/time-zones">IANA Time Zone > Database</link>. > + The library supports converting times between UTC and the local time > + in a specific time zone, querying UTC offsets and DST information > for a > + given time zone on a given date, and finding the system's current > time zone. > + Key entry points are <code>std::chrono::get_tzdb()</code> to access > + the database, <code>std::chrono::locate_zone()</code> to look up > + a zone by name, and <code>std::chrono::current_zone()</code> to > obtain > + the system's local time zone. The > <code>std::chrono::zoned_time</code> > + class template represents a time point in a given time zone. > + The database can be reloaded at runtime > + via <code>std::chrono::reload_tzdb()</code> to pick up updated zone > + data without restarting the program. > + </para> > + > + <para> > + The <link xmlns:xlink="http://www.w3.org/1999/xlink" > + xlink:href="https://howardhinnant.github.io/date/tz.html">Time Zone > Database > + Parser</link> by Howard E. Hinnant is a valuable source of > information and > + examples of usage for the <code>date</code> library, on which the > standard > + API is based. > + </para> > + > + <section xml:id="zone.db.zic" xreflabel="tzdb uses zic > format"><info><title>tzdb uses zic format</title></info> > + > + <para> > + When support is enabled (which is default) the time zone database > class, > + <code>tzdb</code>, uses the <link xmlns:xlink=" > http://www.w3.org/1999/xlink" > + xlink:href="https://man7.org/linux/man-pages/man8/zic.8.html#FILES"> > + <code>zic</code> file format</link>, both as the format of the input > + files, and for in-memory representation. This results in a reduced > + memory footprint for many programs, as time zone data is stored in > + a compact form until needed by the application. > + </para> > + <para> > + The transitions to/from DST (Daylight Savings Time) are generated and > + cached on the fly, when information > + for a given zone is requested. Consequently, the initial request for > + UTC conversion for a given <code>time_zone</code> object is slower. > + To mitigate this, a <code>time_zone</code> can be expanded for a > + particular time range at the start > + of the program (and after each reload), by iterating over the > + <code>sys_info</code> dequence, as in the example below. > + </para> > + <programlisting> > + void > + expand_zone(const std::chrono::time_zone* tz, > + const std::chrono::sys_seconds start, > + const std::chrono::sys_seconds end) > + { > + std::chrono::sys_seconds time = start; > + while (time < end) { > + const std::chrono::sys_info& info = tz->get_info(time); > + time = info.end + std::chrono::seconds(1); > + } > + } > + </programlisting> > + </section> > + > + <section xml:id="zone.current" xreflabel="current > zone"><info><title>current zone</title></info> > + > + <para> > + The <code>time_zone</code> pointer returned from > + <code>std::chrono::current_zone</code>, is determined by looking up > + (by <code>std::chrono::locate_zone</code>) IANA zone name > + determined as follows (for platforms other than AIX and Windows): > + </para> > + <itemizedlist> > + <listitem> > + On system supporting <code>readlink</code>, suffix components of > the > + path of the file linked by <code>/etc/localtime</code>. The > suffixes > + are matched in the other of increasing length, starting from the > final > + component, until the match is found in the time zone database. > + Any repeated slashes (<code>//</code>) are eliminated. > + </listitem> > + <listitem> > + Names stored in the files <code>/etc/timezone</code> (Debian > + derivatives) or <code>/var/db/zoneinfo</code> (FreeBSD) in that > order. > + </listitem> > + <listitem> > + Values for <code>TIMEZONE</code> and <code>ZONE</code> keys in > + <code>/etc/sysconfig/clock</code>. > + </listitem> > + <listitem> > + <code>UTC</code>. > + </listitem> > + </itemizedlist> > + > + <para> > + For AIX, the value of <code>TZ</code> environment value is used, with > + fallback to <code>UTC</code>. > + </para> > + > + <para> > + On Windows <code>TimeZoneKeyName</code> is mapped to the IANA zone, > using > + internal mapping hard-coded in library, with fallback to > <code>UTC</code>: > + </para> > + <itemizedlist> > + <listitem> > + If the returned <code>TimeZoneKeyName</code> is empty or DST is > disabled, > + then a value based on <code>Bias</code> is returned: > <code>Etc/UTC</code> > + for zero, <code>Etc/GMT+/-N</code> for value that is multiply of > 60, > + and empty string otherwise. > + </listitem> > + <listitem> > + If the mapping contains a single entry for > <code>TimeZoneKeyName</code>, > + that name is used. > + </listitem> > + <listitem> > + If <code>TimeZoneKeyName</code> corresponds to multiple IANA zones, > + a 2-letter country code is used, retrieved by applying > <code>GetGeoInfoW</code> > + on the result of <code>GetUserGeoID(GEOCLASS_NATION)</code>. > + If determining the country code fails, or no entry exits for a > given code, > + the first mapping entry (<code>001</code>) is returned. > + </listitem> > + </itemizedlist> > + </section> > + > + <section xml:id="zone.db.sources" xreflabel="data > sources"><info><title>data sources</title></info> > + <para> > + Depending on the build configuration (see > + <code>--with-libstdcxx-zoneinfo=</code> documentation in > + <xref linkend="manual.intro.setup.configure">Configure > section</xref>). > + the content of the time zone database is sourced from > + <filename>tzdata.zi</filename> and <filename>leapseconds</filename> > files > + located in <emphasis>zoneinfo_dir</emphasis>, or from static > information > + embedded in the library. > + </para> > + > + <para> > + By default, <emphasis>zoneinfo_dir</emphasis> is set to the > + system-specific default directory (if a suitable dir is known for > target), > + usually <code>/usr/share/zoneinfo</code>. If no such directory > + exits, or it does not contain the required files in the correct > format, > + embedded static data is used as fallback. > + </para> > + > + <para> > + In addition to <code>--with-libstdcxx-zoneinfo=</code> configure > option > + (used during GCC build), the path of > <emphasis>zoneinfo_dir</emphasis> > + can be overridden by the application by providing a definition of > the > + <code>__gnu_cxx::zoneinfo_dir_overrride()</code> function. The > + returned path should be directory that contains > <code>tzdata.zi</code> > + and <code>leapseconds</code> files in the > + <link xmlns:xlink="http://www.w3.org/1999/xlink" > + xlink:href="https://man7.org/linux/man-pages/man8/zic.8.html#FILES > "> > + <code>zic</code> format</link>. > + </para> > + > + <para> > + The embedded timezone information corresponds to the copy of the > + IANA database at the time of the release, and its version can be > queried > + using <code>std::chrono::get_tzdb().version</code>. > + </para> > + > + <para> > + The full time zone database can be disabled when GCC is configured, > + in which case a minimal time zone database is provided. This minimal > + database can be identified by > <code>chrono::get_tzdb().version</code> > + being set to <code>"ersatz"</code>. This database contains > leapseconds > + data, <code>Etc/UTC</code>, <code>Etc/GMT</code> zones, and their > aliases > + (<code>Etc/Zulu</code>, <code>Etc/UCT</code>, > <code>Etc/Universal</code>, > + <code>Etc/Greenwich</code>, <code>Etc/GMT0</code>, > <code>Etc/GMT+0</code>, > + <code>Etc/GMT-0</code>). This information is sufficient to support > + conversion between <code>utc_clock</code> and > <code>sys_clock</code>, > + as well as a <code>UTC</code> fallback for <code>current_zone</code> > + (<xref linkend="zone.current">link</xref>). > + </para> > + </section> > + > + <section xml:id="zone.db.iterator" xreflabel="tzdb_list::const_iterator > extends lifetime"> > + <info><title>tzdb_list::const_iterator extends lifetime</title></info> > + > + <para> > + The <code>std::chrono::reload_tzdb()</code> function may be used to > load > + updated content of the <code>tzdata.zi</code> and > <code>leapseconds</code> > + files from <emphasis>zoneinfo_dir</emphasis> (if > + <xref linkend="zone.db.sources">enabled</xref>). If the version is > different > + (<code>std::chrono::remote_version() != > std::chrono::get_tzdb().version</code>), > + a new element is added at the front of the <code>tzdb_list</code>. > + This new database is used for subsequent calls to > <code>current_zone</code> > + and <code>locate_zone</code>. > + </para> > + > + <para> > + The above process is thread-safe, and does not invalidate nor > change any > + pre-existing pointers to <code>time_zone</code> objects. However, > for a > + long-running application it may lead to accumulation of time zone > data, > + and thus increased memory usage. In most cases, this is acceptable > even > + for long-running applications, due to infrequent updates to the > IANA database, > + and the reduced footprint of the libstdc++ implementation (see > + <xref linkend="zone.db.zic">link</xref>). > + </para> > + > + <para> > + If accumulating old <code>tzdb</code> databases is not acceptable > + (e.g. due to memory constraints), entries > + may be removed from <code>tzdb_list</code> using > <code>tzdb_list::erase_after</code>. > + When using this function, you are responsible for ensuring that the > application > + no longer is no longer using any <code>time_zone*</code> to a > removed database. > + If you erase a <code>tzdb</code> while some part of the application > is still > + using it (or one of its <code>time_zone</code> objects) you will > create > + a dangling pointer, leading to undefined behaviour. > + To make <code>tzdb_list::erase_after</code> safer, libstdc++ > provides an > + <emphasis>extension</emphasis> that avoids creating dangling > pointers. > + The <code>tzdb_list</code> uses <code>shared_ptr<tzdb></code> > to > + refer to each entry in the list, and > <code>tzdb_list::const_iterator</code> > + also uses a <code>shared_ptr<tzdb></code> to refer to its > target. > + This means that iterators into the list share ownership of the list > elements, > + so that erasing an element from the list does not destroy it if > there are > + any iterators which share ownership of the element. The application > can > + use this to ensure that <code>tzdb</code> and <code>time_zone</code> > + objects are not destroyed while they're still being used. The > lifetime > + of a <code>tzdb</code> that is still in use can be extended by > holding > + onto a <code>tzdb_list::const_iterator</code> that refers to it. > + </para> > + </section> > + > +</section> > + > +</chapter> > -- > 2.55.0 > >