]> gcc.gnu.org Git - gcc.git/blobdiff - libstdc++-v3/doc/xml/manual/intro.xml
libstdc++: Disable volatile-qualified std::bind for C++20
[gcc.git] / libstdc++-v3 / doc / xml / manual / intro.xml
index d64d8b24dfcd6ff34262b13e72b14bcc76b677a8..7b8abd98b0dd0c3f10e136bcd5e879c3aa530123 100644 (file)
@@ -1,82 +1,99 @@
 <?xml version='1.0'?>
-<!DOCTYPE part PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" 
- "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" 
-[ ]>
+<!DOCTYPE part [
+  <!ENTITY DR
+"http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html">
+] >
 
-<part id="manual.intro" xreflabel="Introduction">
+<part xmlns="http://docbook.org/ns/docbook" version="5.0" xml:id="manual.intro" xreflabel="Introduction">
 <?dbhtml filename="intro.html"?>
-<partinfo>
-  <keywordset>
-    <keyword>
-      ISO C++
-    </keyword>
-    <keyword>
-      library
-    </keyword>
-  </keywordset>
-</partinfo>
 
-<title>
+<info><title>
   Introduction
   <indexterm><primary>Introduction</primary></indexterm>
 </title>
+  <keywordset>
+    <keyword>ISO C++</keyword>
+    <keyword>library</keyword>
+  </keywordset>
+</info>
+
+
 <!-- Chapter 01 : Status -->
-<chapter id="manual.intro.status" xreflabel="Status">
-  <title>Status</title>
+<chapter xml:id="manual.intro.status" xreflabel="Status"><info><title>Status</title></info>
+  <?dbhtml filename="status.html"?>
+
+
+  <!-- Section 01 : Implementation Status -->
+  <section xml:id="manual.intro.status.iso" xreflabel="Status"><info><title>Implementation Status</title></info>
+
+
+    <!-- Section 01.1 : Status C++ 1998 -->
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="status_cxx1998.xml">
+    </xi:include>
+
+    <!-- Section 01.2 : Status C++ 2011 -->
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="status_cxx2011.xml">
+    </xi:include>
+
+    <!-- Section 01.3 : Status C++ 2014 -->
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="status_cxx2014.xml">
+    </xi:include>
+
+    <!-- Section 01.4 : Status C++ 2017 -->
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="status_cxx2017.xml">
+    </xi:include>
 
+    <!-- Section 01.4 : Status C++ 2020 -->
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="status_cxx2020.xml">
+    </xi:include>
 
-  <sect1 id="manual.intro.status.standard" xreflabel="Implementation Status">
-    <title>Implementation Status</title>
+    <!-- Section 01.5 : Status C++ 2023 -->
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="status_cxx2023.xml">
+    </xi:include>
 
-    <!-- Section 01 : Status C++ 1998 -->
-    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" 
-               parse="xml" href="status_cxx1998.xml">
+    <!-- Section 01.6 : Status C++ TR1 -->
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="status_cxxtr1.xml">
     </xi:include>
 
-    <!-- Section 02 : Status C++ TR1 -->
-    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" 
-               parse="xml" href="status_cxxtr1.xml">
+    <!-- Section 01.7 : Status C++ TR24733 -->
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="status_cxxtr24733.xml">
     </xi:include>
 
-    <!-- Section 03 : Status C++ 200x -->
-    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" 
-               parse="xml" href="status_cxx200x.xml">
-    </xi:include>    
-  </sect1>
+    <!-- Section 01.8 : Status C++ IS 29124 -->
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="status_cxxis29124.xml">
+    </xi:include>
+  </section>
 
   <!-- Section 02 : License -->
-  <sect1 id="manual.intro.status.license" xreflabel="License">
-    <title>License</title>
+  <section xml:id="manual.intro.status.license" xreflabel="License"><info><title>License</title></info>
+    <?dbhtml filename="license.html"?>
+
     <para>
     There are two licenses affecting GNU libstdc++: one for the code,
-    and one for the documentation.  
+    and one for the documentation.
     </para>
 
     <para>
-      There is a license section in the FAQ regarding common <link
-      linkend="faq.license">questions</link>. If you have more
-      questions, ask the FSF or the <ulink
-      url="http://gcc.gnu.org/lists.html">gcc mailing list</ulink>.
+      There is a license section in the FAQ regarding common <link linkend="faq.license">questions</link>. If you have more
+      questions, ask the FSF or the <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/lists.html">gcc mailing list</link>.
     </para>
 
-    <sect2 id="manual.intro.status.license.gpl" xreflabel="License GPL">
-    <title>The Code: GPL</title>
-    
+    <section xml:id="manual.intro.status.license.gpl" xreflabel="License GPL"><info><title>The Code: GPL</title></info>
+
+
     <para>
-      The source code is distributed under the <link
-      linkend="appendix.gpl-3.0">GNU General Public License version 3</link>,
+      The source code is distributed under the <link linkend="appendix.gpl-3.0">GNU General Public License version 3</link>,
       with the addition under section 7 of an exception described in
       the <quote>GCC Runtime Library Exception, version 3.1</quote>
       as follows (or see the file COPYING.RUNTIME):
     </para>
-    
-    <literallayout>
+
+    <literallayout class="normal">
 GCC RUNTIME LIBRARY EXCEPTION
 
 Version 3.1, 31 March 2009
 
-Copyright (C) 2009 <ulink url="http://fsf.org">Free Software Foundation, Inc.</ulink>
+Copyright (C) 2009 <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.fsf.org">Free Software Foundation, Inc.</link>
 
 Everyone is permitted to copy and distribute verbatim copies of this
 license document, but changing it is not allowed.
@@ -145,57 +162,56 @@ The availability of this Exception does not imply any general
 presumption that third-party software is unaffected by the copyleft
 requirements of the license of GCC.
     </literallayout>
-    
+
     <para>
       Hopefully that text is self-explanatory.  If it isn't, you need to speak
       to your lawyer, or the Free Software Foundation.
     </para>
-    </sect2>
+    </section>
+
+    <section xml:id="manual.intro.status.license.fdl" xreflabel="License FDL"><info><title>The Documentation: GPL, FDL</title></info>
+
 
-    <sect2 id="manual.intro.status.license.fdl" xreflabel="License FDL">
-    <title>The Documentation: GPL, FDL</title>
-    
     <para>
       The documentation shipped with the library and made available over
       the web, excluding the pages generated from source comments, are
       copyrighted by the Free Software Foundation, and placed under the
-      <link linkend="appendix.gfdl-1.2"> GNU Free Documentation
-      License version 1.2</link>.  There are no Front-Cover Texts, no
+      <link linkend="appendix.gfdl-1.3"> GNU Free Documentation
+      License version 1.3</link>.  There are no Front-Cover Texts, no
       Back-Cover Texts, and no Invariant Sections.
     </para>
-    
-    <para> 
+
+    <para>
       For documentation generated by doxygen or other automated tools
       via processing source code comments and markup, the original source
       code license applies to the generated files. Thus, the doxygen
       documents are licensed <link linkend="appendix.gpl-3.0">GPL</link>.
     </para>
-    
+
     <para>
       If you plan on making copies of the documentation, please let us know.
       We can probably offer suggestions.
     </para>
-    </sect2>
+    </section>
+
+  </section>
 
-  </sect1>
-  
   <!-- Section 03 : Known Bugs -->
-  <sect1 id="manual.intro.status.bugs" xreflabel="Bugs">
-    <title>Bugs</title>
+  <section xml:id="manual.intro.status.bugs" xreflabel="Bugs"><info><title>Bugs</title></info>
+    <?dbhtml filename="bugs.html"?>
+
+
+    <section xml:id="manual.intro.status.bugs.impl" xreflabel="Bugs impl"><info><title>Implementation Bugs</title></info>
 
-    <sect2 id="manual.intro.status.bugs.impl" xreflabel="Bugs impl">
-      <title>Implementation Bugs</title>
     <para>
       Information on known bugs, details on efforts to fix them, and
-      fixed bugs are all available as part of the GCC bug tracking
-      system, <ulink
-      url="http://gcc.gnu.org/bugzilla">bugzilla</ulink>, with the
-      category set to <literal>libstdc++</literal>.
+      fixed bugs are all available as part of the <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://gcc.gnu.org/bugs/">GCC bug tracking system</link>,
+      under the component <quote>libstdc++</quote>.
     </para>
