{"id":2229599,"url":"http://patchwork.ozlabs.org/api/1.1/patches/2229599/?format=json","web_url":"http://patchwork.ozlabs.org/project/gcc/patch/20260428130313.444088-1-tkaminsk@redhat.com/","project":{"id":17,"url":"http://patchwork.ozlabs.org/api/1.1/projects/17/?format=json","name":"GNU Compiler Collection","link_name":"gcc","list_id":"gcc-patches.gcc.gnu.org","list_email":"gcc-patches@gcc.gnu.org","web_url":null,"scm_url":null,"webscm_url":null},"msgid":"<20260428130313.444088-1-tkaminsk@redhat.com>","date":"2026-04-28T13:02:50","name":"libstdc++/doc: Document std::chrono::tzdb database implementation.","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"90bcbc6044e55b0bfcbed3a270671937bddf419a","submitter":{"id":90409,"url":"http://patchwork.ozlabs.org/api/1.1/people/90409/?format=json","name":"Tomasz Kaminski","email":"tkaminsk@redhat.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/gcc/patch/20260428130313.444088-1-tkaminsk@redhat.com/mbox/","series":[{"id":501863,"url":"http://patchwork.ozlabs.org/api/1.1/series/501863/?format=json","web_url":"http://patchwork.ozlabs.org/project/gcc/list/?series=501863","date":"2026-04-28T13:02:50","name":"libstdc++/doc: Document std::chrono::tzdb database implementation.","version":1,"mbox":"http://patchwork.ozlabs.org/series/501863/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2229599/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2229599/checks/","tags":{},"headers":{"Return-Path":"<gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org>","X-Original-To":["incoming@patchwork.ozlabs.org","gcc-patches@gcc.gnu.org"],"Delivered-To":["patchwork-incoming@legolas.ozlabs.org","gcc-patches@gcc.gnu.org"],"Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256\n header.s=mimecast20190719 header.b=KlW9CzYf;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org\n (client-ip=38.145.34.32; helo=vm01.sourceware.org;\n envelope-from=gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org;\n receiver=patchwork.ozlabs.org)","sourceware.org;\n\tdkim=pass (1024-bit key,\n unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256\n header.s=mimecast20190719 header.b=KlW9CzYf","sourceware.org; dmarc=pass (p=quarantine dis=none)\n header.from=redhat.com","sourceware.org; spf=pass smtp.mailfrom=redhat.com","server2.sourceware.org;\n arc=none smtp.remote-ip=170.10.129.124"],"Received":["from vm01.sourceware.org (vm01.sourceware.org [38.145.34.32])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g4hwP4Ww9z1xvV\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 29 Apr 2026 00:03:00 +1000 (AEST)","from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id 9E9544BA5435\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 28 Apr 2026 14:02:57 +0000 (GMT)","from us-smtp-delivery-124.mimecast.com\n (us-smtp-delivery-124.mimecast.com [170.10.129.124])\n by sourceware.org (Postfix) with ESMTP id 40E224B920C6\n for <gcc-patches@gcc.gnu.org>; Tue, 28 Apr 2026 13:03:25 +0000 (GMT)","from mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com\n (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by\n relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3,\n cipher=TLS_AES_256_GCM_SHA384) id us-mta-119-ZXgW5FH-ObqrcwGwWp3NGw-1; Tue,\n 28 Apr 2026 09:03:18 -0400","from mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com\n (mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.4])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest\n SHA256)\n (No client certificate requested)\n by mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS\n id C2BD21800652; Tue, 28 Apr 2026 13:03:16 +0000 (UTC)","from localhost (unknown [10.44.50.244])\n by mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP\n id 391CA3000C22; Tue, 28 Apr 2026 13:03:14 +0000 (UTC)"],"DKIM-Filter":["OpenDKIM Filter v2.11.0 sourceware.org 9E9544BA5435","OpenDKIM Filter v2.11.0 sourceware.org 40E224B920C6"],"DMARC-Filter":"OpenDMARC Filter v1.4.2 sourceware.org 40E224B920C6","ARC-Filter":"OpenARC Filter v1.0.0 sourceware.org 40E224B920C6","ARC-Seal":"i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1777381405; cv=none;\n b=B6xite1vkwNCeekXiNP9oe0A0D7aKvNgtQTW+KO/ljqKWGtQxs8zlL+0sGGVCKHuunZrIq1UrHuu+u/k7OFetNn7GdP5t/TvnVoycebmEHZ0BbK2AnhbB42VNOu2GDJBg01dGZE6erznmyfcVtlMf20WchHq1/DSbE/10GXGBU4=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=sourceware.org; s=key;\n t=1777381405; c=relaxed/simple;\n bh=MOylWvVCx7ixFdKPhMRLYCLf4DoFemcU7CbhBC0bbOU=;\n h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version;\n b=evJIbXIEHwuMDzEDn+sQnTQN7PdZGuCTX32s+LiVDE79r3j17E9nzwCAA0kcnZ5B9qfLi1G7bxTKHqN6p3+/89oF3c/neBFoHX8NSDpIDYzrwlS6A/VGnh9GCMvqcRC46qui8XuA6W1l6dgC+7EiKaV6LuStTW43EdWWTNY+N3A=","ARC-Authentication-Results":"i=1; server2.sourceware.org","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n s=mimecast20190719; t=1777381404;\n h=from:from:reply-to:subject:subject:date:date:message-id:message-id:\n to:to:cc:mime-version:mime-version:content-type:content-type:\n content-transfer-encoding:content-transfer-encoding;\n bh=IMl3KOEnDnCaLBPdwVwLGPzmgiK1tyWQf+WrhjYwKXY=;\n b=KlW9CzYfsQgH6VemVc/5qH/1Dpw6ETLlRiu4tbD/b8kEAkTqgLICwyWsB8gMNotV2RPG//\n uLpuhZ60FBri26rYOthqboP63IKalX7m+Tn4gCvJ007uU2wqw7x/FJQdTHnUQJbShuSkJN\n 5zA72WQ47l9E2CL+p7BAJB03Zz0BDGc=","X-MC-Unique":"ZXgW5FH-ObqrcwGwWp3NGw-1","X-Mimecast-MFC-AGG-ID":"ZXgW5FH-ObqrcwGwWp3NGw_1777381397","From":"=?utf-8?q?Tomasz_Kami=C5=84ski?= <tkaminsk@redhat.com>","To":"libstdc++@gcc.gnu.org,\n\tgcc-patches@gcc.gnu.org","Subject":"[PATCH] libstdc++/doc: Document std::chrono::tzdb database\n implementation.","Date":"Tue, 28 Apr 2026 15:02:50 +0200","Message-ID":"<20260428130313.444088-1-tkaminsk@redhat.com>","MIME-Version":"1.0","X-Scanned-By":"MIMEDefang 3.4.1 on 10.30.177.4","X-Mimecast-Spam-Score":"0","X-Mimecast-MFC-PROC-ID":"m-axHWcMAfsosT4tOUWvnjFXc1s0bdImdCBJaOFob-w_1777381397","X-Mimecast-Originator":"redhat.com","Content-Type":"text/plain; charset=UTF-8","Content-Transfer-Encoding":"quoted-printable","X-Mailman-Approved-At":"Tue, 28 Apr 2026 14:00:59 +0000","X-BeenThere":"gcc-patches@gcc.gnu.org","X-Mailman-Version":"2.1.30","Precedence":"list","List-Id":"Gcc-patches mailing list <gcc-patches.gcc.gnu.org>","List-Unsubscribe":"<https://gcc.gnu.org/mailman/options/gcc-patches>,\n <mailto:gcc-patches-request@gcc.gnu.org?subject=unsubscribe>","List-Archive":"<https://gcc.gnu.org/pipermail/gcc-patches/>","List-Post":"<mailto:gcc-patches@gcc.gnu.org>","List-Help":"<mailto:gcc-patches-request@gcc.gnu.org?subject=help>","List-Subscribe":"<https://gcc.gnu.org/mailman/listinfo/gcc-patches>,\n <mailto:gcc-patches-request@gcc.gnu.org?subject=subscribe>","Errors-To":"gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org"},"content":"libstdc++-v3/ChangeLog:\n\n\t* doc/Makefile.am: Add time.xml.\n\t* doc/Makefile.in: Regenerate.\n\t* doc/html/*: Regenerate.\n\t* doc/xml/manual/spine.xml: Add time.xml.\n\t* doc/xml/manual/time.xml: New file.\n---\nI think I covered everything we discussed.\nOK for trunk?\n\n libstdc++-v3/doc/Makefile.am                  |   1 +\n libstdc++-v3/doc/Makefile.in                  |   1 +\n libstdc++-v3/doc/html/index.html              |  15 +-\n libstdc++-v3/doc/html/manual/api.html         |   2 +-\n libstdc++-v3/doc/html/manual/atomics.html     |   8 +-\n .../doc/html/manual/bitmap_allocator.html     |   4 +-\n .../html/manual/bitmap_allocator_impl.html    |   6 +-\n libstdc++-v3/doc/html/manual/concurrency.html |   8 +-\n libstdc++-v3/doc/html/manual/debug.html       |   6 +-\n libstdc++-v3/doc/html/manual/debug_mode.html  |   6 +-\n .../doc/html/manual/debug_mode_design.html    |   4 +-\n .../doc/html/manual/debug_mode_semantics.html |   4 +-\n .../doc/html/manual/debug_mode_using.html     |   6 +-\n .../doc/html/manual/ext_algorithms.html       |   6 +-\n .../doc/html/manual/ext_compile_checks.html   |   6 +-\n .../doc/html/manual/ext_concurrency.html      |   6 +-\n .../doc/html/manual/ext_concurrency_impl.html |   4 +-\n .../doc/html/manual/ext_concurrency_use.html  |   2 +-\n .../doc/html/manual/ext_containers.html       |   4 +-\n .../doc/html/manual/ext_demangling.html       |   6 +-\n libstdc++-v3/doc/html/manual/ext_io.html      |   6 +-\n .../doc/html/manual/ext_iterators.html        |   6 +-\n .../doc/html/manual/ext_numerics.html         |   6 +-\n libstdc++-v3/doc/html/manual/ext_preface.html |   4 +-\n libstdc++-v3/doc/html/manual/ext_sgi.html     |   4 +-\n .../doc/html/manual/ext_utilities.html        |   6 +-\n libstdc++-v3/doc/html/manual/extensions.html  |   8 +-\n libstdc++-v3/doc/html/manual/fstreams.html    |   2 +-\n libstdc++-v3/doc/html/manual/index.html       |  31 +--\n libstdc++-v3/doc/html/manual/io.html          |  13 +-\n libstdc++-v3/doc/html/manual/io_and_c.html    |   6 +-\n libstdc++-v3/doc/html/manual/memory.html      |   6 +-\n .../doc/html/manual/mt_allocator.html         |   4 +-\n .../doc/html/manual/mt_allocator_design.html  |   4 +-\n .../html/manual/mt_allocator_ex_multi.html    |   4 +-\n .../html/manual/mt_allocator_ex_single.html   |   2 +-\n .../doc/html/manual/mt_allocator_impl.html    |   2 +-\n .../doc/html/manual/numerics_and_c.html       |   8 +-\n .../doc/html/manual/parallel_mode.html        |   4 +-\n .../doc/html/manual/parallel_mode_design.html |   2 +-\n .../html/manual/parallel_mode_semantics.html  |   4 +-\n .../doc/html/manual/parallel_mode_test.html   |   4 +-\n .../doc/html/manual/parallel_mode_using.html  |   4 +-\n .../policy_based_data_structures_test.html    |   2 +-\n .../html/manual/policy_data_structures.html   |  16 +-\n .../manual/policy_data_structures_ack.html    |   4 +-\n .../manual/policy_data_structures_design.html |  70 +++---\n .../manual/policy_data_structures_using.html  |   6 +-\n libstdc++-v3/doc/html/manual/status.html      |   4 +-\n .../doc/html/manual/std_contents.html         |   9 +-\n libstdc++-v3/doc/html/manual/streambufs.html  |   4 +-\n .../doc/html/manual/stringstreams.html        |   2 +-\n libstdc++-v3/doc/html/manual/test.html        |   8 +-\n libstdc++-v3/doc/html/manual/time.html        | 145 ++++++++++++\n libstdc++-v3/doc/html/manual/using.html       |   2 +-\n .../doc/html/manual/using_macros.html         |  10 +-\n libstdc++-v3/doc/xml/manual/spine.xml         |  10 +-\n libstdc++-v3/doc/xml/manual/time.xml          | 208 ++++++++++++++++++\n 58 files changed, 558 insertions(+), 187 deletions(-)\n create mode 100644 libstdc++-v3/doc/html/manual/time.html\n create mode 100644 libstdc++-v3/doc/xml/manual/time.xml","diff":"diff --git a/libstdc++-v3/doc/Makefile.am b/libstdc++-v3/doc/Makefile.am\nindex 330b07ccf8c..69f5faafc26 100644\n--- a/libstdc++-v3/doc/Makefile.am\n+++ b/libstdc++-v3/doc/Makefile.am\n@@ -357,6 +357,7 @@ xml_sources_manual = \\\n \t${xml_dir}/manual/support.xml \\\n \t${xml_dir}/manual/test.xml \\\n \t${xml_dir}/manual/test_policy_data_structures.xml \\\n+\t${xml_dir}/manual/time.xml \\\n \t${xml_dir}/manual/using.xml \\\n \t${xml_dir}/manual/using_exceptions.xml \\\n \t${xml_dir}/manual/utilities.xml \\\ndiff --git a/libstdc++-v3/doc/Makefile.in b/libstdc++-v3/doc/Makefile.in\nindex 6e7a5a0f908..39a6988d485 100644\n--- a/libstdc++-v3/doc/Makefile.in\n+++ b/libstdc++-v3/doc/Makefile.in\n@@ -509,6 +509,7 @@ xml_sources_manual = \\\n \t${xml_dir}/manual/support.xml \\\n \t${xml_dir}/manual/test.xml \\\n \t${xml_dir}/manual/test_policy_data_structures.xml \\\n+\t${xml_dir}/manual/time.xml \\\n \t${xml_dir}/manual/using.xml \\\n \t${xml_dir}/manual/using_exceptions.xml \\\n \t${xml_dir}/manual/utilities.xml \\\ndiff --git a/libstdc++-v3/doc/html/index.html b/libstdc++-v3/doc/html/index.html\nindex 782f3bbc299..f30560265c7 100644\n--- a/libstdc++-v3/doc/html/index.html\n+++ b/libstdc++-v3/doc/html/index.html\n@@ -52,20 +52,23 @@\n </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. \n   Numerics\n   \n-</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. \n+</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. \n+  Time\n+  \n+</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 extents lifetime</a></span></dt></dl></dd></dl></dd><dt><span class=\"chapter\"><a href=\"manual/io.html\">14. \n   Input and Output\n   \n-</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. \n+</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. \n   Atomics\n   \n-</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. \n+</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. \n   Concurrency\n   \n </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. \n   Extensions\n   \n-</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\n-    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\">\n+</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\n+    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\">\n \t    Configuring via Template Parameters\n \t  </a></span></dt><dt><span class=\"section\"><a href=\"manual/policy_data_structures_using.html#pbds.using.tutorial.traits\">\n \t    Querying Container Attributes\n@@ -127,7 +130,7 @@\n \t  Text <code class=\"function\">modify</code> Up\n \t</a></span></dt><dt><span class=\"section\"><a href=\"manual/policy_based_data_structures_test.html#performance.priority_queue.text_modify_down\">\n \t  Text <code class=\"function\">modify</code> Down\n-\t</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. \n+\t</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. \n   Appendices\n </a></span></dt><dd><dl><dt><span class=\"appendix\"><a href=\"manual/appendix_contributing.html\">A. \n   Contributing\ndiff --git a/libstdc++-v3/doc/html/manual/api.html b/libstdc++-v3/doc/html/manual/api.html\nindex f004ddc166d..b53d9534ee3 100644\n--- a/libstdc++-v3/doc/html/manual/api.html\n+++ b/libstdc++-v3/doc/html/manual/api.html\n@@ -34,7 +34,7 @@ Removal of <code class=\"filename\">&lt;ext/tree&gt;</code>, moved to <code class=\n    GCC 3.4 onwards the default allocator uses <code class=\"code\">new</code> anyway,\n    but for the optional pooling allocators the functionality is enabled by\n    setting <code class=\"literal\">GLIBCXX_FORCE_NEW</code> in the environment, see\n-   <a class=\"link\" href=\"mt_allocator.html\" title=\"Chapter 19. The mt_allocator\">the mt allocator chapter</a>\n+   <a class=\"link\" href=\"mt_allocator.html\" title=\"Chapter 20. The mt_allocator\">the mt allocator chapter</a>\n    for details.\n    </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>\n   </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>\ndiff --git a/libstdc++-v3/doc/html/manual/atomics.html b/libstdc++-v3/doc/html/manual/atomics.html\nindex 416bf0acc6a..ec9b73a2a2c 100644\n--- a/libstdc++-v3/doc/html/manual/atomics.html\n+++ b/libstdc++-v3/doc/html/manual/atomics.html\n@@ -1,12 +1,12 @@\n <?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n-<!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. \n+<!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. \n   Atomics\n   \n </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. \n     Standard Contents\n-  </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. \n+  </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. \n   Atomics\n-  <a id=\"id-1.3.4.12.1.1.1\" class=\"indexterm\"></a>\n+  <a id=\"id-1.3.4.13.1.1.1\" class=\"indexterm\"></a>\n </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>\n   Facilities for atomic operations.\n </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>\n@@ -24,7 +24,7 @@\n     <code class=\"classname\">atomic&lt;int&gt;</code>.\n   </p><p>\n     Full API details.\n-  </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. \n+  </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. \n   Concurrency\n   \n </td></tr></table></div></body></html>\n\\ No newline at end of file\ndiff --git a/libstdc++-v3/doc/html/manual/bitmap_allocator.html b/libstdc++-v3/doc/html/manual/bitmap_allocator.html\nindex 51f52ea9941..265bba92764 100644\n--- a/libstdc++-v3/doc/html/manual/bitmap_allocator.html\n+++ b/libstdc++-v3/doc/html/manual/bitmap_allocator.html\n@@ -1,8 +1,8 @@\n <?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n-<!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. \n+<!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. \n   Extensions\n   \n-</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>\n+</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>\n </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>\n     As this name suggests, this allocator uses a bit-map to keep track\n     of the used and unused memory locations for its book-keeping\ndiff --git a/libstdc++-v3/doc/html/manual/bitmap_allocator_impl.html b/libstdc++-v3/doc/html/manual/bitmap_allocator_impl.html\nindex 0c68eea720f..44b5728e808 100644\n--- a/libstdc++-v3/doc/html/manual/bitmap_allocator_impl.html\n+++ b/libstdc++-v3/doc/html/manual/bitmap_allocator_impl.html\n@@ -1,5 +1,5 @@\n <?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n-<!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>\n+<!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>\n     The Free List Store (referred to as FLS for the remaining part of this\n     document) is the Global memory pool that is shared by all instances of\n     the bitmapped allocator instantiated for any type. This maintains a\n@@ -75,7 +75,7 @@ else return false.</p></li></ol></div><p>\n   </p><p>\n     Consider a block of size 64 ints. In memory, it would look like this:\n     (assume a 32-bit system where, size_t is a 32-bit entity).\n-  </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 -&gt; Space for 64 ints</td></tr></tbody></table></div></div><br class=\"table-break\" /><p>\n+  </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 -&gt; Space for 64 ints</td></tr></tbody></table></div></div><br class=\"table-break\" /><p>\n     The first Column(268) represents the size of the Block in bytes as\n     seen by the Bitmap Allocator. Internally, a global free list is\n     used to keep track of the free blocks used and given back by the\n@@ -309,4 +309,4 @@ equivalent.</p></li><li class=\"listitem\"><p>And also this would preserve the cac\n     sizeof(size_t) x 8 which is the number of bits in an integer,\n     which can fit exactly in a CPU register. Hence, the term given is\n     exponential growth of the internal pool.\n-  </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>\n\\ No newline at end of file\n+  </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>\n\\ No newline at end of file\ndiff --git a/libstdc++-v3/doc/html/manual/concurrency.html b/libstdc++-v3/doc/html/manual/concurrency.html\nindex e0c83759094..07f6c1350fe 100644\n--- a/libstdc++-v3/doc/html/manual/concurrency.html\n+++ b/libstdc++-v3/doc/html/manual/concurrency.html\n@@ -1,12 +1,12 @@\n <?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n-<!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. \n+<!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. \n   Concurrency\n   \n </th></tr><tr><td width=\"20%\" align=\"left\"><a accesskey=\"p\" href=\"atomics.html\">Prev</a> </td><th width=\"60%\" align=\"center\">Part II. \n     Standard Contents\n-  </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. \n+  </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. \n   Concurrency\n-  <a id=\"id-1.3.4.13.1.1.1\" class=\"indexterm\"></a>\n+  <a id=\"id-1.3.4.14.1.1.1\" class=\"indexterm\"></a>\n </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>\n   Facilities for concurrent operation, and control thereof.\n </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>\n@@ -32,7 +32,7 @@\n     and <code class=\"classname\">packaged_task</code>.\n   </p><p>\n     Full API details.\n-  </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. \n+  </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. \n   Atomics\n   \n  </td><td width=\"20%\" align=\"center\"><a accesskey=\"h\" href=\"../index.html\">Home</a></td><td width=\"40%\" align=\"right\" valign=\"top\"> Part III. \ndiff --git a/libstdc++-v3/doc/html/manual/debug.html b/libstdc++-v3/doc/html/manual/debug.html\nindex 1623cd30486..8221df1a7e0 100644\n--- a/libstdc++-v3/doc/html/manual/debug.html\n+++ b/libstdc++-v3/doc/html/manual/debug.html\n@@ -31,7 +31,7 @@\n   for Debugging Your Program\"</a> in Using the GNU Compiler\n   Collection (GCC) for a complete list.\n </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>\n-  The <a class=\"link\" href=\"debug_mode.html\" title=\"Chapter 17. Debug Mode\">Debug Mode</a>\n+  The <a class=\"link\" href=\"debug_mode.html\" title=\"Chapter 18. Debug Mode\">Debug Mode</a>\n   has compile and run-time checks for many containers.\n </p><p>\n   There are also lightweight assertions for checking function preconditions,\n@@ -125,7 +125,7 @@\n   <code class=\"literal\">GLIBCXX_FORCE_NEW</code> to keep extraneous pool allocation\n   noise from cluttering debug information.\n   For more details, see the\n-  <a class=\"link\" href=\"mt_allocator.html\" title=\"Chapter 19. The mt_allocator\">mt allocator</a>\n+  <a class=\"link\" href=\"mt_allocator.html\" title=\"Chapter 20. The mt_allocator\">mt allocator</a>\n   documentation and look specifically for <code class=\"code\">GLIBCXX_FORCE_NEW</code>.\n </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>\n   All synchronization primitives used in the library internals need to be\n@@ -244,7 +244,7 @@\n   A second approach is to use the configuration flags\n </p><pre class=\"programlisting\">\n      make CXXFLAGS='-g3 -fno-inline -O0' all\n-</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\n+</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\n   Checks</a> extension has compile-time checks for many algorithms.\n   These checks were designed for C++98 and have not been updated to work\n   with C++11 and later standards. They might be removed at a future date.\ndiff --git a/libstdc++-v3/doc/html/manual/debug_mode.html b/libstdc++-v3/doc/html/manual/debug_mode.html\nindex 5e3882b935c..09f6612335d 100644\n--- a/libstdc++-v3/doc/html/manual/debug_mode.html\n+++ b/libstdc++-v3/doc/html/manual/debug_mode.html\n@@ -1,8 +1,8 @@\n <?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n-<!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. \n+<!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. \n   Extensions\n   \n-</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\n+</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\n     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>\n     By default, libstdc++ is built with efficiency in mind, and\n     therefore performs little or no error checking that is not\n@@ -34,4 +34,4 @@\n     the same predicate that was passed\n     to <code class=\"code\">set_intersection</code>; the libstdc++ debug mode will\n     detect an error if the sequence is not sorted or was sorted by a\n-    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>\n\\ No newline at end of file\n+    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>\n\\ No newline at end of file\ndiff --git a/libstdc++-v3/doc/html/manual/debug_mode_design.html b/libstdc++-v3/doc/html/manual/debug_mode_design.html\nindex 03f72ae96fe..d888660a267 100644\n--- a/libstdc++-v3/doc/html/manual/debug_mode_design.html\n+++ b/libstdc++-v3/doc/html/manual/debug_mode_design.html\n@@ -1,5 +1,5 @@\n <?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n-<!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>\n+<!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>\n   </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>\n     </p><p> The libstdc++ debug mode replaces unsafe (but efficient) standard\n   containers and iterators with semantically equivalent safe standard\n@@ -402,4 +402,4 @@ test02()\n   a full debug-mode implementation (including debugging for\n   CodeWarrior extensions) and is easy to use, although it meets only\n   the \"Full recompilation\" (1) recompilation\n-  guarantee.</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>\n\\ No newline at end of file\n+  guarantee.</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>\n\\ No newline at end of file\ndiff --git a/libstdc++-v3/doc/html/manual/debug_mode_semantics.html b/libstdc++-v3/doc/html/manual/debug_mode_semantics.html\nindex 35d8aa3ac4b..f65020a863d 100644\n--- a/libstdc++-v3/doc/html/manual/debug_mode_semantics.html\n+++ b/libstdc++-v3/doc/html/manual/debug_mode_semantics.html\n@@ -1,5 +1,5 @@\n <?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n-<!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>\n+<!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>\n   </p><p>A program that uses the C++ standard library correctly\n   will maintain the same semantics under debug mode as it had with\n   the normal (release) library. All functional and exception-handling\n@@ -51,4 +51,4 @@ with the debug-mode checks included, but this is unsupported and not\n guaranteed to work.  For full debug-mode support you can use the\n <code class=\"code\">__gnu_debug::basic_string</code> debugging container directly,\n which always works correctly.\n-</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>\n\\ No newline at end of file\n+</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>\n\\ No newline at end of file\ndiff --git a/libstdc++-v3/doc/html/manual/debug_mode_using.html b/libstdc++-v3/doc/html/manual/debug_mode_using.html\nindex 70d6692f514..334d07a37e1 100644\n--- a/libstdc++-v3/doc/html/manual/debug_mode_using.html\n+++ b/libstdc++-v3/doc/html/manual/debug_mode_using.html\n@@ -1,5 +1,5 @@\n <?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n-<!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>\n+<!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>\n   </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\n   compiler flag <code class=\"code\">-D_GLIBCXX_DEBUG</code>. Note that this flag\n   changes the sizes and behavior of standard class templates such\n@@ -22,9 +22,9 @@\n   mode or with debug mode. The\n   following table provides the names and headers of the debugging\n   containers:\n-</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\">&lt;debug/bitset&gt;</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\">&lt;debug/deque&gt;</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\">&lt;debug/list&gt;</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\">&lt;debug/map&gt;</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\">&lt;debug/map&gt;</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\">&lt;debug/set&gt;</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\">&lt;debug/set&gt;</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\">&lt;debug/string&gt;</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\">&lt;debug/string&gt;</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\">&lt;debug/string&gt;</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\">&lt;debug/vector&gt;</code></td></tr></tbody></table></div></div><br class=\"table-break\" /><p>When compiling in C++11 mode (or newer), these\n+</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\">&lt;debug/bitset&gt;</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\">&lt;debug/deque&gt;</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\">&lt;debug/list&gt;</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\">&lt;debug/map&gt;</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\">&lt;debug/map&gt;</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\">&lt;debug/set&gt;</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\">&lt;debug/set&gt;</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\">&lt;debug/string&gt;</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\">&lt;debug/string&gt;</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\">&lt;debug/string&gt;</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\">&lt;debug/vector&gt;</code></td></tr></tbody></table></div></div><br class=\"table-break\" /><p>When compiling in C++11 mode (or newer), these\n containers have additional debug capability.\n-</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\">&lt;debug/forward_list&gt;</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\">&lt;debug/unordered_map&gt;</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\">&lt;debug/unordered_map&gt;</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\">&lt;debug/unordered_set&gt;</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\">&lt;debug/unordered_set&gt;</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>\n+</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\">&lt;debug/forward_list&gt;</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\">&lt;debug/unordered_map&gt;</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\">&lt;debug/unordered_map&gt;</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\">&lt;debug/unordered_set&gt;</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\">&lt;debug/unordered_set&gt;</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>\n was available as <code class=\"classname\">__gnu_debug::array</code> in the\n header <code class=\"filename\">&lt;debug/array&gt;</code>.\n Because <code class=\"classname\">array::iterator</code> is just a pointer,\ndiff --git a/libstdc++-v3/doc/html/manual/ext_algorithms.html b/libstdc++-v3/doc/html/manual/ext_algorithms.html\nindex b7511c49848..805734fefbe 100644\n--- a/libstdc++-v3/doc/html/manual/ext_algorithms.html\n+++ b/libstdc++-v3/doc/html/manual/ext_algorithms.html\n@@ -1,8 +1,8 @@\n <?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n-<!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. \n+<!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. \n   Extensions\n   \n-</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\n+</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\n    and count_if.  The standard versions return their results.  The\n    additional signatures return void, but take a final parameter by\n    reference to which they assign their results, e.g.,\n@@ -19,4 +19,4 @@\n </p><pre class=\"programlisting\">\n    lexicographical_compare_3way(_InputIter1 first1, _InputIter1 last1,\n \t\t\t\t _InputIter2 first2, _InputIter2 last2)</pre><p>which does... what?\n-</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>\n\\ No newline at end of file\n+</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>\n\\ No newline at end of file\ndiff --git a/libstdc++-v3/doc/html/manual/ext_compile_checks.html b/libstdc++-v3/doc/html/manual/ext_compile_checks.html\nindex 240d4e47f66..a235e02ed92 100644\n--- a/libstdc++-v3/doc/html/manual/ext_compile_checks.html\n+++ b/libstdc++-v3/doc/html/manual/ext_compile_checks.html\n@@ -1,8 +1,8 @@\n <?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n-<!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. \n+<!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. \n   Extensions\n   \n-</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>\n+</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>\n     Also known as concept checking.\n   </p><p>In 1999, SGI added <span class=\"emphasis\"><em>concept checkers</em></span> to their implementation\n       of the STL:  code which checked the template parameters of\n@@ -44,4 +44,4 @@\n    <code class=\"filename\">&lt;ranges&gt;</code> header and the new overloads in the\n    <code class=\"filename\">&lt;algorithm&gt;</code> header for working with ranges.\n    The old library-simulated concept checks might be removed at a future date.\n-   </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>\n\\ No newline at end of file\n+   </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>\n\\ No newline at end of file\ndiff --git a/libstdc++-v3/doc/html/manual/ext_concurrency.html b/libstdc++-v3/doc/html/manual/ext_concurrency.html\nindex ed7a3ea9f4d..5d9b33204c2 100644\n--- a/libstdc++-v3/doc/html/manual/ext_concurrency.html\n+++ b/libstdc++-v3/doc/html/manual/ext_concurrency.html\n@@ -1,8 +1,8 @@\n <?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n-<!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. \n+<!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. \n   Extensions\n   \n-</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\">&lt;ext/concurrence.h&gt;</code>\n+</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\">&lt;ext/concurrence.h&gt;</code>\n contains all the higher-level\n constructs for playing with threads. In contrast to the atomics layer,\n the concurrence layer consists largely of types. All types are defined within <code class=\"code\">namespace __gnu_cxx</code>.\n@@ -90,4 +90,4 @@ _GLIBCXX_WRITE_MEM_BARRIER\n </p><p>\n Which expand to the appropriate write and read barrier required by the\n host hardware and operating system.\n-</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>\n\\ No newline at end of file\n+</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>\n\\ No newline at end of file\ndiff --git a/libstdc++-v3/doc/html/manual/ext_concurrency_impl.html b/libstdc++-v3/doc/html/manual/ext_concurrency_impl.html\nindex 669c07cf291..ca6036e10ef 100644\n--- a/libstdc++-v3/doc/html/manual/ext_concurrency_impl.html\n+++ b/libstdc++-v3/doc/html/manual/ext_concurrency_impl.html\n@@ -1,5 +1,5 @@\n <?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n-<!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\n+<!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\n implemented via compiler intrinsics (if the underlying host is\n capable) or by library fallbacks.</p><p>Compiler intrinsics (builtins) are always preferred.  However, as\n the compiler builtins for atomics are not universally implemented,\n@@ -49,4 +49,4 @@ use this layer. More detail as to the specific interface can be found in the sou\n functions, and usage found in the usual &lt;pthread.h&gt; file,\n including <code class=\"code\">pthread_t</code>, <code class=\"code\">pthread_once_t</code>, <code class=\"code\">pthread_create</code>,\n etc.\n-</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>\n\\ No newline at end of file\n+</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>\n\\ No newline at end of file\ndiff --git a/libstdc++-v3/doc/html/manual/ext_concurrency_use.html b/libstdc++-v3/doc/html/manual/ext_concurrency_use.html\nindex 6a0d345a910..85c85b4a7b2 100644\n--- a/libstdc++-v3/doc/html/manual/ext_concurrency_use.html\n+++ b/libstdc++-v3/doc/html/manual/ext_concurrency_use.html\n@@ -1,5 +1,5 @@\n <?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n-<!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:\n+<!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:\n </p><pre class=\"programlisting\">\n #include &lt;ext/concurrence.h&gt;\n \ndiff --git a/libstdc++-v3/doc/html/manual/ext_containers.html b/libstdc++-v3/doc/html/manual/ext_containers.html\nindex 660910f1042..4f20d16d205 100644\n--- a/libstdc++-v3/doc/html/manual/ext_containers.html\n+++ b/libstdc++-v3/doc/html/manual/ext_containers.html\n@@ -1,8 +1,8 @@\n <?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n-<!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. \n+<!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. \n   Extensions\n   \n-</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\n+</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\n     been made with containers.  Those dealing with older SGI-style\n     allocators are dealt with elsewhere.  The remaining ones all deal\n     with bits:\ndiff --git a/libstdc++-v3/doc/html/manual/ext_demangling.html b/libstdc++-v3/doc/html/manual/ext_demangling.html\nindex 0275830f3ba..a2dd3c7f527 100644\n--- a/libstdc++-v3/doc/html/manual/ext_demangling.html\n+++ b/libstdc++-v3/doc/html/manual/ext_demangling.html\n@@ -1,8 +1,8 @@\n <?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n-<!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. \n+<!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. \n   Extensions\n   \n-</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>\n+</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>\n     Transforming C++ ABI identifiers (like RTTI symbols) into the\n     original C++ source identifiers is called\n     <span class=\"quote\">“<span class=\"quote\">demangling.</span>”</span>\n@@ -57,4 +57,4 @@ int main()\n      be writing C++ in order to demangle C++.  (That also means we have to\n      use crummy memory management facilities, so don't forget to\n      <code class=\"code\">free()</code> the returned char array.)\n-   </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>\n\\ No newline at end of file\n+   </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>\n\\ No newline at end of file\ndiff --git a/libstdc++-v3/doc/html/manual/ext_io.html b/libstdc++-v3/doc/html/manual/ext_io.html\nindex 7bf81dfa860..2959d5d554f 100644\n--- a/libstdc++-v3/doc/html/manual/ext_io.html\n+++ b/libstdc++-v3/doc/html/manual/ext_io.html\n@@ -1,8 +1,8 @@\n <?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n-<!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. \n+<!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. \n   Extensions\n   \n-</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>\n+</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>\n     Extensions allowing <code class=\"code\">filebuf</code>s to be constructed from\n     \"C\" types like  FILE*s and file descriptors.\n   </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\n@@ -43,4 +43,4 @@\n \t <code class=\"classname\">__gnu_cxx::stdio_filebuf</code>.\n \t This class can be constructed from a C <code class=\"code\">FILE*</code> or a file\n \t descriptor, and provides the <code class=\"code\">fd()</code> function.\n-     </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>\n\\ No newline at end of file\n+     </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>\n\\ No newline at end of file\ndiff --git a/libstdc++-v3/doc/html/manual/ext_iterators.html b/libstdc++-v3/doc/html/manual/ext_iterators.html\nindex 952f1b5bb62..b349aab81ad 100644\n--- a/libstdc++-v3/doc/html/manual/ext_iterators.html\n+++ b/libstdc++-v3/doc/html/manual/ext_iterators.html\n@@ -1,8 +1,8 @@\n <?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n-<!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. \n+<!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. \n   Extensions\n   \n-</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\n+</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\n    original HP STL implementation (the language wasn't rich enough at the\n    time).  For backwards compatibility, base classes are provided which\n    declare the same nested typedefs:\n@@ -10,4 +10,4 @@\n    two iterators and returns a result.  It is extended by another signature\n    which takes two iterators and a reference to a result.  The result is\n    modified, and the function returns nothing.\n-</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>\n\\ No newline at end of file\n+</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>\n\\ No newline at end of file\ndiff --git a/libstdc++-v3/doc/html/manual/ext_numerics.html b/libstdc++-v3/doc/html/manual/ext_numerics.html\nindex c3a5623d175..05602f475b3 100644\n--- a/libstdc++-v3/doc/html/manual/ext_numerics.html\n+++ b/libstdc++-v3/doc/html/manual/ext_numerics.html\n@@ -1,8 +1,8 @@\n <?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n-<!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. \n+<!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. \n   Extensions\n   \n-</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>,\n+</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>,\n    are extended with the following functions:\n </p><pre class=\"programlisting\">\n    power (x, n);\n@@ -20,4 +20,4 @@\n    <code class=\"code\">value + 1</code> to<code class=\"code\"> *(first + 1)</code> and so on.\"\n </p><pre class=\"programlisting\">\n    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.\n-</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>\n\\ No newline at end of file\n+</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>\n\\ No newline at end of file\ndiff --git a/libstdc++-v3/doc/html/manual/ext_preface.html b/libstdc++-v3/doc/html/manual/ext_preface.html\nindex 0de4378a6c1..c95c37544a2 100644\n--- a/libstdc++-v3/doc/html/manual/ext_preface.html\n+++ b/libstdc++-v3/doc/html/manual/ext_preface.html\n@@ -1,5 +1,5 @@\n <?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n-<!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. \n+<!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. \n   Extensions\n   \n </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>\n@@ -23,4 +23,4 @@ extensions, be aware of two things:\n      </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. \n   Extensions\n   \n- </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>\n\\ No newline at end of file\n+ </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>\n\\ No newline at end of file\ndiff --git a/libstdc++-v3/doc/html/manual/ext_sgi.html b/libstdc++-v3/doc/html/manual/ext_sgi.html\nindex 5a796e79424..393f6268581 100644\n--- a/libstdc++-v3/doc/html/manual/ext_sgi.html\n+++ b/libstdc++-v3/doc/html/manual/ext_sgi.html\n@@ -1,5 +1,5 @@\n <?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n-<!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>\n+<!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>\n      The SGI hashing classes <code class=\"classname\">hash_set</code> and\n      <code class=\"classname\">hash_set</code> have been deprecated by the\n      unordered_set, unordered_multiset, unordered_map,\n@@ -55,4 +55,4 @@\n       associative containers defined in the ISO C++ 2011 standard in the\n       headers <code class=\"filename\">&lt;unordered_map&gt;</code>\n       and <code class=\"filename\">&lt;unordered_set&gt;</code>.\n-   </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>\n\\ No newline at end of file\n+   </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>\n\\ No newline at end of file\ndiff --git a/libstdc++-v3/doc/html/manual/ext_utilities.html b/libstdc++-v3/doc/html/manual/ext_utilities.html\nindex 9caf65f89eb..6200b01e30c 100644\n--- a/libstdc++-v3/doc/html/manual/ext_utilities.html\n+++ b/libstdc++-v3/doc/html/manual/ext_utilities.html\n@@ -1,8 +1,8 @@\n <?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n-<!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. \n+<!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. \n   Extensions\n   \n-</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>\n+</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>\n     The <code class=\"filename\">&lt;functional&gt;</code> header\n     contains many additional functors\n     and helper functions, extending section 20.3.  They are\n@@ -38,4 +38,4 @@ get_temporary_buffer(5, (int*)0);\n </p><p>\n   The specialized algorithms of section 20.4.4 are extended with\n   <code class=\"code\">uninitialized_copy_n</code>.\n-</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>\n\\ No newline at end of file\n+</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>\n\\ No newline at end of file\ndiff --git a/libstdc++-v3/doc/html/manual/extensions.html b/libstdc++-v3/doc/html/manual/extensions.html\nindex 1b13d711714..01682ad8d21 100644\n--- a/libstdc++-v3/doc/html/manual/extensions.html\n+++ b/libstdc++-v3/doc/html/manual/extensions.html\n@@ -1,12 +1,12 @@\n <?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n-<!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. \n+<!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. \n   Extensions\n   \n </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. \n   Extensions\n   <a id=\"id-1.3.5.1.1.1\" class=\"indexterm\"></a>\n-</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\n-    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\">\n+</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\n+    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\">\n \t    Configuring via Template Parameters\n \t  </a></span></dt><dt><span class=\"section\"><a href=\"policy_data_structures_using.html#pbds.using.tutorial.traits\">\n \t    Querying Container Attributes\n@@ -68,7 +68,7 @@\n \t  Text <code class=\"function\">modify</code> Up\n \t</a></span></dt><dt><span class=\"section\"><a href=\"policy_based_data_structures_test.html#performance.priority_queue.text_modify_down\">\n \t  Text <code class=\"function\">modify</code> Down\n-\t</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. \n+\t</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. \n   Concurrency\n   \n  </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>\n\\ No newline at end of file\ndiff --git a/libstdc++-v3/doc/html/manual/fstreams.html b/libstdc++-v3/doc/html/manual/fstreams.html\nindex f3d56e60ed7..05f67e020e2 100644\n--- a/libstdc++-v3/doc/html/manual/fstreams.html\n+++ b/libstdc++-v3/doc/html/manual/fstreams.html\n@@ -1,5 +1,5 @@\n <?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n-<!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. \n+<!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. \n   Input and Output\n   \n </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>\ndiff --git a/libstdc++-v3/doc/html/manual/index.html b/libstdc++-v3/doc/html/manual/index.html\nindex fb61205678f..bb9b37b28ab 100644\n--- a/libstdc++-v3/doc/html/manual/index.html\n+++ b/libstdc++-v3/doc/html/manual/index.html\n@@ -33,20 +33,23 @@\n </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. \n   Numerics\n   \n-</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. \n+</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. \n+  Time\n+  \n+</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 extents lifetime</a></span></dt></dl></dd></dl></dd><dt><span class=\"chapter\"><a href=\"io.html\">14. \n   Input and Output\n   \n-</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. \n+</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. \n   Atomics\n   \n-</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. \n+</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. \n   Concurrency\n   \n </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. \n   Extensions\n   \n-</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\n-    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\">\n+</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\n+    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\">\n \t    Configuring via Template Parameters\n \t  </a></span></dt><dt><span class=\"section\"><a href=\"policy_data_structures_using.html#pbds.using.tutorial.traits\">\n \t    Querying Container Attributes\n@@ -108,7 +111,7 @@\n \t  Text <code class=\"function\">modify</code> Up\n \t</a></span></dt><dt><span class=\"section\"><a href=\"policy_based_data_structures_test.html#performance.priority_queue.text_modify_down\">\n \t  Text <code class=\"function\">modify</code> Down\n-\t</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. \n+\t</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. \n   Appendices\n </a></span></dt><dd><dl><dt><span class=\"appendix\"><a href=\"appendix_contributing.html\">A. \n   Contributing\n@@ -139,19 +142,19 @@ Support for C++11 dialect.\n   \n </a></span></dt><dt><span class=\"appendix\"><a href=\"appendix_gpl.html\">D. \n     <acronym class=\"acronym\">GNU</acronym> General Public License version 3\n-  </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\">\n+  </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\">\n \t    Effect of embedded lists in\n \t    <code class=\"classname\">std::multimap</code>\n-\t  </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\n-\t      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\n-\t\tdiagram</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\n-\t\tdiagram</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\">\n+\t  </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\n+\t      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\n+\t\tdiagram</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\n+\t\tdiagram</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\">\n \t\tA Standard String Hash Function\n-\t      </a></dt><dt>21.6. <a href=\"policy_data_structures_design.html#id-1.3.5.8.4.4.2.3.2.4.12\">\n+\t      </a></dt><dt>22.6. <a href=\"policy_data_structures_design.html#id-1.3.5.8.4.4.2.3.2.4.12\">\n \t\tOnly k String DNA Hash\n-\t      </a></dt><dt>21.7. <a href=\"policy_data_structures_design.html#id-1.3.5.8.4.4.2.3.3.4.9\">\n+\t      </a></dt><dt>22.7. <a href=\"policy_data_structures_design.html#id-1.3.5.8.4.4.2.3.3.4.9\">\n \t\tProbability of Probe Sequence of Length k\n-\t      </a></dt><dt>21.8. <a href=\"policy_data_structures_design.html#id-1.3.5.8.4.4.2.3.3.4.14\">\n+\t      </a></dt><dt>22.8. <a href=\"policy_data_structures_design.html#id-1.3.5.8.4.4.2.3.3.4.14\">\n \t\tProbability Probe Sequence in Some Bin\n \t      </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. \n   Introduction\ndiff --git a/libstdc++-v3/doc/html/manual/io.html b/libstdc++-v3/doc/html/manual/io.html\nindex 81c5597c6d4..4a2967608e4 100644\n--- a/libstdc++-v3/doc/html/manual/io.html\n+++ b/libstdc++-v3/doc/html/manual/io.html\n@@ -1,12 +1,12 @@\n <?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n-<!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. \n+<!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. \n   Input and Output\n   \n-</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. \n+</th></tr><tr><td width=\"20%\" align=\"left\"><a accesskey=\"p\" href=\"time.html\">Prev</a> </td><th width=\"60%\" align=\"center\">Part II. \n     Standard Contents\n-  </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. \n+  </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. \n   Input and Output\n-  <a id=\"id-1.3.4.11.1.1.1\" class=\"indexterm\"></a>\n+  <a id=\"id-1.3.4.12.1.1.1\" class=\"indexterm\"></a>\n </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\n       only include the headers you really need.  Many people simply include\n       <code class=\"filename\">&lt;iostream&gt;</code> when they don't\n@@ -143,4 +143,7 @@\n       the standard objects in that source file; you'll pay less startup\n       time.  Only include the header files you need to in general; your\n       compile times will go down when there's less parsing work to do.\n-   </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>\n\\ No newline at end of file\n+   </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. \n+  Time\n+  \n+ </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>\n\\ No newline at end of file\ndiff --git a/libstdc++-v3/doc/html/manual/io_and_c.html b/libstdc++-v3/doc/html/manual/io_and_c.html\nindex 753ff1068d6..34f0b961e39 100644\n--- a/libstdc++-v3/doc/html/manual/io_and_c.html\n+++ b/libstdc++-v3/doc/html/manual/io_and_c.html\n@@ -1,9 +1,9 @@\n <?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n-<!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. \n+<!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. \n   Input and Output\n   \n </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>\n-      See the <a class=\"link\" href=\"ext_io.html\" title=\"Chapter 27. Input and Output\">extensions</a> for using\n+      See the <a class=\"link\" href=\"ext_io.html\" title=\"Chapter 28. Input and Output\">extensions</a> for using\n       <span class=\"type\">FILE</span> and <span class=\"type\">file descriptors</span> with\n       <code class=\"classname\">ofstream</code> and\n       <code class=\"classname\">ifstream</code>.\n@@ -50,7 +50,7 @@\n       <code class=\"code\">clog</code>, and their wide-character counterparts).  File stream\n       objects that you declare yourself have no such requirement and are fully\n       buffered.\n-   </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. \n+   </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. \n   Atomics\n   \n </td></tr></table></div></body></html>\n\\ No newline at end of file\ndiff --git a/libstdc++-v3/doc/html/manual/memory.html b/libstdc++-v3/doc/html/manual/memory.html\nindex 9dce18db1ea..b2bfda66dcf 100644\n--- a/libstdc++-v3/doc/html/manual/memory.html\n+++ b/libstdc++-v3/doc/html/manual/memory.html\n@@ -268,14 +268,14 @@\n        </p><p>\n \t A high-performance fixed-size allocator with\n \t exponentially-increasing allocations. It has its own\n-\t <a class=\"link\" href=\"mt_allocator.html\" title=\"Chapter 19. The mt_allocator\">chapter</a>\n+\t <a class=\"link\" href=\"mt_allocator.html\" title=\"Chapter 20. The mt_allocator\">chapter</a>\n          in the documentation.\n        </p></li><li class=\"listitem\"><p>\n        <code class=\"classname\">bitmap_allocator</code>\n        </p><p>\n \t A high-performance allocator that uses a bit-map to keep track\n \t of the used and unused memory locations. It has its own\n-\t <a class=\"link\" href=\"bitmap_allocator.html\" title=\"Chapter 20. The bitmap_allocator\">chapter</a>\n+\t <a class=\"link\" href=\"bitmap_allocator.html\" title=\"Chapter 21. The bitmap_allocator\">chapter</a>\n          in the documentation.\n        </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\">\n     ISO/IEC 14882:1998 Programming languages - C++\n@@ -377,7 +377,7 @@\n      guaranteed to be messy.\n    </p><p>\n      To prevent you from doing this to yourself, the\n-      <a class=\"link\" href=\"ext_compile_checks.html\" title=\"Chapter 16. Compile Time Checks\">concept checks</a> built\n+      <a class=\"link\" href=\"ext_compile_checks.html\" title=\"Chapter 17. Compile Time Checks\">concept checks</a> built\n       in to this implementation will issue an error if you try to\n       compile code like this:\n    </p><pre class=\"programlisting\">\ndiff --git a/libstdc++-v3/doc/html/manual/mt_allocator.html b/libstdc++-v3/doc/html/manual/mt_allocator.html\nindex 68e7dccde78..5d6c01f9792 100644\n--- a/libstdc++-v3/doc/html/manual/mt_allocator.html\n+++ b/libstdc++-v3/doc/html/manual/mt_allocator.html\n@@ -1,8 +1,8 @@\n <?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n-<!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. \n+<!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. \n   Extensions\n   \n-</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>\n+</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>\n </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>\n   The mt allocator [hereinafter referred to simply as \"the allocator\"]\n   is a fixed size (power of two) allocator that was initially\ndiff --git a/libstdc++-v3/doc/html/manual/mt_allocator_design.html b/libstdc++-v3/doc/html/manual/mt_allocator_design.html\nindex 7541c3a8f4b..b08c0b7641a 100644\n--- a/libstdc++-v3/doc/html/manual/mt_allocator_design.html\n+++ b/libstdc++-v3/doc/html/manual/mt_allocator_design.html\n@@ -1,5 +1,5 @@\n <?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n-<!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\n+<!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\n describing the characteristics of the memory pool, a policy class\n containing this pool that links instantiation types to common or\n individual pools, and a class inheriting from the policy class that is\n@@ -35,4 +35,4 @@ tuning, for instance.\n </pre><p> This class has the interface required for standard library allocator\n classes, namely member functions <code class=\"code\">allocate</code> and\n <code class=\"code\">deallocate</code>, plus others.\n-</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>\n\\ No newline at end of file\n+</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>\n\\ No newline at end of file\ndiff --git a/libstdc++-v3/doc/html/manual/mt_allocator_ex_multi.html b/libstdc++-v3/doc/html/manual/mt_allocator_ex_multi.html\nindex 67a1154164b..1cd1749d911 100644\n--- a/libstdc++-v3/doc/html/manual/mt_allocator_ex_multi.html\n+++ b/libstdc++-v3/doc/html/manual/mt_allocator_ex_multi.html\n@@ -1,5 +1,5 @@\n <?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n-<!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>\n+<!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>\n In the ST example we never used the thread_id variable present in each block.\n Let's start by explaining the purpose of this in a MT application.\n </p><p>\n@@ -103,4 +103,4 @@ mutex to be locked) this operation is also made in chunks of blocks\n a threads freelist mentioned above). The \"formula\" used can probably\n be improved to further reduce the risk of blocks being \"bounced back\n and forth\" between freelists.\n-</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>\n\\ No newline at end of file\n+</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>\n\\ No newline at end of file\ndiff --git a/libstdc++-v3/doc/html/manual/mt_allocator_ex_single.html b/libstdc++-v3/doc/html/manual/mt_allocator_ex_single.html\nindex 6934ec3aca9..7e30f72b953 100644\n--- a/libstdc++-v3/doc/html/manual/mt_allocator_ex_single.html\n+++ b/libstdc++-v3/doc/html/manual/mt_allocator_ex_single.html\n@@ -1,5 +1,5 @@\n <?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n-<!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>\n+<!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>\n Let's start by describing how the data on a freelist is laid out in memory.\n This is the first two blocks in freelist for thread id 3 in bin 3 (8 bytes):\n </p><pre class=\"programlisting\">\ndiff --git a/libstdc++-v3/doc/html/manual/mt_allocator_impl.html b/libstdc++-v3/doc/html/manual/mt_allocator_impl.html\nindex c69b9c5b55a..c4b128ad7b6 100644\n--- a/libstdc++-v3/doc/html/manual/mt_allocator_impl.html\n+++ b/libstdc++-v3/doc/html/manual/mt_allocator_impl.html\n@@ -1,5 +1,5 @@\n <?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n-<!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\n+<!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\n exists a nested <code class=\"code\">struct __pool_base::_Tune</code> that contains all\n these parameters, which include settings for\n </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\ndiff --git a/libstdc++-v3/doc/html/manual/numerics_and_c.html b/libstdc++-v3/doc/html/manual/numerics_and_c.html\nindex 8179dbf0f48..04d721d0855 100644\n--- a/libstdc++-v3/doc/html/manual/numerics_and_c.html\n+++ b/libstdc++-v3/doc/html/manual/numerics_and_c.html\n@@ -1,8 +1,8 @@\n <?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n-<!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. \n+<!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. \n   Numerics\n   \n-</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\n+</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\n       is that it is defined to be free of pointer aliasing, an assumption\n       that C89 is not allowed to make, and neither is C++98.  C99 adds a new\n       keyword, <code class=\"code\">restrict</code>, to apply to individual pointers.  The\n@@ -30,7 +30,7 @@\n       are supported, as is the <code class=\"code\">lldiv_t</code> typedef.  Also supported\n       are the wide character functions using 'long long', like\n       <code class=\"code\">wcstoll</code>.\n-   </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. \n-  Input and Output\n+   </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. \n+  Time\n   \n </td></tr></table></div></body></html>\n\\ No newline at end of file\ndiff --git a/libstdc++-v3/doc/html/manual/parallel_mode.html b/libstdc++-v3/doc/html/manual/parallel_mode.html\nindex 7ffa8bb606b..fbfd94e6843 100644\n--- a/libstdc++-v3/doc/html/manual/parallel_mode.html\n+++ b/libstdc++-v3/doc/html/manual/parallel_mode.html\n@@ -1,8 +1,8 @@\n <?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n-<!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. \n+<!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. \n   Extensions\n   \n-</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\n+</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\n implementation of many algorithms of the C++ Standard Library.\n </p><p>\n Several of the standard algorithms, for instance\ndiff --git a/libstdc++-v3/doc/html/manual/parallel_mode_design.html b/libstdc++-v3/doc/html/manual/parallel_mode_design.html\nindex c2090940d24..bac64b0b468 100644\n--- a/libstdc++-v3/doc/html/manual/parallel_mode_design.html\n+++ b/libstdc++-v3/doc/html/manual/parallel_mode_design.html\n@@ -1,5 +1,5 @@\n <?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n-<!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>\n+<!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>\n   </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>\n All parallel algorithms are intended to have signatures that are\n equivalent to the ISO C++ algorithms replaced. For instance, the\ndiff --git a/libstdc++-v3/doc/html/manual/parallel_mode_semantics.html b/libstdc++-v3/doc/html/manual/parallel_mode_semantics.html\nindex dcc29736de4..e3629a36e00 100644\n--- a/libstdc++-v3/doc/html/manual/parallel_mode_semantics.html\n+++ b/libstdc++-v3/doc/html/manual/parallel_mode_semantics.html\n@@ -1,5 +1,5 @@\n <?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n-<!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,\n+<!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,\n i.e. user-defined functors must not throw exceptions.\n Also, the order of execution is not guaranteed for some functions, of course.\n Therefore, user-defined functors should not have any concurrent side effects.\n@@ -7,4 +7,4 @@ Therefore, user-defined functors should not have any concurrent side effects.\n OpenMP parallel regions in concurrent threads,\n it is not possible to call parallel STL algorithm in\n concurrent threads, either.\n-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>\n\\ No newline at end of file\n+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>\n\\ No newline at end of file\ndiff --git a/libstdc++-v3/doc/html/manual/parallel_mode_test.html b/libstdc++-v3/doc/html/manual/parallel_mode_test.html\nindex 912c6ef2e81..59cb0ad2d2a 100644\n--- a/libstdc++-v3/doc/html/manual/parallel_mode_test.html\n+++ b/libstdc++-v3/doc/html/manual/parallel_mode_test.html\n@@ -1,5 +1,5 @@\n <?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n-<!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>\n+<!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>\n     Both the normal conformance and regression tests and the\n     supplemental performance tests work.\n   </p><p>\n@@ -22,4 +22,4 @@\n     additional software dependencies than the usual bare-boned text\n     file, and can be generated by using the <code class=\"code\">make\n     doc-performance</code> rule in the testsuite's Makefile.\n-</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>\n\\ No newline at end of file\n+</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>\n\\ No newline at end of file\ndiff --git a/libstdc++-v3/doc/html/manual/parallel_mode_using.html b/libstdc++-v3/doc/html/manual/parallel_mode_using.html\nindex 38d629fe74f..6b42c1bedd0 100644\n--- a/libstdc++-v3/doc/html/manual/parallel_mode_using.html\n+++ b/libstdc++-v3/doc/html/manual/parallel_mode_using.html\n@@ -1,5 +1,5 @@\n <?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n-<!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>\n+<!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>\n   Any use of parallel functionality requires additional compiler\n   and runtime support, in particular support for OpenMP. Adding this support is\n   not difficult: just compile your application with the compiler\n@@ -63,4 +63,4 @@ Then compile this code with the prerequisite compiler flags\n flags for atomic operations.)\n </p><p> The following table provides the names and headers of all the\n   parallel algorithms that can be used in a similar manner:\n-</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>\n\\ No newline at end of file\n+</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>\n\\ No newline at end of file\ndiff --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\nindex 7585a59e3f4..5ca2baa9604 100644\n--- a/libstdc++-v3/doc/html/manual/policy_based_data_structures_test.html\n+++ b/libstdc++-v3/doc/html/manual/policy_based_data_structures_test.html\n@@ -1,5 +1,5 @@\n <?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n-<!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.\n+<!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.\n     For a given container type in this library, the test creates\n     an object of the container type and an object of the\n     corresponding standard type (e.g., <code class=\"classname\">std::set</code>). It\ndiff --git a/libstdc++-v3/doc/html/manual/policy_data_structures.html b/libstdc++-v3/doc/html/manual/policy_data_structures.html\nindex ba140809bbe..9dfe9685d53 100644\n--- a/libstdc++-v3/doc/html/manual/policy_data_structures.html\n+++ b/libstdc++-v3/doc/html/manual/policy_data_structures.html\n@@ -1,8 +1,8 @@\n <?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n-<!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. \n+<!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. \n   Extensions\n   \n-</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\">\n+</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\">\n \t    Configuring via Template Parameters\n \t  </a></span></dt><dt><span class=\"section\"><a href=\"policy_data_structures_using.html#pbds.using.tutorial.traits\">\n \t    Querying Container Attributes\n@@ -248,7 +248,7 @@\n \t\tthese invariants, one must supply some policy that is aware\n \t\tof these changes.  Without this, it would be better to use a\n \t\tlinked list (in itself very efficient for these purposes).\n-\t      </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>\n+\t      </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>\n \t    The standard C++ library contains associative containers based on\n \t    red-black trees and collision-chaining hash tables. These are\n \t    very useful, but they are not ideal for all types of\n@@ -256,7 +256,7 @@\n \t  </p><p>\n \t    The figure below shows the different underlying data structures\n \t    currently supported in this library.\n-\t  </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>\n+\t  </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>\n \t    A shows a collision-chaining hash-table, B shows a probing\n \t    hash-table, C shows a red-black tree, D shows a splay tree, E shows\n \t    a tree based on an ordered vector(implicit in the order of the\n@@ -372,7 +372,7 @@\n \t      no guarantee that the elements traversed will coincide with the\n \t      <span class=\"emphasis\"><em>logical</em></span> elements between 1 and 5, as in\n \t      label B.\n-\t    </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>\n+\t    </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>\n \t      In our opinion, this problem is not caused just because\n \t      red-black trees are order preserving while\n \t      collision-chaining hash tables are (generally) not - it\n@@ -423,7 +423,7 @@\n \t      list, as in the graphic below, label B.  Here the iterators are as\n \t      light as can be, but the hash-table's operations are more\n \t      complicated.\n-\t    </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>\n+\t    </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>\n \t      It should be noted that containers based on collision-chaining\n \t      hash-tables are not the only ones with this type of behavior;\n \t      many other self-organizing data structures display it as well.\n@@ -439,7 +439,7 @@\n \t      container. The graphic below shows three cases: A1 and A2 show\n \t      a red-black tree; B1 and B2 show a probing hash-table; C1 and C2\n \t      show a collision-chaining hash table.\n-\t    </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>\n+\t    </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>\n \t\t  Erasing 5 from A1 yields A2. Clearly, an iterator to 3 can\n \t\t  be de-referenced and incremented. The sequence of iterators\n \t\t  changed, but in a way that is well-defined by the interface.\n@@ -675,7 +675,7 @@\n \t    typically less structured than an associative container's tree;\n \t    the third simply uses an associative container. These are\n \t    shown in the figure below with labels A1 and A2, B, and C.\n-\t  </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>\n+\t  </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>\n \t    No single implementation can completely replace any of the\n \t    others. Some have better <code class=\"function\">push</code>\n \t    and <code class=\"function\">pop</code> amortized performance, some have\ndiff --git a/libstdc++-v3/doc/html/manual/policy_data_structures_ack.html b/libstdc++-v3/doc/html/manual/policy_data_structures_ack.html\nindex e8a8dceaa7a..55fbb4d2c92 100644\n--- a/libstdc++-v3/doc/html/manual/policy_data_structures_ack.html\n+++ b/libstdc++-v3/doc/html/manual/policy_data_structures_ack.html\n@@ -1,5 +1,5 @@\n <?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n-<!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>\n+<!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>\n       Written by Ami Tavory and Vladimir Dreizin (IBM Haifa Research\n       Laboratories), and Benjamin Kosnik (Red Hat).\n     </p><p>\n@@ -24,4 +24,4 @@\n       attributing to him any flaws in the design or implementation of the\n       library).\n     </p><p>We would like to thank Matt Austern for the suggestion to\n-    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>\n\\ No newline at end of file\n+    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>\n\\ No newline at end of file\ndiff --git a/libstdc++-v3/doc/html/manual/policy_data_structures_design.html b/libstdc++-v3/doc/html/manual/policy_data_structures_design.html\nindex 4e986f3f701..a84551e38db 100644\n--- a/libstdc++-v3/doc/html/manual/policy_data_structures_design.html\n+++ b/libstdc++-v3/doc/html/manual/policy_data_structures_design.html\n@@ -1,5 +1,5 @@\n <?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n-<!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>\n+<!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>\n \tAssociative containers are typically parametrized by various\n \tpolicies. For example, a hash-based associative container is\n \tparametrized by a hash-functor, transforming each key into an\n@@ -170,7 +170,7 @@\n \t  naturally; collision-chaining hash tables (label B) store\n \t  equivalent-key values in the same bucket, the bucket can be\n \t  arranged so that equivalent-key values are consecutive.\n-\t</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>\n+\t</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>\n \t  Put differently, the standards' non-unique mapping\n \t  associative-containers are associative containers that map\n \t  primary keys to linked lists that are embedded into the\n@@ -178,7 +178,7 @@\n \t  containers from the first graphic above, this time with\n \t  the embedded linked lists of the grayed nodes marked\n \t  explicitly.\n-\t</p><div class=\"figure\"><a id=\"fig.pbds_embedded_lists_2\"></a><p class=\"title\"><strong>Figure 21.9. \n+\t</p><div class=\"figure\"><a id=\"fig.pbds_embedded_lists_2\"></a><p class=\"title\"><strong>Figure 22.9. \n \t    Effect of embedded lists in\n \t    <code class=\"classname\">std::multimap</code>\n \t  </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>\n@@ -252,7 +252,7 @@\n \t  first graphic above. Labels A and B, respectively. Each shaded\n \t  box represents some size-type or secondary\n \t  associative-container.\n-\t</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>\n+\t</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>\n \t  In the first example above, then, one would use an associative\n \t  container mapping each user to an associative container which\n \t  maps each application id to a start time (see\n@@ -305,7 +305,7 @@\n \tshows invariants for order-preserving containers: point-type\n \titerators are synonymous with range-type iterators.\n \tOrthogonally,  <span class=\"emphasis\"><em>C</em></span>shows invariants for \"set\"\n-\tcontainers: 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\n+\tcontainers: 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\n \t(hash-based associative containers) lack movement\n \toperators, such as <code class=\"literal\">operator++</code> - in fact, this\n \tis the reason why this library differentiates from the standard C++ librarys\n@@ -344,7 +344,7 @@\n \t  to the question of whether point-type iterators and range-type\n \t  iterators are valid. The graphic below shows tags corresponding to\n \t  different types of invalidation guarantees.\n-\t</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>\n+\t</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>\n \t      <code class=\"classname\">basic_invalidation_guarantee</code>\n \t      corresponds to a basic guarantee that a point-type iterator,\n \t      a found pointer, or a found reference, remains valid as long\n@@ -428,7 +428,7 @@\n \t</p><p>\n \t  This library contains a container tag hierarchy corresponding to the\n \t  diagram below.\n-\t</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>\n+\t</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>\n \t  Given any container <span class=\"type\">Cntnr</span>, the tag of\n \t  the underlying data structure can be found via <code class=\"literal\">typename\n \t  Cntnr::container_category</code>.\n@@ -487,7 +487,7 @@\n \tcollision-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\n \t  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\n \tother 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\n-\t    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\n+\t    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\n \t      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\n \t    strings of 3 characters). A hash-table algorithm needs to map\n \t    elements of U \"uniformly\" into the range [0,..., m -\n@@ -504,7 +504,7 @@\n \t    Z<sub>+</sub>,</p><p>which maps a non-negative hash value, and a non-negative\n \t    range upper-bound into a non-negative integral in the range\n \t    between 0 (inclusive) and the range upper bound (exclusive),\n-\t    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\">\n+\t    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\">\n \t\tf(u , m) = g(h(u), m)\n \t      </span></div></div><br class=\"equation-break\" /><p>From the above, it is obvious that given g and\n \t    h, f can always be composed (however the converse\n@@ -524,7 +524,7 @@\n \t    transforming the sequence of hash values into a sequence of\n \t    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\n \t    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\n-\t    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\">\n+\t    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\">\n \t\tg(r, m) = r mod m\n \t      </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\n \t    v (typically powers of 2), and some a. Each of\n@@ -535,9 +535,9 @@\n \t    implement using the low\n \t    level % (modulo) operation (for any m), or the\n \t    low level &amp; (bit-mask) operation (for the case where\n-\t    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\">\n+\t    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\">\n \t\tg(r, m) = r % m\n-\t      </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\">\n+\t      </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\">\n \t\tg(r, m) = r &amp; m - 1, (with m =\n \t\t2<sup>k</sup> for some k)\n \t      </span></div></div><br class=\"equation-break\" /><p>respectively.</p><p>The % (modulo) implementation has the advantage that for\n@@ -563,7 +563,7 @@\n \t      s = [ s<sub>0</sub>,..., s<sub>t - 1</sub>]\n \t    </p><p>be a string of t characters, each of which is from\n \t    domain S. Consider the following ranged-hash\n-\t    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. \n+\t    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. \n \t\tA Standard String Hash Function\n \t      </strong></p><div class=\"equation-contents\"><span class=\"mathphrase\">\n \t\tf<sub>1</sub>(s, m) = ∑ <sub>i =\n@@ -575,7 +575,7 @@\n \t    of a long DNA sequence (and so S = {'A', 'C', 'G',\n \t    'T'}). In this case, scanning the entire string might be\n \t    prohibitively expensive. A possible alternative might be to use\n-\t    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. \n+\t    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. \n \t\tOnly k String DNA Hash\n \t      </strong></p><div class=\"equation-contents\"><span class=\"mathphrase\">\n \t\tf<sub>2</sub>(s, m) = ∑ <sub>i\n@@ -606,12 +606,12 @@\n \t      the container transforms the key into a non-negative integral\n \t      using the hash functor (points B and C), and transforms the\n \t      result into a position using the combining functor (points D\n-\t      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\n+\t      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\n \t      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\n \t      a ranged-hash function. The graphic below shows an <code class=\"function\">insert</code> sequence\n \t      diagram. The user inserts an element (point A), the container\n \t      transforms the key into a position using the combining functor\n-\t      (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>\n+\t      (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>\n \t\tProbing tables\n \t      </h6></div></div></div><p><code class=\"classname\">gp_hash_table</code> is parametrized by\n \t      <code class=\"classname\">Hash_Fn</code>, <code class=\"classname\">Probe_Fn</code>,\n@@ -634,7 +634,7 @@\n \t\ta linear probe and a quadratic probe function,\n \t\trespectively.</p></li></ol></div><p>\n \t\tThe graphic below shows the relationships.\n-\t      </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\n+\t      </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\n \t    shrink. It is necessary to specify policies to determine how\n \t    and when a hash table should change its size. Usually, resize\n \t    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\n@@ -669,10 +669,10 @@\n \t    and some load factor be denoted by Α. We would like to\n \t    calculate the minimal length of k, such that if there were Α\n \t    m elements in the hash table, a probe sequence of length k would\n-\t    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\n+\t    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\n \t    k appears in bin i by p<sub>i</sub>, the\n \t    length of the probe sequence of bin i by\n-\t    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. \n+\t    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. \n \t\tProbability of Probe Sequence of Length k\n \t      </strong></p><div class=\"equation-contents\"><span class=\"mathphrase\">\n \t\tp<sub>1</sub> =\n@@ -686,7 +686,7 @@\n \t    l<sub>i</sub> are negatively-dependent\n \t    (<a class=\"xref\" href=\"policy_data_structures.html#biblio.dubhashi98neg\" title=\"Balls and bins: A study in negative dependence\">[biblio.dubhashi98neg]</a>)\n \t    . Let\n-\t    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. \n+\t    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. \n \t\tProbability Probe Sequence in Some Bin\n \t      </strong></p><div class=\"equation-contents\"><span class=\"mathphrase\">\n \t\tP( exists<sub>i</sub> l<sub>i</sub> ≥ k ) =\n@@ -725,7 +725,7 @@\n \t      a resize is needed, and if so, what is the new size (points D\n \t      to G); following the resize, it notifies the policy that a\n \t      resize has completed (point H); finally, the element is\n-\t      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\n+\t      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\n \t      decomposed to a size policy and a trigger policy. Consequently,\n \t      the library contains a single class for instantiating a resize\n \t      policy: <code class=\"classname\">hash_standard_resize_policy</code>\n@@ -734,8 +734,8 @@\n \t      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>)\n \t      to these policies.</p><p>The two graphics immediately below show sequence diagrams\n \t      illustrating the interaction between the standard resize policy\n-\t      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\n-\t\tdiagram</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\n+\t      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\n+\t\tdiagram</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\n \t\tdiagram</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\n \t      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>\n \t\timplements a load check trigger policy.</p></li><li class=\"listitem\"><p><code class=\"classname\">cc_hash_max_collision_check_resize_trigger</code>\n@@ -878,7 +878,7 @@\n \t  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\n \t  each node the size of the sub-tree rooted at the node; the\n \t  second stores at each node the maximal endpoint of the\n-\t  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\n+\t  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\n \t  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\n \t    should be (if any).</p></li><li class=\"listitem\"><p>Various operations can invalidate node\n \t    invariants.  The graphic below shows how a right rotation,\n@@ -892,7 +892,7 @@\n \t    metadata.</p></li><li class=\"listitem\"><p>It is not feasible to know in advance which methods trees\n \t    can support. Besides the usual <code class=\"classname\">find</code> method, the\n \t    first tree can support a <code class=\"classname\">find_by_order</code> method, while\n-\t    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:\n+\t    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:\n \t  node iterators, and template-template node updater\n \t  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\n \t    types, <code class=\"classname\">const_node_iterator</code>\n@@ -921,7 +921,7 @@\n \t    <code class=\"classname\">node_update</code> class, and publicly subclasses\n \t    <code class=\"classname\">node_update</code>. The graphic below shows this\n \t    scheme, as well as some predefined policies (which are explained\n-\t    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\n+\t    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\n \t    <code class=\"classname\">Node_Update</code>) must define <code class=\"classname\">metadata_type</code> as\n \t    the type of metadata it requires. For order statistics,\n \t    e.g., <code class=\"classname\">metadata_type</code> might be <code class=\"classname\">size_t</code>.\n@@ -940,7 +940,7 @@\n \t    <code class=\"classname\">nd_it</code>. For example, say node x in the\n \t    graphic below label A has an invalid invariant, but its' children,\n \t    y and z have valid invariants. After the invocation, all three\n-\t    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,\n+\t    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,\n \t    it invokes this method in its <code class=\"classname\">node_update</code> base to\n \t    restore the invariant. For example, the graphic below shows\n \t    an <code class=\"function\">insert</code> operation (point A); the tree performs some\n@@ -948,7 +948,7 @@\n \t    C, and D). (It is well known that any <code class=\"function\">insert</code>,\n \t    <code class=\"function\">erase</code>, <code class=\"function\">split</code> or <code class=\"function\">join</code>, can restore\n \t    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>)\n-\t    .</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\n+\t    .</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\n \t    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\n \t      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\n \t      tree?</p></li><li class=\"listitem\"><p>How can the following cyclic dependency be resolved?\n@@ -990,7 +990,7 @@\n \t      node's metadata (this is halting reducible). In the graphic\n \t      below, assume the shaded node is inserted. The tree would have\n \t      to traverse the useless path shown to the root, applying\n-\t      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>\n+\t      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>\n \t    solves both these problems. The tree detects that node\n \t    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.\n \t  It is possible to split a tree so that it passes\n@@ -1073,7 +1073,7 @@\n \t  sub-tree with leafs \"a\" and \"as\". The maximal common prefix is\n \t  \"a\". The internal node contains, consequently, to const\n \t  iterators, one pointing to <code class=\"varname\">'a'</code>, and the other to\n-\t  <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\n+\t  <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\n \t  tree-based containers. There are two minor\n \t  differences, though, which, unfortunately, thwart sharing them\n \t  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\n@@ -1082,7 +1082,7 @@\n \t    parametrized by <code class=\"classname\">Cmp_Fn</code>.</p></li><li class=\"listitem\"><p>Tree-based containers store values in all nodes, while\n \t    trie-based containers (at least in this implementation) store\n \t    values in leafs.</p></li></ol></div><p>The graphic below shows the scheme, as well as some predefined\n-\t  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\n+\t  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\n \t  updating policies:</p><div class=\"orderedlist\"><ol class=\"orderedlist\" type=\"1\"><li class=\"listitem\"><p>\n \t\t<code class=\"classname\">trie_order_statistics_node_update</code>\n \t\tsupports order statistics.\n@@ -1130,7 +1130,7 @@\n \t  simple list of integer keys. If we search for the integer 6, we\n \t  are paying an overhead: the link with key 6 is only the fifth\n \t  link; if it were the first link, it could be accessed\n-\t  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\n+\t  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\n \t  accessed. They try to determine, by the access history, which\n \t  keys to move to the front of the list. Some of these algorithms\n \t  require adding some metadata alongside each entry.</p><p>For example, in the graphic below label A shows the counter\n@@ -1140,7 +1140,7 @@\n \t  predetermined value, say 10, as shown in label C, the count is set\n \t  to 0 and the node is moved to the front of the list, as in label\n \t  D.\n-\t  </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\n+\t  </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\n \t  implementing any algorithm moving nodes to the front of the\n \t  list (policies implementing algorithms interchanging nodes are\n \t  unsupported).</p><p>Associative containers based on lists are parametrized by a\n@@ -1312,7 +1312,7 @@\n \t  sequence; the second uses a tree (or forest of trees), which is\n \t  typically less structured than an associative container's tree;\n \t  the third simply uses an associative container. These are\n-\t  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\n+\t  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\n \t  from a priority queue must incur a logarithmic expense (in the\n \t  amortized sense). Any priority queue implementation that would\n \t  avoid this, would violate known bounds on comparison-based\n@@ -1392,7 +1392,7 @@\n \t  container <code class=\"classname\">Cntnr</code>, the tag of the underlying\n \t  data structure can be found via <code class=\"classname\">typename\n \t  Cntnr::container_category</code>; this is one of the possible tags shown in the graphic below.\n-\t  </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\n+\t  </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\n \t  container type for its attributes. Given any container\n \t  <code class=\"classname\">Cntnr</code>, then </p><pre class=\"programlisting\">__gnu_pbds::container_traits&lt;Cntnr&gt;</pre><p>\n \t  is a traits class identifying the properties of the\ndiff --git a/libstdc++-v3/doc/html/manual/policy_data_structures_using.html b/libstdc++-v3/doc/html/manual/policy_data_structures_using.html\nindex 10c13bedeac..a8175a71e7a 100644\n--- a/libstdc++-v3/doc/html/manual/policy_data_structures_using.html\n+++ b/libstdc++-v3/doc/html/manual/policy_data_structures_using.html\n@@ -1,5 +1,5 @@\n <?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n-<!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\n+<!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\n       other libraries except the standard C++ library . All classes are\n       defined in namespace <code class=\"code\">__gnu_pbds</code>. The library internally\n       uses macros beginning with <code class=\"code\">PB_DS</code>, but\n@@ -61,7 +61,7 @@\n \tIn addition, there are the following diagnostics classes,\n \tused to report errors specific to this library's data\n \tstructures.\n-      </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>\n+      </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>\n \t  For the most part, the policy-based containers containers in\n \t  namespace <code class=\"literal\">__gnu_pbds</code> have the same interface as\n \t  the equivalent containers in the standard C++ library, except for\n@@ -479,4 +479,4 @@\n \t\tvery simple version of Dijkstra's shortest path\n \t\talgorithm:\n \t\t<code class=\"filename\">priority_queue_dijkstra.cc</code>\n-\t      </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>\n\\ No newline at end of file\n+\t      </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>\n\\ No newline at end of file\ndiff --git a/libstdc++-v3/doc/html/manual/status.html b/libstdc++-v3/doc/html/manual/status.html\nindex 64a48408268..df8512b63ca 100644\n--- a/libstdc++-v3/doc/html/manual/status.html\n+++ b/libstdc++-v3/doc/html/manual/status.html\n@@ -93,7 +93,7 @@ mainline GCC, not in any particular release.\n       <code class=\"code\">std::type_info::name()</code> is the mangled type name.\n       You will need to call <code class=\"code\">c++filt</code> and pass the names as\n       command-line parameters to demangle them, or call a\n-      <a class=\"link\" href=\"ext_demangling.html\" title=\"Chapter 28. Demangling\">runtime demangler function</a>.\n+      <a class=\"link\" href=\"ext_demangling.html\" title=\"Chapter 29. Demangling\">runtime demangler function</a>.\n    </p><p><span class=\"emphasis\"><em>20.1.5 [lib.allocator.requirements]/5</em></span>\n       <span class=\"emphasis\"><em>\"Implementors are encouraged to supply libraries that can\n       accept allocators that encapsulate more general memory models and that\n@@ -142,7 +142,7 @@ mainline GCC, not in any particular release.\n    </p><p><span class=\"emphasis\"><em>27.7.1.3 [lib.stringbuf.virtuals]/16</em></span>,\n       <span class=\"emphasis\"><em>27.8.1.4 [lib.filebuf.virtuals]/10</em></span>\n       The effects of <code class=\"code\">pubsetbuf/setbuf</code> are described in the\n-      <a class=\"link\" href=\"io.html\" title=\"Chapter 13.  Input and Output\">Input and Output</a> chapter.\n+      <a class=\"link\" href=\"io.html\" title=\"Chapter 14.  Input and Output\">Input and Output</a> chapter.\n    </p><p><span class=\"emphasis\"><em>27.8.1.4 [lib.filebuf.virtuals]/16</em></span> Calling\n       <code class=\"code\">fstream::sync</code> when a get area exists will... whatever\n       <code class=\"code\">fflush()</code> does, I think.\ndiff --git a/libstdc++-v3/doc/html/manual/std_contents.html b/libstdc++-v3/doc/html/manual/std_contents.html\nindex 14586e8c75b..317d0f2033d 100644\n--- a/libstdc++-v3/doc/html/manual/std_contents.html\n+++ b/libstdc++-v3/doc/html/manual/std_contents.html\n@@ -30,13 +30,16 @@\n </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. \n   Numerics\n   \n-</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. \n+</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. \n+  Time\n+  \n+</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 extents lifetime</a></span></dt></dl></dd></dl></dd><dt><span class=\"chapter\"><a href=\"io.html\">14. \n   Input and Output\n   \n-</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. \n+</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. \n   Atomics\n   \n-</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. \n+</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. \n   Concurrency\n   \n </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. \ndiff --git a/libstdc++-v3/doc/html/manual/streambufs.html b/libstdc++-v3/doc/html/manual/streambufs.html\nindex c175054ceff..8ae046c294d 100644\n--- a/libstdc++-v3/doc/html/manual/streambufs.html\n+++ b/libstdc++-v3/doc/html/manual/streambufs.html\n@@ -1,5 +1,5 @@\n <?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n-<!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. \n+<!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. \n   Input and Output\n   \n </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>\n@@ -131,7 +131,7 @@\n       just those at the language/library level.  Kernel buffers, disk\n       buffers, and the like will also have an effect.  Inspecting and\n       changing those are system-dependent.\n-   </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. \n+   </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. \n   Input and Output\n   \n  </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>\n\\ No newline at end of file\ndiff --git a/libstdc++-v3/doc/html/manual/stringstreams.html b/libstdc++-v3/doc/html/manual/stringstreams.html\nindex e12e6543e74..bdfaba6d103 100644\n--- a/libstdc++-v3/doc/html/manual/stringstreams.html\n+++ b/libstdc++-v3/doc/html/manual/stringstreams.html\n@@ -1,5 +1,5 @@\n <?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n-<!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. \n+<!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. \n   Input and Output\n   \n </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>\ndiff --git a/libstdc++-v3/doc/html/manual/test.html b/libstdc++-v3/doc/html/manual/test.html\nindex 00cb269e2f7..404d7ddbf87 100644\n--- a/libstdc++-v3/doc/html/manual/test.html\n+++ b/libstdc++-v3/doc/html/manual/test.html\n@@ -311,12 +311,12 @@ cat 27_io/objects/char/3_xin.in | a.out</pre></dd><dt><span class=\"term\"><code c\n    make check-debug\n    </code></strong></span></dt><dd><p>\n      This rule runs through the test suite under the\n-     <a class=\"link\" href=\"debug_mode.html\" title=\"Chapter 17. Debug Mode\">debug mode</a>.\n+     <a class=\"link\" href=\"debug_mode.html\" title=\"Chapter 18. Debug Mode\">debug mode</a>.\n    </p></dd><dt><span class=\"term\"><strong class=\"userinput\"><code>\n    make check-parallel\n    </code></strong></span></dt><dd><p>\n      This rule runs through the test suite under the\n-     <a class=\"link\" href=\"parallel_mode.html\" title=\"Chapter 18. Parallel Mode\">parallel mode</a>.\n+     <a class=\"link\" href=\"parallel_mode.html\" title=\"Chapter 19. Parallel Mode\">parallel mode</a>.\n    </p></dd></dl></div><p>\n       We are interested in any strange failures of the testsuite;\n       please email the main libstdc++ mailing list if you see\n@@ -354,7 +354,7 @@ cat 27_io/objects/char/3_xin.in | a.out</pre></dd><dt><span class=\"term\"><code c\n       but this no longer works.\n     </p><p>\n       To run the libstdc++ test suite under the\n-      <a class=\"link\" href=\"debug_mode.html\" title=\"Chapter 17. Debug Mode\">debug mode</a>, use\n+      <a class=\"link\" href=\"debug_mode.html\" title=\"Chapter 18. Debug Mode\">debug mode</a>, use\n       <strong class=\"userinput\"><code>make check-debug</code></strong>. Alternatively, edit\n       <code class=\"filename\"><em class=\"replaceable\"><code>libbuilddir</code></em>/scripts/testsuite_flags</code>\n       to add the compile-time flag <code class=\"option\">-D_GLIBCXX_DEBUG</code> to the\n@@ -370,7 +370,7 @@ cat 27_io/objects/char/3_xin.in | a.out</pre></dd><dt><span class=\"term\"><code c\n       <code class=\"literal\">dg-require-<em class=\"replaceable\"><code>support</code></em></code>\n       directives described below.\n     </p><p>\n-      The <a class=\"link\" href=\"parallel_mode.html\" title=\"Chapter 18. Parallel Mode\">parallel\n+      The <a class=\"link\" href=\"parallel_mode.html\" title=\"Chapter 19. Parallel Mode\">parallel\n       mode</a> can be tested using\n       <strong class=\"userinput\"><code>make check-parallel</code></strong>, or in much the same manner\n       as the debug mode, substituting\ndiff --git a/libstdc++-v3/doc/html/manual/time.html b/libstdc++-v3/doc/html/manual/time.html\nnew file mode 100644\nindex 00000000000..7a5d188052a\n--- /dev/null\n+++ b/libstdc++-v3/doc/html/manual/time.html\n@@ -0,0 +1,145 @@\n+<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n+<!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. \n+  Time\n+  \n+</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. \n+    Standard Contents\n+  </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. \n+  Time\n+  <a id=\"id-1.3.4.11.1.1.1\" class=\"indexterm\"></a>\n+</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 extents 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>\n+     The <a class=\"link\" href=\"https://howardhinnant.github.io/date/tz.html\" target=\"_top\">Time Zone Database\n+     Parser</a> by Howard E. Hinnant is valuable source of information and\n+     examples of usage for <code class=\"code\">date</code> library, on which standard interface\n+     is based on.\n+   </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>\n+     When enabled (which is default) time zone database <code class=\"code\">tzdb</code>,\n+     uses a <a class=\"link\" href=\"https://man7.org/linux/man-pages/man8/zic.8.html#FILES\" target=\"_top\">\n+     <code class=\"code\">zic</code> file format</a>, both as the format of the input\n+     files, and for in-memory representation, resulting in reduced memory\n+     footprint.\n+   </p><p>\n+     The transitions are generated and cached on the fly, when information\n+     for given zone is requested. In consequence, initial request for\n+     <code class=\"code\">time_zone</code> object are slower. To mitigate above,\n+     <code class=\"code\">time_zone</code> may be expanded for given time range at the start\n+     of the program (and after each reload), by iterating over\n+     <code class=\"code\">sys_info</code>, as in example below.\n+   </p><pre class=\"programlisting\">\n+     void\n+     expand_zone(const std::chrono::time_zone* tz,\n+                 const std::chrono::sys_seconds start,\n+                 const std::chrono::sys_seconds end)\n+     {\n+       std::chrono::sys_seconds time = start;\n+       while (time &lt; end) {\n+         const std::chrono::sys_info&amp; info = tz-&gt;get_info(time);\n+         time = info.end + std::chrono::seconds(1);\n+       }\n+     }\n+   </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>\n+     The <code class=\"code\">time_zone</code> pointer returned from\n+     <code class=\"code\">std::chrono::current_zone</code>, is determined by looking up\n+     (by <code class=\"code\">std::chrono::locate_zone</code>) IANA zone name\n+     determined as follows (for platforms other than AIX and Windows):\n+   </p><div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: disc; \"><li class=\"listitem\">\n+       On system supporting <code class=\"code\">readlink</code>, suffix components of the\n+       path of the file linked by <code class=\"code\">/etc/localtime</code>. The suffixes\n+       are matched in the other of increasing lenght, starting from final\n+       component, until the match is found in the time zone database.\n+       Any repeated slashes (<code class=\"code\">//</code>) are eliminated.\n+     </li><li class=\"listitem\">\n+       Names stored in the files <code class=\"code\">/etc/timezone</code> (Debian\n+       derivatives) or <code class=\"code\">/var/db/zoneinfo</code> (FreeBSD) in that order.\n+     </li><li class=\"listitem\">\n+       Values for <code class=\"code\">TIMEZONE</code> and <code class=\"code\">ZONE</code> keys in\n+       <code class=\"code\">/etc/sysconfig/clock</code>.\n+     </li><li class=\"listitem\"><code class=\"code\">UTC</code>.\n+     </li></ul></div><p>\n+     For AIX, the value of <code class=\"code\">TZ</code> environment value is used, with\n+     fallback to <code class=\"code\">UTC</code>.\n+   </p><p>\n+     On Windows <code class=\"code\">TimeZoneKeyName</code> is mapped to the IANA zone, using\n+     internal mapping hard-coded in library, with fallback to <code class=\"code\">UTC</code>:\n+   </p><div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: disc; \"><li class=\"listitem\">\n+       If returned <code class=\"code\">TimeZoneKeyName</code> is empty or DST is disabled,\n+       then value based on <code class=\"code\">Bias</code> is returned: <code class=\"code\">Etc/UTC</code>\n+       for zero, <code class=\"code\">Etc/GMT+/-N</code> for value that is multiply of 60,\n+       and empty string otherwise.\n+     </li><li class=\"listitem\">\n+       If mapping contains single entry for <code class=\"code\">TimeZoneKeyName</code>, that\n+       name is used.\n+     </li><li class=\"listitem\">\n+       If <code class=\"code\">TimeZoneKeyName</code> correspond to multiple IANA zone,\n+       2-letter country code, retrived by applying <code class=\"code\">GetGeoInfoW</code>\n+       on result of <code class=\"code\">GetUserGeoID(GEOCLASS_NATION)</code> is used.\n+       If determining country code fails, or no entry exits for given code,\n+       first mapping entry (<code class=\"code\">001</code>) is returned.\n+     </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>\n+      Depending on the build configuration (see\n+      <code class=\"code\">--with-libstdcxx-zoneinfo=</code> documentation in\n+      <a class=\"xref\" href=\"configure.html\" title=\"Configure\">Configuring</a>).\n+      the content of time zone database can be source from <code class=\"code\">tzdata.zi</code>\n+      and <code class=\"code\">leapseconds</code> files located in\n+      <span class=\"emphasis\"><em>zoneinfo_dir</em></span>, or static information embeded in the\n+      library.\n+    </p><p>\n+      By default, <span class=\"emphasis\"><em>zoneinfo_dir</em></span> is set to the\n+      system-specific default directory (if suitable dir is know for target),\n+      usually <code class=\"code\">/usr/share/zoneinfo</code>. In case if no such directory\n+      exits, or does not contain required files in suitable format, embeded\n+      static data is used as fallback.\n+    </p><p>\n+      In addition to <code class=\"code\">--with-libstdcxx-zoneinfo=</code> configure option\n+      (used during GCC build), the path of <span class=\"emphasis\"><em>zoneinfo_dir</em></span>\n+      can overridden by application by providing the definition of the\n+      <code class=\"code\">__gnu_cxx::zoneinfo_dir_overrride()</code> function. The\n+      returned path should be directory that contains <code class=\"code\">tzdata.zi</code>\n+      and <code class=\"code\">leapseconds</code> files in the\n+      <a class=\"link\" href=\"https://man7.org/linux/man-pages/man8/zic.8.html#FILES\" target=\"_top\">\n+      <code class=\"code\">zic</code>format</a>.\n+    </p><p>\n+      The embeded timezone information corresponds to the copy of the\n+      IANA database at time of the releases, and its version can be queried\n+      using <code class=\"code\">std::chrono::get_tzdb().version</code>.\n+    </p><p>\n+      Time zone database can be disabled at the GCC configuration time,\n+      in such case a minimal time zone database is embeded as version\n+      <code class=\"code\">ersatz</code>. This database contains leapseconds data,\n+      <code class=\"code\">Etc/UTC</code>, <code class=\"code\">Etc/GMT</code> zones, and their aliases\n+      (<code class=\"code\">Etc/Zulu</code>, <code class=\"code\">Etc/UCT</code>, <code class=\"code\">Etc/Universal</code>,\n+      <code class=\"code\">Etc/Greenwich</code>, <code class=\"code\">Etc/GMT0</code>, <code class=\"code\">Etc/GMT+0</code>,\n+      <code class=\"code\">Etc/GMT-0</code>). Above information are sufficient to support\n+      conversion between <code class=\"code\">utc_clock</code> and <code class=\"code\">sys_clock</code>,\n+      as well as <code class=\"code\">UTC</code> fallback for <code class=\"code\">current_zone</code>\n+      (<a class=\"xref\" href=\"time.html#zone.current\" title=\"current zone\">current zone</a>).\n+    </p></div><div class=\"section\"><div class=\"titlepage\"><div><div><h3 class=\"title\"><a id=\"zone.db.iterator\"></a>tzdb_list::const_iterator extents lifetime</h3></div></div></div><p>\n+      The <code class=\"code\">std::chrono::reload_tzdb</code> function may be used to load\n+      updated content of the <code class=\"code\">tzdata.zi</code> and <code class=\"code\">leapseconds</code>\n+      files from <span class=\"emphasis\"><em>zoneinfo_dir</em></span> (if\n+      <a class=\"xref\" href=\"time.html#zone.db.sources\" title=\"data sources\">data sources</a>). In case if different\n+      version (<code class=\"code\">std::chrono::remove_version()</code> is different than\n+      <code class=\"code\">std:chrono::get_tzdb().version</code>, a new element is added at\n+      the front of the <code class=\"code\">tzdb_list</code>. This new database is used for\n+      any succeeding call to <code class=\"code\">current_zone</code> and\n+      <code class=\"code\">locate_zone</code>.\n+    </p><p>\n+      The above process is thread-safe, and does not invalidate nor change any\n+      pre-existing pointers to <code class=\"code\">time_zone</code>. However, for long-running\n+      application it may leads to accumulation of time zone data, and thus\n+      increased memory usage. In most cases, this is acceptable even for long\n+      running applications, due infrequent updates to IANA database, and reduced\n+      footprint of libstdc++ implementation (see\n+      <a class=\"xref\" href=\"time.html#zone.db.zic\" title=\"tzdb uses zic format\">tzdb uses zic format</a>).\n+    </p><p>\n+      In case if above is not acceptable (e.g. due memory constrains), entries\n+      may be removed from <code class=\"code\">tzdb_list</code> using <code class=\"code\">erase_after</code>.\n+      In the case, it's up to user to guarantee that application no longer uses\n+      any <code class=\"code\">time_zone*</code> to removed database. To facilitate with above,\n+      libstdc++ provides an <span class=\"emphasis\"><em>extension</em></span>, and guarantees that\n+      that <code class=\"code\">tzdb</code> object erased from the list is not destroyed, until\n+      there is an <code class=\"code\">tzdb_list::const_iterator</code> pointing to it.\n+    </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. \n+  Input and Output\n+  \n+</td></tr></table></div></body></html>\n\\ No newline at end of file\ndiff --git a/libstdc++-v3/doc/html/manual/using.html b/libstdc++-v3/doc/html/manual/using.html\nindex 27f503ecacc..387f509e41f 100644\n--- a/libstdc++-v3/doc/html/manual/using.html\n+++ b/libstdc++-v3/doc/html/manual/using.html\n@@ -46,7 +46,7 @@\n         header.\n         The <code class=\"filename\">libstdc++exp.a</code> library\n         also provides all the symbols contained in this library.\n-      </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\n+      </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\n         Parallel Standard Algorithms and execution policies in\n         <code class=\"filename\">&lt;execution&gt;</code>.\n       </td></tr><tr><td align=\"left\"><code class=\"literal\">-ffreestanding</code></td><td align=\"left\">\ndiff --git a/libstdc++-v3/doc/html/manual/using_macros.html b/libstdc++-v3/doc/html/manual/using_macros.html\nindex f1d8492fb9e..13438c47439 100644\n--- a/libstdc++-v3/doc/html/manual/using_macros.html\n+++ b/libstdc++-v3/doc/html/manual/using_macros.html\n@@ -80,7 +80,7 @@\n \tdetect violations of the requirements of the standard.  This\n \tmacro has no effect for freestanding implementations.\n \tThis is described in more detail in\n-\t<a class=\"link\" href=\"ext_compile_checks.html\" title=\"Chapter 16. Compile Time Checks\">Compile Time Checks</a>.\n+\t<a class=\"link\" href=\"ext_compile_checks.html\" title=\"Chapter 17. Compile Time Checks\">Compile Time Checks</a>.\n       </p></dd><dt><span class=\"term\"><code class=\"code\">_GLIBCXX_ASSERTIONS</code></span></dt><dd><p>\n \tDefined by default when compiling with no optimization, undefined\n \tby default when compiling with optimization.\n@@ -93,22 +93,22 @@\n \twith no optimization.\n       </p></dd><dt><span class=\"term\"><code class=\"code\">_GLIBCXX_DEBUG</code></span></dt><dd><p>\n \tUndefined by default. When defined, compiles user code using\n-\tthe <a class=\"link\" href=\"debug_mode.html\" title=\"Chapter 17. Debug Mode\">debug mode</a>.\n+\tthe <a class=\"link\" href=\"debug_mode.html\" title=\"Chapter 18. Debug Mode\">debug mode</a>.\n         When defined, <code class=\"code\">_GLIBCXX_ASSERTIONS</code> is defined\n         automatically, so all the assertions enabled by that macro are also\n         enabled in debug mode.\n       </p></dd><dt><span class=\"term\"><code class=\"code\">_GLIBCXX_DEBUG_PEDANTIC</code></span></dt><dd><p>\n \tUndefined by default. When defined while compiling with\n-\tthe <a class=\"link\" href=\"debug_mode.html\" title=\"Chapter 17. Debug Mode\">debug mode</a>, makes\n+\tthe <a class=\"link\" href=\"debug_mode.html\" title=\"Chapter 18. Debug Mode\">debug mode</a>, makes\n \tthe debug mode extremely picky by making the use of libstdc++\n \textensions and libstdc++-specific behavior into errors.\n       </p></dd><dt><span class=\"term\"><code class=\"code\">_GLIBCXX_DEBUG_BACKTRACE</code></span></dt><dd><p>\n \tUndefined by default. Considered only if libstdc++ has been configured with\n \t<code class=\"option\">--enable-libstdcxx-backtrace=yes</code> and if <code class=\"code\">_GLIBCXX_DEBUG</code>\n \tis defined. When defined display backtraces on\n-\t<a class=\"link\" href=\"debug_mode.html\" title=\"Chapter 17. Debug Mode\">debug mode</a> assertions.\n+\t<a class=\"link\" href=\"debug_mode.html\" title=\"Chapter 18. Debug Mode\">debug mode</a> assertions.\n       </p></dd><dt><span class=\"term\"><code class=\"code\">_GLIBCXX_PARALLEL</code></span></dt><dd><p>Undefined by default. When defined, compiles user code\n-\tusing the <a class=\"link\" href=\"parallel_mode.html\" title=\"Chapter 18. Parallel Mode\">parallel\n+\tusing the <a class=\"link\" href=\"parallel_mode.html\" title=\"Chapter 19. Parallel Mode\">parallel\n \tmode</a>.\n       </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\n       this macro will be defined to a non-zero value if\ndiff --git a/libstdc++-v3/doc/xml/manual/spine.xml b/libstdc++-v3/doc/xml/manual/spine.xml\nindex eff72bc13d7..47536f00077 100644\n--- a/libstdc++-v3/doc/xml/manual/spine.xml\n+++ b/libstdc++-v3/doc/xml/manual/spine.xml\n@@ -197,15 +197,19 @@\n <xi:include xmlns:xi=\"http://www.w3.org/2001/XInclude\" parse=\"xml\" href=\"numerics.xml\">\n </xi:include>\n \n-<!-- Chapter 10 : Input Output -->\n+<!-- Chapter 10 : Time -->\n+<xi:include xmlns:xi=\"http://www.w3.org/2001/XInclude\" parse=\"xml\" href=\"time.xml\">\n+</xi:include>\n+\n+<!-- Chapter 11 : Input Output -->\n <xi:include xmlns:xi=\"http://www.w3.org/2001/XInclude\" parse=\"xml\" href=\"io.xml\">\n </xi:include>\n \n-<!-- Chapter 11 : Atomics -->\n+<!-- Chapter 12 : Atomics -->\n <xi:include xmlns:xi=\"http://www.w3.org/2001/XInclude\" parse=\"xml\" href=\"atomics.xml\">\n </xi:include>\n \n-<!-- Chapter 12 : Concurrency -->\n+<!-- Chapter 13 : Concurrency -->\n <xi:include xmlns:xi=\"http://www.w3.org/2001/XInclude\" parse=\"xml\" href=\"concurrency.xml\">\n </xi:include>\n \ndiff --git a/libstdc++-v3/doc/xml/manual/time.xml b/libstdc++-v3/doc/xml/manual/time.xml\nnew file mode 100644\nindex 00000000000..3b58cf514fa\n--- /dev/null\n+++ b/libstdc++-v3/doc/xml/manual/time.xml\n@@ -0,0 +1,208 @@\n+<chapter xmlns=\"http://docbook.org/ns/docbook\" version=\"5.0\"\n+\t xml:id=\"std.time\" xreflabel=\"Time\">\n+<?dbhtml filename=\"time.html\"?>\n+\n+<info><title>\n+  Time\n+  <indexterm><primary>Time</primary></indexterm>\n+</title>\n+  <keywordset>\n+    <keyword>ISO C++</keyword>\n+    <keyword>library</keyword>\n+  </keywordset>\n+</info>\n+\n+<!-- Sect1 01 : Time zone database -->\n+<section xml:id=\"std.time.zone.db\" xreflabel=\"\"><info><title>Time zone database</title></info>\n+<?dbhtml filename=\"tzdb.html\"?>\n+\n+   <para>\n+     The <link xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n+     xlink:href=\"https://howardhinnant.github.io/date/tz.html\">Time Zone Database\n+     Parser</link> by Howard E. Hinnant is valuable source of information and\n+     examples of usage for <code>date</code> library, on which standard interface\n+     is based on.\n+   </para>\n+\n+   <section xml:id=\"zone.db.zic\" xreflabel=\"tzdb uses zic format\"><info><title>tzdb uses zic format</title></info>\n+\n+   <para>\n+     When enabled (which is default) time zone database <code>tzdb</code>,\n+     uses a <link xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n+     xlink:href=\"https://man7.org/linux/man-pages/man8/zic.8.html#FILES\">\n+     <code>zic</code> file format</link>, both as the format of the input\n+     files, and for in-memory representation, resulting in reduced memory\n+     footprint.\n+   </para>\n+   <para>\n+     The transitions are generated and cached on the fly, when information\n+     for given zone is requested. In consequence, initial request for\n+     <code>time_zone</code> object are slower. To mitigate above,\n+     <code>time_zone</code> may be expanded for given time range at the start\n+     of the program (and after each reload), by iterating over\n+     <code>sys_info</code>, as in example below.\n+   </para>\n+   <programlisting>\n+     void\n+     expand_zone(const std::chrono::time_zone* tz,\n+                 const std::chrono::sys_seconds start,\n+                 const std::chrono::sys_seconds end)\n+     {\n+       std::chrono::sys_seconds time = start;\n+       while (time &lt; end) {\n+         const std::chrono::sys_info&amp; info = tz->get_info(time);\n+         time = info.end + std::chrono::seconds(1);\n+       }\n+     }\n+   </programlisting>\n+  </section>\n+\n+  <section xml:id=\"zone.current\" xreflabel=\"current zone\"><info><title>current zone</title></info>\n+\n+   <para>\n+     The <code>time_zone</code> pointer returned from\n+     <code>std::chrono::current_zone</code>, is determined by looking up\n+     (by <code>std::chrono::locate_zone</code>) IANA zone name\n+     determined as follows (for platforms other than AIX and Windows):\n+   </para>\n+   <itemizedlist>\n+     <listitem>\n+       On system supporting <code>readlink</code>, suffix components of the\n+       path of the file linked by <code>/etc/localtime</code>. The suffixes\n+       are matched in the other of increasing lenght, starting from final\n+       component, until the match is found in the time zone database.\n+       Any repeated slashes (<code>//</code>) are eliminated.\n+     </listitem>\n+     <listitem>\n+       Names stored in the files <code>/etc/timezone</code> (Debian\n+       derivatives) or <code>/var/db/zoneinfo</code> (FreeBSD) in that order.\n+     </listitem>\n+     <listitem>\n+       Values for <code>TIMEZONE</code> and <code>ZONE</code> keys in\n+       <code>/etc/sysconfig/clock</code>.\n+     </listitem>\n+     <listitem>\n+       <code>UTC</code>.\n+     </listitem>\n+   </itemizedlist>\n+\n+   <para>\n+     For AIX, the value of <code>TZ</code> environment value is used, with\n+     fallback to <code>UTC</code>.\n+   </para>\n+\n+   <para>\n+     On Windows <code>TimeZoneKeyName</code> is mapped to the IANA zone, using\n+     internal mapping hard-coded in library, with fallback to <code>UTC</code>:\n+   </para>\n+   <itemizedlist>\n+     <listitem>\n+       If returned <code>TimeZoneKeyName</code> is empty or DST is disabled,\n+       then value based on <code>Bias</code> is returned: <code>Etc/UTC</code>\n+       for zero, <code>Etc/GMT+/-N</code> for value that is multiply of 60,\n+       and empty string otherwise.\n+     </listitem>\n+     <listitem>\n+       If mapping contains single entry for <code>TimeZoneKeyName</code>, that\n+       name is used.\n+     </listitem>\n+     <listitem>\n+       If <code>TimeZoneKeyName</code> correspond to multiple IANA zone,\n+       2-letter country code, retrived by applying <code>GetGeoInfoW</code>\n+       on result of <code>GetUserGeoID(GEOCLASS_NATION)</code> is used.\n+       If determining country code fails, or no entry exits for given code,\n+       first mapping entry (<code>001</code>) is returned.\n+     </listitem>\n+   </itemizedlist>\n+  </section>\n+\n+  <section xml:id=\"zone.db.sources\" xreflabel=\"data sources\"><info><title>data sources</title></info>\n+    <para>\n+      Depending on the build configuration (see\n+      <code>--with-libstdcxx-zoneinfo=</code> documentation in\n+      <xref linkend=\"manual.intro.setup.configure\">Configure section</xref>).\n+      the content of time zone database can be source from <code>tzdata.zi</code>\n+      and <code>leapseconds</code> files located in\n+      <emphasis>zoneinfo_dir</emphasis>, or static information embeded in the\n+      library.\n+    </para>\n+\n+    <para>\n+      By default, <emphasis>zoneinfo_dir</emphasis> is set to the\n+      system-specific default directory (if suitable dir is know for target),\n+      usually <code>/usr/share/zoneinfo</code>. In case if no such directory\n+      exits, or does not contain required files in suitable format, embeded\n+      static data is used as fallback.\n+    </para>\n+\n+    <para>\n+      In addition to <code>--with-libstdcxx-zoneinfo=</code> configure option\n+      (used during GCC build), the path of <emphasis>zoneinfo_dir</emphasis>\n+      can overridden by application by providing the definition of the\n+      <code>__gnu_cxx::zoneinfo_dir_overrride()</code> function. The\n+      returned path should be directory that contains <code>tzdata.zi</code>\n+      and <code>leapseconds</code> files in the\n+      <link xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n+      xlink:href=\"https://man7.org/linux/man-pages/man8/zic.8.html#FILES\">\n+      <code>zic</code>format</link>.\n+    </para>\n+\n+    <para>\n+      The embeded timezone information corresponds to the copy of the\n+      IANA database at time of the releases, and its version can be queried\n+      using <code>std::chrono::get_tzdb().version</code>.\n+    </para>\n+\n+    <para>\n+      Time zone database can be disabled at the GCC configuration time,\n+      in such case a minimal time zone database is embeded as version\n+      <code>ersatz</code>. This database contains leapseconds data,\n+      <code>Etc/UTC</code>, <code>Etc/GMT</code> zones, and their aliases\n+      (<code>Etc/Zulu</code>, <code>Etc/UCT</code>, <code>Etc/Universal</code>,\n+      <code>Etc/Greenwich</code>, <code>Etc/GMT0</code>, <code>Etc/GMT+0</code>,\n+      <code>Etc/GMT-0</code>). Above information are sufficient to support\n+      conversion between <code>utc_clock</code> and <code>sys_clock</code>,\n+      as well as <code>UTC</code> fallback for <code>current_zone</code>\n+      (<xref linkend=\"zone.current\">link</xref>).\n+    </para>\n+  </section>\n+\n+  <section xml:id=\"zone.db.iterator\" xreflabel=\"tzdb_list::const_iterator extents lifetime\">\n+    <info><title>tzdb_list::const_iterator extents lifetime</title></info>\n+\n+    <para>\n+      The <code>std::chrono::reload_tzdb</code> function may be used to load\n+      updated content of the <code>tzdata.zi</code> and <code>leapseconds</code>\n+      files from <emphasis>zoneinfo_dir</emphasis> (if\n+      <xref linkend=\"zone.db.sources\">enabled</xref>). In case if different\n+      version (<code>std::chrono::remove_version()</code> is different than\n+      <code>std:chrono::get_tzdb().version</code>, a new element is added at\n+      the front of the <code>tzdb_list</code>. This new database is used for\n+      any succeeding call to <code>current_zone</code> and\n+      <code>locate_zone</code>.\n+    </para>\n+\n+    <para>\n+      The above process is thread-safe, and does not invalidate nor change any\n+      pre-existing pointers to <code>time_zone</code>. However, for long-running\n+      application it may leads to accumulation of time zone data, and thus\n+      increased memory usage. In most cases, this is acceptable even for long\n+      running applications, due infrequent updates to IANA database, and reduced\n+      footprint of libstdc++ implementation (see\n+      <xref linkend=\"zone.db.zic\">link</xref>).\n+    </para>\n+\n+    <para>\n+      In case if above is not acceptable (e.g. due memory constrains), entries\n+      may be removed from <code>tzdb_list</code> using <code>erase_after</code>.\n+      In the case, it's up to user to guarantee that application no longer uses\n+      any <code>time_zone*</code> to removed database. To facilitate with above,\n+      libstdc++ provides an <emphasis>extension</emphasis>, and guarantees that\n+      that <code>tzdb</code> object erased from the list is not destroyed, until\n+      there is an <code>tzdb_list::const_iterator</code> pointing to it.\n+    </para>\n+  </section>\n+\n+</section>\n+\n+</chapter>\n","prefixes":[]}