-    </sect2>
+    </section>
+
+    <section xml:id="manual.intro.status.bugs.iso" xreflabel="Bugs iso"><info><title>Standard Bugs</title></info>
 
-    <sect2 id="manual.intro.status.bugs.iso" xreflabel="Bugs iso">
-      <title>Standard Bugs</title>
       <para>
        Everybody's got issues.  Even the C++ Standard Library.
       </para>
@@ -207,583 +223,1103 @@ requirements of the license of GCC.
       </para>
       <para>
        Here are the issues which have resulted in code changes to the library.
-       The links are to the specific defect reports from a <emphasis>partial
-       copy</emphasis> of the Issues List.  You can read the full version online
-       at the <ulink url="http://www.open-std.org/jtc1/sc22/wg21/">ISO C++
-       Committee homepage</ulink>, linked to on the
-       <ulink url="http://gcc.gnu.org/readings.html">GCC &quot;Readings&quot;
-       page</ulink>.  If
-       you spend a lot of time reading the issues, we recommend downloading
-       the ZIP file and reading them locally.
-      </para>
-      <para>
-       (NB: <emphasis>partial copy</emphasis> means that not all
-       links within the lwg-*.html pages will work.  Specifically,
-       links to defect reports that have not been accorded full DR
-       status will probably break.  Rather than trying to mirror the
-       entire issues list on our overworked web server, we recommend
-       you go to the LWG homepage instead.)
+       The links are to the full version of the Issues List.
+        You can read the full version online
+       at the <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/">ISO C++
+       Committee homepage</link>.
       </para>
       <para>
        If a DR is not listed here, we may simply not have gotten to
-       it yet; feel free to submit a patch.  Search the include/bits
-       and src directories for appearances of
+       it yet; feel free to submit a patch.  Search the
+        <filename class="directory">include</filename> and
+        <filename class="directory">src</filename>
+       directories for appearances of
        <constant>_GLIBCXX_RESOLVE_LIB_DEFECTS</constant> for examples
        of style.  Note that we usually do not make changes to the
-       code until an issue has reached <ulink url="lwg-active.html#DR">DR</ulink> status.
+       code until an issue has reached <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#DR">DR</link> status.
       </para>
 
       <variablelist>
-    <varlistentry><term><ulink url="../ext/lwg-defects.html#5">5</ulink>:
-        <emphasis>string::compare specification questionable</emphasis>
+    <varlistentry xml:id="manual.bugs.dr5"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#5">5</link>:
+       <emphasis>string::compare specification questionable</emphasis>
     </term>
     <listitem><para>This should be two overloaded functions rather than a single function.
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-defects.html#17">17</ulink>:
-        <emphasis>Bad bool parsing</emphasis>
+    <varlistentry xml:id="manual.bugs.dr17"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#17">17</link>:
+       <emphasis>Bad bool parsing</emphasis>
     </term>
     <listitem><para>Apparently extracting Boolean values was messed up...
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-defects.html#19">19</ulink>:
-        <emphasis>&quot;Noconv&quot; definition too vague</emphasis>
+    <varlistentry xml:id="manual.bugs.dr19"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#19">19</link>:
+       <emphasis>"Noconv" definition too vague</emphasis>
     </term>
     <listitem><para>If <code>codecvt::do_in</code> returns <code>noconv</code> there are
-        no changes to the values in <code>[to, to_limit)</code>.
+       no changes to the values in <code>[to, to_limit)</code>.
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-defects.html#22">22</ulink>:
-        <emphasis>Member open vs flags</emphasis>
+    <varlistentry xml:id="manual.bugs.dr22"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#22">22</link>:
+       <emphasis>Member open vs flags</emphasis>
     </term>
     <listitem><para>Re-opening a file stream does <emphasis>not</emphasis> clear the state flags.
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-active.html#23">23</ulink>:
-        <emphasis>Num_get overflow result</emphasis>
+    <varlistentry xml:id="manual.bugs.dr23"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#23">23</link>:
+       <emphasis>Num_get overflow result</emphasis>
     </term>
     <listitem><para>Implement the proposed resolution.
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-defects.html#25">25</ulink>:
-        <emphasis>String operator&lt;&lt; uses width() value wrong</emphasis>
+    <varlistentry xml:id="manual.bugs.dr25"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#25">25</link>:
+       <emphasis>String operator&lt;&lt; uses width() value wrong</emphasis>
     </term>
     <listitem><para>Padding issues.
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-defects.html#48">48</ulink>:
-        <emphasis>Use of non-existent exception constructor</emphasis>
+    <varlistentry xml:id="manual.bugs.dr48"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#48">48</link>:
+       <emphasis>Use of non-existent exception constructor</emphasis>
     </term>
     <listitem><para>An instance of <code>ios_base::failure</code> is constructed instead.
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-defects.html#49">49</ulink>:
-        <emphasis>Underspecification of ios_base::sync_with_stdio</emphasis>
+    <varlistentry xml:id="manual.bugs.dr49"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#49">49</link>:
+       <emphasis>Underspecification of ios_base::sync_with_stdio</emphasis>
     </term>
     <listitem><para>The return type is the <emphasis>previous</emphasis> state of synchronization.
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-defects.html#50">50</ulink>:
-        <emphasis>Copy constructor and assignment operator of ios_base</emphasis>
+    <varlistentry xml:id="manual.bugs.dr50"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#50">50</link>:
+       <emphasis>Copy constructor and assignment operator of ios_base</emphasis>
     </term>
     <listitem><para>These members functions are declared <code>private</code> and are
-        thus inaccessible.  Specifying the correct semantics of
-        &quot;copying stream state&quot; was deemed too complicated.
+       thus inaccessible.  Specifying the correct semantics of
+       "copying stream state" was deemed too complicated.
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-defects.html#60">60</ulink>:
-        <emphasis>What is a formatted input function?</emphasis>
+    <varlistentry xml:id="manual.bugs.dr60"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#60">60</link>:
+       <emphasis>What is a formatted input function?</emphasis>
     </term>
     <listitem><para>This DR made many widespread changes to <code>basic_istream</code>
-        and <code>basic_ostream</code> all of which have been implemented.
+       and <code>basic_ostream</code> all of which have been implemented.
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-defects.html#63">63</ulink>:
-        <emphasis>Exception-handling policy for unformatted output</emphasis>
+    <varlistentry xml:id="manual.bugs.dr63"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#63">63</link>:
+       <emphasis>Exception-handling policy for unformatted output</emphasis>
     </term>
     <listitem><para>Make the policy consistent with that of formatted input, unformatted
-        input, and formatted output.
+       input, and formatted output.
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-defects.html#68">68</ulink>:
-        <emphasis>Extractors for char* should store null at end</emphasis>
+    <varlistentry xml:id="manual.bugs.dr68"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#68">68</link>:
+       <emphasis>Extractors for char* should store null at end</emphasis>
     </term>
     <listitem><para>And they do now.  An editing glitch in the last item in the list of
-        [27.6.1.2.3]/7.
+       [27.6.1.2.3]/7.
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-defects.html#74">74</ulink>:
-        <emphasis>Garbled text for codecvt::do_max_length</emphasis>
+    <varlistentry xml:id="manual.bugs.dr74"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#74">74</link>:
+       <emphasis>Garbled text for codecvt::do_max_length</emphasis>
     </term>
     <listitem><para>The text of the standard was gibberish.  Typos gone rampant.
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-defects.html#75">75</ulink>:
-        <emphasis>Contradiction in codecvt::length's argument types</emphasis>
+    <varlistentry xml:id="manual.bugs.dr75"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#75">75</link>:
+       <emphasis>Contradiction in codecvt::length's argument types</emphasis>
     </term>
     <listitem><para>Change the first parameter to <code>stateT&amp;</code> and implement
-        the new effects paragraph.
+       the new effects paragraph.
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="lwg-defects.html#83">83</ulink>:
-        <emphasis>string::npos vs. string::max_size()</emphasis>
+    <varlistentry xml:id="manual.bugs.dr83"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#83">83</link>:
+       <emphasis>string::npos vs. string::max_size()</emphasis>
     </term>
     <listitem><para>Safety checks on the size of the string should test against
-        <code>max_size()</code> rather than <code>npos</code>.
+       <code>max_size()</code> rather than <code>npos</code>.
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-defects.html#90">90</ulink>:
-        <emphasis>Incorrect description of operator&gt;&gt; for strings</emphasis>
+    <varlistentry xml:id="manual.bugs.dr90"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#90">90</link>:
+       <emphasis>Incorrect description of operator&gt;&gt; for strings</emphasis>
     </term>
     <listitem><para>The effect contain <code>isspace(c,getloc())</code> which must be
-        replaced by <code>isspace(c,is.getloc())</code>.
+       replaced by <code>isspace(c,is.getloc())</code>.
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-defects.html#91">91</ulink>:
-        <emphasis>Description of operator&gt;&gt; and getline() for string&lt;&gt;
+    <varlistentry xml:id="manual.bugs.dr91"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#91">91</link>:
+       <emphasis>Description of operator&gt;&gt; and getline() for string&lt;&gt;
            might cause endless loop</emphasis>
     </term>
     <listitem><para>They behave as a formatted input function and as an unformatted
-        input function, respectively (except that <code>getline</code> is
+       input function, respectively (except that <code>getline</code> is
        not required to set <code>gcount</code>).
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-defects.html#103">103</ulink>:
-        <emphasis>set::iterator is required to be modifiable, but this allows
+    <varlistentry xml:id="manual.bugs.dr103"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#103">103</link>:
+       <emphasis>set::iterator is required to be modifiable, but this allows
            modification of keys.</emphasis>
     </term>
     <listitem><para>For associative containers where the value type is the same as
-        the key type, both <code>iterator</code> and <code>const_iterator
+       the key type, both <code>iterator</code> and <code>const_iterator
        </code> are constant iterators.
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-defects.html#109">109</ulink>:
-        <emphasis>Missing binders for non-const sequence elements</emphasis>
+    <varlistentry xml:id="manual.bugs.dr109"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#109">109</link>:
+       <emphasis>Missing binders for non-const sequence elements</emphasis>
     </term>
     <listitem><para>The <code>binder1st</code> and <code>binder2nd</code> didn't have an
-        <code>operator()</code> taking a non-const parameter.
+       <code>operator()</code> taking a non-const parameter.
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-defects.html#110">110</ulink>:
-        <emphasis>istreambuf_iterator::equal not const</emphasis>
+    <varlistentry xml:id="manual.bugs.dr110"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#110">110</link>:
+       <emphasis>istreambuf_iterator::equal not const</emphasis>
     </term>
     <listitem><para>This was not a const member function.  Note that the DR says to
-        replace the function with a const one; we have instead provided an
-        overloaded version with identical contents.
+       replace the function with a const one; we have instead provided an
+       overloaded version with identical contents.
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-defects.html#117">117</ulink>:
-        <emphasis>basic_ostream uses nonexistent num_put member functions</emphasis>
+    <varlistentry xml:id="manual.bugs.dr117"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#117">117</link>:
+       <emphasis>basic_ostream uses nonexistent num_put member functions</emphasis>
     </term>
     <listitem><para><code>num_put::put()</code> was overloaded on the wrong types.
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-defects.html#118">118</ulink>:
-        <emphasis>basic_istream uses nonexistent num_get member functions</emphasis>
+    <varlistentry xml:id="manual.bugs.dr118"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#118">118</link>:
+       <emphasis>basic_istream uses nonexistent num_get member functions</emphasis>
     </term>
     <listitem><para>Same as 117, but for <code>num_get::get()</code>.
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-defects.html#129">129</ulink>:
-        <emphasis>Need error indication from seekp() and seekg()</emphasis>
+    <varlistentry xml:id="manual.bugs.dr129"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#129">129</link>:
+       <emphasis>Need error indication from seekp() and seekg()</emphasis>
     </term>
     <listitem><para>These functions set <code>failbit</code> on error now.
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-defects.html#136">136</ulink>:
-        <emphasis>seekp, seekg setting wrong streams?</emphasis>
+    <varlistentry xml:id="manual.bugs.dr130"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#130">130</link>:
+       <emphasis>Return type of container::erase(iterator) differs for associative containers</emphasis>
+    </term>
+    <listitem><para>Make member <code>erase</code> return iterator for <code>set</code>, <code>multiset</code>, <code>map</code>, <code>multimap</code>.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr136"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#136">136</link>:
+       <emphasis>seekp, seekg setting wrong streams?</emphasis>
     </term>
     <listitem><para><code>seekp</code> should only set the output stream, and
-        <code>seekg</code> should only set the input stream.
+       <code>seekg</code> should only set the input stream.
     </para></listitem></varlistentry>
 
-<!--<varlistentry><term><ulink url="../ext/lwg-defects.html#159">159</ulink>:
-        <emphasis>Strange use of underflow()</emphasis>
+<!--<varlistentry><term><ulink url="&DR;#159">159</ulink>:
+       <emphasis>Strange use of underflow()</emphasis>
     </term>
     <listitem><para>In fstream.tcc, the basic_filebuf&lt;&gt;::showmanyc() function
-        should probably not be calling <code>underflow()</code>.
+       should probably not be calling <code>underflow()</code>.
     </para></listitem></varlistentry> -->
 
-    <varlistentry><term><ulink url="../ext/lwg-defects.html#167">167</ulink>:
-        <emphasis>Improper use of traits_type::length()</emphasis>
+    <varlistentry xml:id="manual.bugs.dr167"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#167">167</link>:
+       <emphasis>Improper use of traits_type::length()</emphasis>
     </term>
     <listitem><para><code>op&lt;&lt;</code> with a <code>const char*</code> was
-        calculating an incorrect number of characters to write.
+       calculating an incorrect number of characters to write.
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-defects.html#169">169</ulink>:
-        <emphasis>Bad efficiency of overflow() mandated</emphasis>
+    <varlistentry xml:id="manual.bugs.dr169"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#169">169</link>:
+       <emphasis>Bad efficiency of overflow() mandated</emphasis>
     </term>
     <listitem><para>Grow efficiently the internal array object.
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-defects.html#171">171</ulink>:
-        <emphasis>Strange seekpos() semantics due to joint position</emphasis>
+    <varlistentry xml:id="manual.bugs.dr171"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#171">171</link>:
+       <emphasis>Strange seekpos() semantics due to joint position</emphasis>
     </term>
     <listitem><para>Quite complex to summarize...
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-defects.html#181">181</ulink>:
-        <emphasis>make_pair() unintended behavior</emphasis>
+    <varlistentry xml:id="manual.bugs.dr181"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#181">181</link>:
+       <emphasis>make_pair() unintended behavior</emphasis>
     </term>
     <listitem><para>This function used to take its arguments as reference-to-const, now
-        it copies them (pass by value).
+       it copies them (pass by value).
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-defects.html#195">195</ulink>:
-        <emphasis>Should basic_istream::sentry's constructor ever set eofbit?</emphasis>
+    <varlistentry xml:id="manual.bugs.dr195"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#195">195</link>:
+       <emphasis>Should basic_istream::sentry's constructor ever set eofbit?</emphasis>
     </term>
     <listitem><para>Yes, it can, specifically if EOF is reached while skipping whitespace.
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-defects.html#211">211</ulink>:
-        <emphasis>operator&gt;&gt;(istream&amp;, string&amp;) doesn't set failbit</emphasis>
+    <varlistentry xml:id="manual.bugs.dr206"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#206">206</link>:
+       <emphasis><code>operator new(size_t, nothrow)</code> may become
+          unlinked to ordinary <code>operator new</code> if ordinary
+          version replaced
+        </emphasis>
+    </term>
+    <listitem><para>The <code>nothrow</code> forms of new and delete were
+      changed to call the throwing forms, handling any exception by
+      catching it and returning a null pointer.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr211"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#211">211</link>:
+       <emphasis>operator&gt;&gt;(istream&amp;, string&amp;) doesn't set failbit</emphasis>
     </term>
     <listitem><para>If nothing is extracted into the string, <code>op&gt;&gt;</code> now
-        sets <code>failbit</code> (which can cause an exception, etc., etc.).
+       sets <code>failbit</code> (which can cause an exception, etc., etc.).
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-defects.html#214">214</ulink>:
-        <emphasis>set::find() missing const overload</emphasis>
+    <varlistentry xml:id="manual.bugs.dr214"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#214">214</link>:
+       <emphasis>set::find() missing const overload</emphasis>
     </term>
     <listitem><para>Both <code>set</code> and <code>multiset</code> were missing
-        overloaded find, lower_bound, upper_bound, and equal_range functions
-        for const instances.
+       overloaded find, lower_bound, upper_bound, and equal_range functions
+       for const instances.
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-defects.html#231">231</ulink>:
-        <emphasis>Precision in iostream?</emphasis>
+    <varlistentry xml:id="manual.bugs.dr231"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#231">231</link>:
+       <emphasis>Precision in iostream?</emphasis>
     </term>
     <listitem><para>For conversion from a floating-point type, <code>str.precision()</code>
-        is specified in the conversion specification.
+       is specified in the conversion specification.
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-active.html#233">233</ulink>:
-        <emphasis>Insertion hints in associative containers</emphasis>
+    <varlistentry xml:id="manual.bugs.dr233"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#233">233</link>:
+       <emphasis>Insertion hints in associative containers</emphasis>
     </term>
     <listitem><para>Implement N1780, first check before then check after, insert as close
-        to hint as possible.
+       to hint as possible.
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-defects.html#235">235</ulink>:
-        <emphasis>No specification of default ctor for reverse_iterator</emphasis>
+    <varlistentry xml:id="manual.bugs.dr235"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#235">235</link>:
+       <emphasis>No specification of default ctor for reverse_iterator</emphasis>
     </term>
     <listitem><para>The declaration of <code>reverse_iterator</code> lists a default constructor.
-        However, no specification is given what this constructor should do.
+       However, no specification is given what this constructor should do.
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-defects.html#241">241</ulink>:
-        <emphasis>Does unique_copy() require CopyConstructible and Assignable?</emphasis>
+    <varlistentry xml:id="manual.bugs.dr241"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#241">241</link>:
+       <emphasis>Does unique_copy() require CopyConstructible and Assignable?</emphasis>
     </term>
     <listitem><para>Add a helper for forward_iterator/output_iterator, fix the existing
-        one for input_iterator/output_iterator to not rely on Assignability.
+       one for input_iterator/output_iterator to not rely on Assignability.
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-defects.html#243">243</ulink>:
-        <emphasis>get and getline when sentry reports failure</emphasis>
+    <varlistentry xml:id="manual.bugs.dr243"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#243">243</link>:
+       <emphasis>get and getline when sentry reports failure</emphasis>
     </term>
     <listitem><para>Store a null character only if the character array has a non-zero size.
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-defects.html#251">251</ulink>:
-        <emphasis>basic_stringbuf missing allocator_type</emphasis>
+    <varlistentry xml:id="manual.bugs.dr251"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#251">251</link>:
+       <emphasis>basic_stringbuf missing allocator_type</emphasis>
     </term>
     <listitem><para>This nested typedef was originally not specified.
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-defects.html#253">253</ulink>:
-        <emphasis>valarray helper functions are almost entirely useless</emphasis>
+    <varlistentry xml:id="manual.bugs.dr253"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#253">253</link>:
+       <emphasis>valarray helper functions are almost entirely useless</emphasis>
     </term>
     <listitem><para>Make the copy constructor and copy-assignment operator declarations
-        public in gslice_array, indirect_array, mask_array, slice_array; provide
+       public in gslice_array, indirect_array, mask_array, slice_array; provide
        definitions.
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-defects.html#265">265</ulink>:
-        <emphasis>std::pair::pair() effects overly restrictive</emphasis>
+    <varlistentry xml:id="manual.bugs.dr265"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#265">265</link>:
+       <emphasis>std::pair::pair() effects overly restrictive</emphasis>
     </term>
     <listitem><para>The default ctor would build its members from copies of temporaries;
-        now it simply uses their respective default ctors.
+       now it simply uses their respective default ctors.
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-defects.html#266">266</ulink>:
-        <emphasis>bad_exception::~bad_exception() missing Effects clause</emphasis>
+    <varlistentry xml:id="manual.bugs.dr266"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#266">266</link>:
+       <emphasis>bad_exception::~bad_exception() missing Effects clause</emphasis>
     </term>
     <listitem><para>The <code>bad_</code>* classes no longer have destructors (they
-        are trivial), since no description of them was ever given.
+       are trivial), since no description of them was ever given.
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-defects.html#271">271</ulink>:
-        <emphasis>basic_iostream missing typedefs</emphasis>
+    <varlistentry xml:id="manual.bugs.dr271"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#271">271</link>:
+       <emphasis>basic_iostream missing typedefs</emphasis>
     </term>
     <listitem><para>The typedefs it inherits from its base classes can't be used, since
-        (for example) <code>basic_iostream&lt;T&gt;::traits_type</code> is ambiguous.
+       (for example) <code>basic_iostream&lt;T&gt;::traits_type</code> is ambiguous.
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-defects.html#275">275</ulink>:
-        <emphasis>Wrong type in num_get::get() overloads</emphasis>
+    <varlistentry xml:id="manual.bugs.dr275"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#275">275</link>:
+       <emphasis>Wrong type in num_get::get() overloads</emphasis>
     </term>
     <listitem><para>Similar to 118.
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-defects.html#280">280</ulink>:
-        <emphasis>Comparison of reverse_iterator to const reverse_iterator</emphasis>
+    <varlistentry xml:id="manual.bugs.dr280"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#280">280</link>:
+       <emphasis>Comparison of reverse_iterator to const reverse_iterator</emphasis>
     </term>
     <listitem><para>Add global functions with two template parameters.
-        (NB: not added for now a templated assignment operator) 
+       (NB: not added for now a templated assignment operator)
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-defects.html#292">292</ulink>:
-        <emphasis>Effects of a.copyfmt (a)</emphasis>
+    <varlistentry xml:id="manual.bugs.dr292"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#292">292</link>:
+       <emphasis>Effects of a.copyfmt (a)</emphasis>
     </term>
     <listitem><para>If <code>(this == &amp;rhs)</code> do nothing.
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-defects.html#300">300</ulink>:
-        <emphasis>List::merge() specification incomplete</emphasis>
+    <varlistentry xml:id="manual.bugs.dr300"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#300">300</link>:
+       <emphasis>List::merge() specification incomplete</emphasis>
     </term>
     <listitem><para>If <code>(this == &amp;x)</code> do nothing.
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-defects.html#303">303</ulink>:
-        <emphasis>Bitset input operator underspecified</emphasis>
+    <varlistentry xml:id="manual.bugs.dr303"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#303">303</link>:
+       <emphasis>Bitset input operator underspecified</emphasis>
     </term>
-    <listitem><para>Basically, compare the input character to 
-                    <code>is.widen(0)</code> and <code>is.widen(1)</code>.
+    <listitem><para>Basically, compare the input character to
+                   <code>is.widen(0)</code> and <code>is.widen(1)</code>.
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-defects.html#305">305</ulink>:
-        <emphasis>Default behavior of codecvt&lt;wchar_t, char, 
-                  mbstate_t&gt;::length()</emphasis>
+    <varlistentry xml:id="manual.bugs.dr305"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#305">305</link>:
+       <emphasis>Default behavior of codecvt&lt;wchar_t, char,
+                 mbstate_t&gt;::length()</emphasis>
     </term>
-    <listitem><para>Do not specify what <code>codecvt&lt;wchar_t, char, 
-                    mbstate_t&gt;::do_length</code> must return.
+    <listitem><para>Do not specify what <code>codecvt&lt;wchar_t, char,
+                   mbstate_t&gt;::do_length</code> must return.
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-defects.html#328">328</ulink>:
-        <emphasis>Bad sprintf format modifier in 
-                  money_put&lt;&gt;::do_put()</emphasis>
+    <varlistentry xml:id="manual.bugs.dr328"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#328">328</link>:
+       <emphasis>Bad sprintf format modifier in
+                 money_put&lt;&gt;::do_put()</emphasis>
     </term>
-    <listitem><para>Change the format string to &quot;%.0Lf&quot;.
+    <listitem><para>Change the format string to "%.0Lf".
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-defects.html#365">365</ulink>:
-        <emphasis>Lack of const-qualification in clause 27</emphasis>
+    <varlistentry xml:id="manual.bugs.dr365"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#365">365</link>:
+       <emphasis>Lack of const-qualification in clause 27</emphasis>
     </term>
     <listitem><para>Add const overloads of <code>is_open</code>.
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-active.html#387">387</ulink>:
-        <emphasis>std::complex over-encapsulated</emphasis>
+    <varlistentry xml:id="manual.bugs.dr387"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#387">387</link>:
+       <emphasis>std::complex over-encapsulated</emphasis>
     </term>
     <listitem><para>Add the <code>real(T)</code> and <code>imag(T)</code>
-                    members;  in C++0x mode, also adjust the existing 
-                    <code>real()</code> and <code>imag()</code> members and 
-                    free functions.
+                   members;  in C++11 mode, also adjust the existing
+                   <code>real()</code> and <code>imag()</code> members and
+                   free functions.
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-defects.html#389">389</ulink>:
-        <emphasis>Const overload of valarray::operator[] returns 
-                  by value</emphasis>
+    <varlistentry xml:id="manual.bugs.dr389"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#389">389</link>:
+       <emphasis>Const overload of valarray::operator[] returns
+                 by value</emphasis>
     </term>
     <listitem><para>Change it to return a <code>const T&amp;</code>.
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-active.html#396">396</ulink>:
-        <emphasis>what are characters zero and one</emphasis>
+    <varlistentry xml:id="manual.bugs.dr396"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#396">396</link>:
+       <emphasis>what are characters zero and one</emphasis>
     </term>
     <listitem><para>Implement the proposed resolution.
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-defects.html#402">402</ulink>:
-        <emphasis>Wrong new expression in [some_]allocator::construct</emphasis>
+    <varlistentry xml:id="manual.bugs.dr402"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#402">402</link>:
+       <emphasis>Wrong new expression in [some_]allocator::construct</emphasis>
     </term>
-    <listitem><para>Replace &quot;new&quot; with &quot;::new&quot;.
+    <listitem><para>Replace "new" with "::new".
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-defects.html#409">409</ulink>:
-        <emphasis>Closing an fstream should clear the error state</emphasis>
+    <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-closed.html#408">408</link>:
+       <emphasis>
+       Is vector&lt;reverse_iterator&lt;char*&gt; &gt; forbidden?
+       </emphasis>
+    </term>
+    <listitem><para>Tweak the debug-mode checks in _Safe_iterator.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr409"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#409">409</link>:
+       <emphasis>Closing an fstream should clear the error state</emphasis>
     </term>
     <listitem><para>Have <code>open</code> clear the error flags.
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-active.html#431">431</ulink>:
-        <emphasis>Swapping containers with unequal allocators</emphasis>
+    <varlistentry xml:id="manual.bugs.dr415"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#415">415</link>:
+       <emphasis>Behavior of std::ws</emphasis>
+    </term>
+    <listitem><para>Change it to be an unformatted input function
+      (i.e. construct a sentry and catch exceptions).
+    </para></listitem></varlistentry>
+
+    <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-closed.html#431">431</link>:
+       <emphasis>Swapping containers with unequal allocators</emphasis>
     </term>
     <listitem><para>Implement Option 3, as per N1599.
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-defects.html#432">432</ulink>:
-        <emphasis>stringbuf::overflow() makes only one write position
+    <varlistentry xml:id="manual.bugs.dr432"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#432">432</link>:
+       <emphasis>stringbuf::overflow() makes only one write position
            available</emphasis>
     </term>
     <listitem><para>Implement the resolution, beyond DR 169.
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-defects.html#434">434</ulink>:
-        <emphasis>bitset::to_string() hard to use</emphasis>
+    <varlistentry xml:id="manual.bugs.dr434"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#434">434</link>:
+       <emphasis>bitset::to_string() hard to use</emphasis>
     </term>
     <listitem><para>Add three overloads, taking fewer template arguments.
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-defects.html#438">438</ulink>:
-        <emphasis>Ambiguity in the "do the right thing" clause</emphasis>
+    <varlistentry xml:id="manual.bugs.dr438"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#438">438</link>:
+       <emphasis>Ambiguity in the "do the right thing" clause</emphasis>
     </term>
     <listitem><para>Implement the resolution, basically cast less.
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-defects.html#453">453</ulink>:
-        <emphasis>basic_stringbuf::seekoff need not always fail for an empty stream</emphasis>
+    <varlistentry xml:id="manual.bugs.dr445"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#445">445</link>:
+       <emphasis>iterator_traits::reference unspecified for some iterator categories</emphasis>
+    </term>
+    <listitem><para>Change <code>istreambuf_iterator::reference</code> in C++11 mode.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr453"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#453">453</link>:
+       <emphasis>basic_stringbuf::seekoff need not always fail for an empty stream</emphasis>
     </term>
     <listitem><para>Don't fail if the next pointer is null and newoff is zero.
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-defects.html#455">455</ulink>:
-        <emphasis>cerr::tie() and wcerr::tie() are overspecified</emphasis>
+    <varlistentry xml:id="manual.bugs.dr455"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#455">455</link>:
+       <emphasis>cerr::tie() and wcerr::tie() are overspecified</emphasis>
     </term>
     <listitem><para>Initialize cerr tied to cout and wcerr tied to wcout.
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-defects.html#464">464</ulink>:
-        <emphasis>Suggestion for new member functions in standard containers</emphasis>
+    <varlistentry xml:id="manual.bugs.dr464"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#464">464</link>:
+       <emphasis>Suggestion for new member functions in standard containers</emphasis>
     </term>
     <listitem><para>Add <code>data()</code> to <code>std::vector</code> and
-        <code>at(const key_type&amp;)</code> to <code>std::map</code>.
+       <code>at(const key_type&amp;)</code> to <code>std::map</code>.
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-defects.html#508">508</ulink>:
-        <emphasis>Bad parameters for ranlux64_base_01</emphasis>
+    <varlistentry xml:id="manual.bugs.dr467"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#467">467</link>:
+       <emphasis>char_traits::lt(), compare(), and memcmp()</emphasis>
+    </term>
+    <listitem><para>Change <code>lt</code>.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr508"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#508">508</link>:
+       <emphasis>Bad parameters for ranlux64_base_01</emphasis>
     </term>
     <listitem><para>Fix the parameters.
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-closed.html#512">512</ulink>:
-        <emphasis>Seeding subtract_with_carry_01 from a single unsigned long</emphasis>
+    <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-closed.html#512">512</link>:
+       <emphasis>Seeding subtract_with_carry_01 from a single unsigned long</emphasis>
     </term>
     <listitem><para>Construct a <code>linear_congruential</code> engine and seed with it.
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-closed.html#526">526</ulink>:
-        <emphasis>Is it undefined if a function in the standard changes in
+    <varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-closed.html#526">526</link>:
+       <emphasis>Is it undefined if a function in the standard changes in
            parameters?</emphasis>
     </term>
     <listitem><para>Use &amp;value.
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-defects.html#538">538</ulink>:
-        <emphasis>241 again: Does unique_copy() require CopyConstructible
+    <varlistentry xml:id="manual.bugs.dr538"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#538">538</link>:
+       <emphasis>241 again: Does unique_copy() require CopyConstructible
            and Assignable?</emphasis>
     </term>
     <listitem><para>In case of input_iterator/output_iterator rely on Assignability of
-        input_iterator' value_type.
+       input_iterator' value_type.
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-defects.html#541">541</ulink>:
-        <emphasis>shared_ptr template assignment and void</emphasis>
+    <varlistentry xml:id="manual.bugs.dr539"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#539">539</link>:
+       <emphasis>partial_sum and adjacent_difference should mention
+           requirements</emphasis>
+    </term>
+    <listitem><para>We were almost doing the right thing, just use std::move
+       in adjacent_difference.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr541"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#541">541</link>:
+       <emphasis>shared_ptr template assignment and void</emphasis>
     </term>
     <listitem><para>Add an auto_ptr&lt;void&gt; specialization.
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-defects.html#543">543</ulink>:
-        <emphasis>valarray slice default constructor</emphasis>
+    <varlistentry xml:id="manual.bugs.dr543"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#543">543</link>:
+       <emphasis>valarray slice default constructor</emphasis>
     </term>
     <listitem><para>Follow the straightforward proposed resolution.
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-defects.html#550">550</ulink>:
-        <emphasis>What should the return type of pow(float,int) be?</emphasis>
+    <varlistentry xml:id="manual.bugs.dr550"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#550">550</link>:
+       <emphasis>What should the return type of pow(float,int) be?</emphasis>
+    </term>
+    <listitem><para>In C++11 mode, remove the pow(float,int), etc., signatures.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr581"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#581">581</link>:
+       <emphasis><code>flush()</code> not unformatted function</emphasis>
     </term>
-    <listitem><para>In C++0x mode, remove the pow(float,int), etc., signatures.
+    <listitem><para>Change it to be a unformatted output function (i.e. construct a sentry and catch exceptions).
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-defects.html#586">586</ulink>:
-        <emphasis>string inserter not a formatted function</emphasis>
+    <varlistentry xml:id="manual.bugs.dr586"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#586">586</link>:
+       <emphasis>string inserter not a formatted function</emphasis>
     </term>
     <listitem><para>Change it to be a formatted output function (i.e. catch exceptions).
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-defects.html#596">596</ulink>:
-        <emphasis>27.8.1.3 Table 112 omits "a+" and "a+b" modes</emphasis>
+    <varlistentry xml:id="manual.bugs.dr596"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#596">596</link>:
+       <emphasis>27.8.1.3 Table 112 omits "a+" and "a+b" modes</emphasis>
     </term>
     <listitem><para>Add the missing modes to fopen_mode.
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-defects.html#660">660</ulink>:
-        <emphasis>Missing bitwise operations</emphasis>
+    <varlistentry xml:id="manual.bugs.dr630"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#630">630</link>:
+       <emphasis>arrays of valarray</emphasis>
+    </term>
+    <listitem><para>Implement the simple resolution.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr660"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#660">660</link>:
+       <emphasis>Missing bitwise operations</emphasis>
     </term>
     <listitem><para>Add the missing operations.
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-active.html#691">691</ulink>:
-        <emphasis>const_local_iterator cbegin, cend missing from TR1</emphasis>
+    <varlistentry xml:id="manual.bugs.dr691"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#691">691</link>:
+       <emphasis>const_local_iterator cbegin, cend missing from TR1</emphasis>
     </term>
-    <listitem><para>In C++0x mode add cbegin(size_type) and cend(size_type)
-                   to the unordered containers.
+    <listitem><para>In C++11 mode add cbegin(size_type) and cend(size_type)
+                   to the unordered containers.
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-defects.html#693">693</ulink>:
-        <emphasis>std::bitset::all() missing</emphasis>
+    <varlistentry xml:id="manual.bugs.dr693"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#693">693</link>:
+       <emphasis>std::bitset::all() missing</emphasis>
     </term>
     <listitem><para>Add it, consistently with the discussion.
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-defects.html#695">695</ulink>:
-        <emphasis>ctype&lt;char&gt;::classic_table() not accessible</emphasis>
+    <varlistentry xml:id="manual.bugs.dr695"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#695">695</link>:
+       <emphasis>ctype&lt;char&gt;::classic_table() not accessible</emphasis>
     </term>
     <listitem><para>Make the member functions table and classic_table public.
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-defects.html#761">761</ulink>:
-        <emphasis>unordered_map needs an at() member function</emphasis>
+    <varlistentry xml:id="manual.bugs.dr696"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#696">696</link>:
+       <emphasis>istream::operator&gt;&gt;(int&amp;) broken</emphasis>
     </term>
-    <listitem><para>In C++0x mode, add at() and at() const.
+    <listitem><para>Implement the straightforward resolution.
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-defects.html#775">775</ulink>:
-        <emphasis>Tuple indexing should be unsigned?</emphasis>
+    <varlistentry xml:id="manual.bugs.dr761"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#761">761</link>:
+       <emphasis>unordered_map needs an at() member function</emphasis>
     </term>
-    <listitem><para>Implement the int -> size_t replacements.
+    <listitem><para>In C++11 mode, add at() and at() const.
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-active.html#776">776</ulink>:
-        <emphasis>Undescribed assign function of std::array</emphasis>
+    <varlistentry xml:id="manual.bugs.dr775"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#775">775</link>:
+       <emphasis>Tuple indexing should be unsigned?</emphasis>
     </term>
-    <listitem><para>In C++0x mode, remove assign, add fill.
+    <listitem><para>Implement the int -&gt; size_t replacements.
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-defects.html#781">781</ulink>:
-        <emphasis>std::complex should add missing C99 functions</emphasis>
+    <varlistentry xml:id="manual.bugs.dr776"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#776">776</link>:
+       <emphasis>Undescribed assign function of std::array</emphasis>
     </term>
-    <listitem><para>In C++0x mode, add std::proj.
+    <listitem><para>In C++11 mode, remove assign, add fill.
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-active.html#809">809</ulink>:
-        <emphasis>std::swap should be overloaded for array types</emphasis>
+    <varlistentry xml:id="manual.bugs.dr781"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#781">781</link>:
+       <emphasis>std::complex should add missing C99 functions</emphasis>
     </term>
-    <listitem><para>Add the overload.
+    <listitem><para>In C++11 mode, add std::proj.
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-active.html#844">844</ulink>:
-        <emphasis>complex pow return type is ambiguous</emphasis>
+    <varlistentry xml:id="manual.bugs.dr809"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#809">809</link>:
+       <emphasis>std::swap should be overloaded for array types</emphasis>
     </term>
-    <listitem><para>In C++0x mode, remove the pow(complex&lt;T&gt;, int) signature.
+    <listitem><para>Add the overload.
     </para></listitem></varlistentry>
 
-    <varlistentry><term><ulink url="../ext/lwg-active.html#853">853</ulink>:
-        <emphasis>to_string needs updating with zero and one</emphasis>
+    <varlistentry xml:id="manual.bugs.dr853"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#853">853</link>:
+       <emphasis>to_string needs updating with zero and one</emphasis>
     </term>
     <listitem><para>Update / add the signatures.
     </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr865"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#865">865</link>:
+       <emphasis>More algorithms that throw away information</emphasis>
+    </term>
+    <listitem><para>The traditional HP / SGI return type and value is blessed
+                   by the resolution of the DR.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr1339"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#1339">1339</link>:
+       <emphasis>uninitialized_fill_n should return the end of its range</emphasis>
+    </term>
+    <listitem><para>Return the end of the filled range.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr2021"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#2021">2021</link>:
+       <emphasis>Further incorrect uses of <code>result_of</code></emphasis>
+    </term>
+    <listitem><para>Correctly decay types in signature of <code>std::async</code>.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr2049"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#2049">2049</link>:
+       <emphasis><code>is_destructible</code> underspecified</emphasis>
+    </term>
+    <listitem><para>Handle non-object types.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr2056"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#2056">2056</link>:
+       <emphasis>future_errc enums start with value 0 (invalid value for broken_promise)</emphasis>
+    </term>
+    <listitem><para>Reorder enumerators.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr2059"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#2059">2059</link>:
+       <emphasis>C++0x ambiguity problem with map::erase</emphasis>
+    </term>
+    <listitem><para>Add additional overloads.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr2062"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#2062">2062</link>:
+       <emphasis>2062. Effect contradictions w/o no-throw guarantee of <code>std::function</code> swaps</emphasis>
+    </term>
+    <listitem><para>Add <code>noexcept</code> to swap functions.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr2063"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#2063">2063</link>:
+       <emphasis>Contradictory requirements for string move assignment</emphasis>
+    </term>
+    <listitem><para>Respect propagation trait for move assignment.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr2064"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#2064">2064</link>:
+       <emphasis>More noexcept issues in basic_string</emphasis>
+    </term>
+    <listitem><para>Add noexcept to the comparison operators.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr2067"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#2067">2067</link>:
+       <emphasis>packaged_task should have deleted copy c'tor with const parameter</emphasis>
+    </term>
+    <listitem><para>Fix signatures.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr2101"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#2101">2101</link>:
+       <emphasis>Some transformation types can produce impossible types</emphasis>
+    </term>
+    <listitem><para>Use the referenceable type concept.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr2106"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#2106">2106</link>:
+       <emphasis>move_iterator wrapping iterators returning prvalues</emphasis>
+    </term>
+    <listitem><para>Change the <code>reference</code> type.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr2108"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#2108">2108</link>:
+       <emphasis>No way to identify allocator types that always compare equal</emphasis>
+    </term>
+    <listitem><para>Define and use <code>is_always_equal</code> even for C++11.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr2118"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#2118">2118</link>:
+       <emphasis><code>unique_ptr</code> for array does not support cv qualification conversion of actual argument</emphasis>
+    </term>
+    <listitem><para>Adjust constraints to allow safe conversions.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr2127"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#2127">2127</link>:
+       <emphasis>Move-construction with <code>raw_storage_iterator</code></emphasis>
+    </term>
+    <listitem><para>Add assignment operator taking an rvalue.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr2132"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#2132">2132</link>:
+       <emphasis><code>std::function</code> ambiguity</emphasis>
+    </term>
+    <listitem><para>Constrain the constructor to only accept callable types.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr2141"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#2141">2141</link>:
+       <emphasis><code>common_type</code> trait produces reference types</emphasis>
+    </term>
+    <listitem><para>Use <code>decay</code> for the result type.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr2144"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#2144">2144</link>:
+       <emphasis>Missing <code>noexcept</code> specification in <code>type_index</code></emphasis>
+    </term>
+    <listitem><para>Add <code>noexcept</code>
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr2145"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#2145">2145</link>:
+       <emphasis><code>error_category</code> default constructor</emphasis>
+    </term>
+    <listitem><para>Declare a public constexpr constructor.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr2162"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#2162">2162</link>:
+       <emphasis><code>allocator_traits::max_size</code> missing <code>noexcept</code></emphasis>
+    </term>
+    <listitem><para>Add <code>noexcept</code>.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr2187"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#2187">2187</link>:
+       <emphasis><code>vector&lt;bool&gt;</code> is missing <code>emplace</code> and <code>emplace_back</code> member functions</emphasis>
+    </term>
+    <listitem><para>Add <code>emplace</code> and <code>emplace_back</code> member functions.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr2192"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#2192">2192</link>:
+       <emphasis>Validity and return type of <code>std::abs(0u)</code> is unclear</emphasis>
+    </term>
+    <listitem><para>Move all declarations to a common header and remove the
+    generic <code>abs</code> which accepted unsigned arguments.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr2196"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#2196">2196</link>:
+       <emphasis>Specification of <code>is_*[copy/move]_[constructible/assignable]</code> unclear for non-referencable types</emphasis>
+    </term>
+    <listitem><para>Use the referenceable type concept.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr2212"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#2212">2212</link>:
+       <emphasis><code>tuple_size</code> for <code>const pair</code> request <code>&lt;tuple&gt;</code> header</emphasis>
+    </term>
+    <listitem><para>The <code>tuple_size</code> and <code>tuple_element</code>
+    partial specializations are defined in <code>&lt;utility&gt;</code> which
+    is included by <code>&lt;array&gt;</code>.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr2296"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#2296">2296</link>:
+       <emphasis><code>std::addressof</code> should be constexpr</emphasis>
+    </term>
+    <listitem><para>Use <code>__builtin_addressof</code> and add
+    <code>constexpr</code> to <code>addressof</code> for C++17 and later.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr2306"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#2306">2306</link>:
+       <emphasis><code>match_results::reference</code> should be <code>value_type&amp;</code>, not <code>const value_type&amp;</code></emphasis>
+    </term>
+    <listitem><para>Change typedef.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr2313"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#2313">2313</link>:
+       <emphasis><code>tuple_size</code> should always derive from <code>integral_constant&lt;size_t, N&gt;</code></emphasis>
+    </term>
+    <listitem><para>Update definitions of the partial specializations for const and volatile types.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr2328"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#2328">2328</link>:
+       <emphasis>Rvalue stream extraction should use perfect forwarding</emphasis>
+    </term>
+    <listitem><para>Use perfect forwarding for right operand.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr2329"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#2329">2329</link>:
+       <emphasis><code>regex_match()/regex_search()</code> with <code>match_results</code> should forbid temporary strings</emphasis>
+    </term>
+    <listitem><para>Add deleted overloads for rvalue strings.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr2332"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#2332">2332</link>:
+       <emphasis><code>regex_iterator/regex_token_iterator</code> should forbid temporary regexes</emphasis>
+    </term>
+    <listitem><para>Add deleted constructors.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr2354"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#2354">2332</link>:
+       <emphasis>Unnecessary copying when inserting into maps with braced-init syntax</emphasis>
+    </term>
+    <listitem><para>Add overloads of <code>insert</code> taking <code>value_type&amp;&amp;</code> rvalues.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr2399"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#2399">2399</link>:
+       <emphasis><code>shared_ptr</code>'s constructor from <code>unique_ptr</code> should be constrained</emphasis>
+    </term>
+    <listitem><para>Constrain the constructor to require convertibility.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr2400"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#2400">2400</link>:
+       <emphasis><code>shared_ptr</code>'s <code>get_deleter()</code> should use <code>addressof()</code></emphasis>
+    </term>
+    <listitem><para>Use <code>addressof</code>.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr2401"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#2401">2401</link>:
+       <emphasis><code>std::function</code> needs more <code>noexcept</code></emphasis>
+    </term>
+    <listitem><para>Add <code>noexcept</code> to the assignment and comparisons.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr2407"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#2407">2407</link>:
+       <emphasis><code>packaged_task(allocator_arg_t, const Allocator&amp;, F&amp;&amp;)</code>
+                 should neither be constrained nor <code>explicit</code>
+       </emphasis>
+    </term>
+    <listitem><para>Remove <code>explicit</code> from the constructor.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr2408"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#2408">2408</link>:
+       <emphasis>SFINAE-friendly
+         <code>common_type</code>/<code>iterator_traits</code>
+         is missing in C++14
+       </emphasis>
+    </term>
+    <listitem><para>Make <code>iterator_traits</code> empty if any of the
+      types is not present in the iterator.
+      Make <code>common_type&lt;&gt;</code> empty.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr2415"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#2415">2415</link>:
+       <emphasis>Inconsistency between <code>unique_ptr</code> and <code>shared_ptr</code></emphasis>
+    </term>
+    <listitem><para>Create empty an <code>shared_ptr</code> from an empty
+                    <code>unique_ptr</code>.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr2418"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#2418">2418</link>:
+       <emphasis><code>apply</code> does not work with member pointers</emphasis>
+    </term>
+    <listitem><para>Use <code>mem_fn</code> for member pointers.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr2440"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#2440">2440</link>:
+       <emphasis><code>seed_seq::size()</code> should be <code>noexcept</code></emphasis>
+    </term>
+    <listitem><para>Add <code>noexcept</code>.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr2441"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#2441">2441</link>:
+       <emphasis>Exact-width atomic typedefs should be provided</emphasis>
+    </term>
+    <listitem><para>Define the typedefs.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr2442"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#2442">2442</link>:
+       <emphasis><code>call_once()</code> shouldn't <code>DECAY_COPY()</code></emphasis>
+    </term>
+    <listitem><para>Remove indirection through call wrapper that made copies
+    of arguments and forward arguments straight to <code>std::invoke</code>.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr2454"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#2454">2454</link>:
+       <emphasis>Add <code>raw_storage_iterator::base()</code> member
+       </emphasis>
+    </term>
+    <listitem><para>Add the <code>base()</code> member function.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr2455"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#2455">2455</link>:
+       <emphasis>Allocator default construction should be allowed to throw
+       </emphasis>
+    </term>
+    <listitem><para>Make <code>noexcept</code> specifications conditional.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr2458"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#2458">2458</link>:
+       <emphasis>N3778 and new library deallocation signatures
+       </emphasis>
+    </term>
+    <listitem><para>Remove unused overloads.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr2459"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#2459">2459</link>:
+       <emphasis><code>std::polar</code> should require a non-negative rho
+       </emphasis>
+    </term>
+    <listitem><para>Add debug mode assertion.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr2465"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#2465">2465</link>:
+       <emphasis>SFINAE-friendly <code>common_type</code> is nearly impossible
+       to specialize correctly and regresses key functionality
+       </emphasis>
+    </term>
+    <listitem><para>Detect whether <code>decay_t</code> changes either type
+      and use the decayed types if so.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr2466"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#2466">2466</link>:
+       <emphasis><code>allocator_traits::max_size()</code> default behavior is incorrect
+       </emphasis>
+    </term>
+    <listitem><para>Divide by the object type.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr2484"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#2484">2484</link>:
+       <emphasis><code>rethrow_if_nested()</code>  is doubly unimplementable
+       </emphasis>
+    </term>
+    <listitem><para>Avoid using <code>dynamic_cast</code> when it would be
+    ill-formed.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr2487"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#2487">2487</link>:
+       <emphasis><code>bind()</code> should be <code>const</code>-overloaded
+      not cv-overloaded
+       </emphasis>
+    </term>
+    <listitem><para>Deprecate volatile-qualified <code>operator()</code>
+    for C++17, make it ill-formed for C++20.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr2499"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#2499">2499</link>:
+       <emphasis><code>operator>>(basic_istream&amp;, CharT*)</code> makes it hard to avoid buffer overflows
+       </emphasis>
+    </term>
+    <listitem><para>Replace <code>operator>>(basic_istream&amp;, CharT*)</code>
+     and other overloads writing through pointers.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr2537"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#2537">2537</link>:
+       <emphasis>Constructors for <code>priority_queue</code> taking allocators
+        should call <code>make_heap</code>
+       </emphasis>
+    </term>
+    <listitem><para>Call <code>make_heap</code>.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr2566"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#2566">2566</link>:
+       <emphasis>Requirements on the first template parameter of container adaptors
+       </emphasis>
+    </term>
+    <listitem><para>Add static assertions to enforce the requirement.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr2583"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#2583">2583</link>:
+       <emphasis>There is no way to supply an allocator for <code>basic_string(str, pos)</code>
+       </emphasis>
+    </term>
+    <listitem><para>Add new constructor.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr2586"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#2586">2586</link>:
+       <emphasis>Wrong value category used in <code>scoped_allocator_adaptor::construct()</code>
+       </emphasis>
+    </term>
+    <listitem><para>Change internal helper for uses-allocator construction
+      to always check using const lvalue allocators.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr2684"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#2684">2684</link>:
+       <emphasis><code>priority_queue</code> lacking comparator typedef
+       </emphasis>
+    </term>
+    <listitem><para>Define the <code>value_compare</code> typedef.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr2735"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#2735">2735</link>:
+       <emphasis><code>std::abs(short)</code>,
+        <code>std::abs(signed char)</code> and others should return
+        <code>int</code> instead of <code>double</code> in order to be
+        compatible with C++98 and C
+       </emphasis>
+    </term>
+    <listitem><para>Resolved by the changes for
+      <link linkend="manual.bugs.dr2192">2192</link>.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr2770"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#2770">2770</link>:
+       <emphasis><code>tuple_size&lt;const T&gt;</code> specialization is not
+        SFINAE compatible and breaks decomposition declarations
+       </emphasis>
+    </term>
+    <listitem><para>Safely detect <code>tuple_size&lt;T&gt;::value</code> and
+      only use it if valid.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr2781"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#2781">2781</link>:
+       <emphasis>Contradictory requirements for <code>std::function</code>
+         and <code>std::reference_wrapper</code>
+       </emphasis>
+    </term>
+    <listitem><para>Remove special handling for <code>reference_wrapper</code>
+      arguments and store them directly as the target object.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr2802"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#2802">2802</link>:
+       <emphasis>Add noexcept to several <code>shared_ptr</code> related
+         functions
+       </emphasis>
+    </term>
+    <listitem><para>Add noexcept.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr2873"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#2873">2873</link>:
+       <emphasis><code>shared_ptr</code> constructor requirements for a deleter
+       </emphasis>
+    </term>
+    <listitem><para>Use rvalues for deleters.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr2921"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#2921">2921</link>:
+       <emphasis><code>packaged_task</code> and type-erased allocators
+       </emphasis>
+    </term>
+    <listitem><para>For C++17 mode, remove the constructors taking
+      an allocator argument.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr2942"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#2942">2942</link>:
+       <emphasis>LWG 2873's resolution missed
+         <code>weak_ptr::owner_before</code>
+       </emphasis>
+    </term>
+    <listitem><para>Add noexcept.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr2996"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#2996">2996</link>:
+       <emphasis>Missing rvalue overloads for
+         <code>shared_ptr</code> operations
+       </emphasis>
+    </term>
+    <listitem><para>Add additional constructor and cast overloads.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr2993"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#2993">2993</link>:
+       <emphasis><code>reference_wrapper&lt;T&gt;</code> conversion from <code>T&amp;&amp;</code>
+       </emphasis>
+    </term>
+    <listitem><para>Replaced the constructors with a constrained template,
+      to prevent participation in overload resolution when not valid.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr3074"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#3074">3074</link>:
+       <emphasis>Non-member functions for <code>valarray</code> should only deduce from the <code>valarray</code>
+       </emphasis>
+    </term>
+    <listitem><para>Change scalar operands to be non-deduced context, so that
+      they will allow conversions from other types to the value_type.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr3076"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#3076">3076</link>:
+       <emphasis><code>basic_string</code> CTAD ambiguity
+       </emphasis>
+    </term>
+    <listitem><para>Change constructors to constrained templates.
+    </para></listitem></varlistentry>
+
+    <varlistentry xml:id="manual.bugs.dr3096"><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&DR;#3096">3096</link>:
+       <emphasis><code>path::lexically_relative</code> is confused by trailing slashes
+       </emphasis>
+    </term>
+    <listitem><para>Implement the fix for trailing slashes.
+    </para></listitem></varlistentry>
+
   </variablelist>
 
- </sect2>
-  </sect1>  
+ </section>
+  </section>
 </chapter>
 
 
 <!-- Chapter 02 : Setup -->
-<chapter id="manual.intro.setup" xreflabel="Setup">
-  <title>Setup</title>
+<chapter xml:id="manual.intro.setup" xreflabel="Setup"><info><title>Setup</title></info>
+  <?dbhtml filename="setup.html"?>
+
 
    <para>To transform libstdc++ sources into installed include files
    and properly built binaries useful for linking to other software is
@@ -795,11 +1331,11 @@ requirements of the license of GCC.
    </para>
 
    <programlisting>
-   <emphasis>get gcc sources</emphasis>
-   <emphasis>extract into gccsrcdir</emphasis>
-   mkdir <emphasis>gccbuilddir</emphasis>
-   cd <emphasis>gccbuilddir</emphasis>
-   <emphasis>gccsrcdir</emphasis>/configure --prefix=<emphasis>destdir</emphasis> --other-opts...
+   <replaceable>get gcc sources</replaceable>
+   <replaceable>extract into gccsrcdir</replaceable>
+   mkdir <replaceable>gccbuilddir</replaceable>
+   cd <replaceable>gccbuilddir</replaceable>
+   <replaceable>gccsrcdir</replaceable>/configure --prefix=<replaceable>destdir</replaceable> --other-opts...
    make
    make check
    make install
@@ -810,40 +1346,33 @@ requirements of the license of GCC.
    </para>
 
   <!-- Section 01 : Prerequisites -->
-  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" 
-             parse="xml" href="prerequisites.xml">
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="prerequisites.xml">
   </xi:include>
 
   <!-- Section 02 : Configure -->
-  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" 
-             parse="xml" href="configure.xml">
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="configure.xml">
   </xi:include>
 
   <!-- Section 03 : Make -->
-<sect1 id="manual.intro.setup.make" xreflabel="Make">
-<title>Make</title>
+<section xml:id="manual.intro.setup.make" xreflabel="Make"><info><title>Make</title></info>
+  <?dbhtml filename="make.html"?>
+
    <para>If you have never done this before, you should read the basic
-      <ulink url="http://gcc.gnu.org/install/">GCC Installation
-      Instructions</ulink> first.  Read <emphasis>all of them</emphasis>.
+      <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/install/">GCC Installation
+      Instructions</link> first.  Read <emphasis>all of them</emphasis>.
       <emphasis>Twice.</emphasis>
    </para>
 
-<para>Then type:<command>make</command>, and congratulations, you're
+<para>Then type: <command>make</command>, and congratulations, you've
 started to build.
 </para>
 
-</sect1>
+</section>
 
-  <!-- Section 04 : Test -->
-  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" 
-             parse="xml" href="test.xml">
-  </xi:include>
 </chapter>
 
-
 <!-- Chapter 03 : Using -->
-<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
-           parse="xml" href="using.xml">
+<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="xml" href="using.xml">
 </xi:include>
 
 </part>
This page took 0.084102 seconds and 5 git commands to generate.