1 <?xml version=
"1.0" encoding=
"UTF-8" standalone=
"no"?>
2 <!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>Bugs
</title><meta name=
"generator" content=
"DocBook XSL-NS Stylesheets V1.78.1" /><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=
"status.html" title=
"Chapter 1. Status" /><link rel=
"prev" href=
"license.html" title=
"License" /><link rel=
"next" href=
"setup.html" title=
"Chapter 2. Setup" /></head><body><div class=
"navheader"><table width=
"100%" summary=
"Navigation header"><tr><th colspan=
"3" align=
"center">Bugs
</th></tr><tr><td width=
"20%" align=
"left"><a accesskey=
"p" href=
"license.html">Prev
</a> </td><th width=
"60%" align=
"center">Chapter
1. Status
</th><td width=
"20%" align=
"right"> <a accesskey=
"n" href=
"setup.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.intro.status.bugs"></a>Bugs
</h2></div></div></div><div class=
"section"><div class=
"titlepage"><div><div><h3 class=
"title"><a id=
"manual.intro.status.bugs.impl"></a>Implementation Bugs
</h3></div></div></div><p>
3 Information on known bugs, details on efforts to fix them, and
4 fixed bugs are all available as part of the
<a class=
"link" href=
"http://gcc.gnu.org/bugs/" target=
"_top">GCC bug tracking system
</a>,
5 with the category set to
<code class=
"literal">libstdc++
</code>.
6 </p></div><div class=
"section"><div class=
"titlepage"><div><div><h3 class=
"title"><a id=
"manual.intro.status.bugs.iso"></a>Standard Bugs
</h3></div></div></div><p>
7 Everybody's got issues. Even the C++ Standard Library.
9 The Library Working Group, or LWG, is the ISO subcommittee responsible
10 for making changes to the library. They periodically publish an
11 Issues List containing problems and possible solutions. As they reach
12 a consensus on proposed solutions, we often incorporate the solution.
14 Here are the issues which have resulted in code changes to the library.
15 The links are to the specific defect reports from a
<span class=
"emphasis"><em>partial
16 copy
</em></span> of the Issues List. You can read the full version online
17 at the
<a class=
"link" href=
"http://www.open-std.org/jtc1/sc22/wg21/" target=
"_top">ISO C++
18 Committee homepage
</a>, linked to on the
19 <a class=
"link" href=
"http://gcc.gnu.org/readings.html" target=
"_top">GCC
"Readings"
21 you spend a lot of time reading the issues, we recommend downloading
22 the ZIP file and reading them locally.
24 (NB:
<span class=
"emphasis"><em>partial copy
</em></span> means that not all
25 links within the lwg-*.html pages will work. Specifically,
26 links to defect reports that have not been accorded full DR
27 status will probably break. Rather than trying to mirror the
28 entire issues list on our overworked web server, we recommend
29 you go to the LWG homepage instead.)
31 If a DR is not listed here, we may simply not have gotten to
32 it yet; feel free to submit a patch. Search the include/bits
33 and src directories for appearances of
34 <code class=
"constant">_GLIBCXX_RESOLVE_LIB_DEFECTS
</code> for examples
35 of style. Note that we usually do not make changes to the
36 code until an issue has reached
<a class=
"link" href=
"../ext/lwg-active.html#DR" target=
"_top">DR
</a> status.
37 </p><div class=
"variablelist"><dl class=
"variablelist"><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#5" target=
"_top">5</a>:
38 <span class=
"emphasis"><em>string::compare specification questionable
</em></span>
39 </span></dt><dd><p>This should be two overloaded functions rather than a single function.
40 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#17" target=
"_top">17</a>:
41 <span class=
"emphasis"><em>Bad bool parsing
</em></span>
42 </span></dt><dd><p>Apparently extracting Boolean values was messed up...
43 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#19" target=
"_top">19</a>:
44 <span class=
"emphasis"><em>"Noconv" definition too vague
</em></span>
45 </span></dt><dd><p>If
<code class=
"code">codecvt::do_in
</code> returns
<code class=
"code">noconv
</code> there are
46 no changes to the values in
<code class=
"code">[to, to_limit)
</code>.
47 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#22" target=
"_top">22</a>:
48 <span class=
"emphasis"><em>Member open vs flags
</em></span>
49 </span></dt><dd><p>Re-opening a file stream does
<span class=
"emphasis"><em>not
</em></span> clear the state flags.
50 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#23" target=
"_top">23</a>:
51 <span class=
"emphasis"><em>Num_get overflow result
</em></span>
52 </span></dt><dd><p>Implement the proposed resolution.
53 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#25" target=
"_top">25</a>:
54 <span class=
"emphasis"><em>String operator
<< uses width() value wrong
</em></span>
55 </span></dt><dd><p>Padding issues.
56 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#48" target=
"_top">48</a>:
57 <span class=
"emphasis"><em>Use of non-existent exception constructor
</em></span>
58 </span></dt><dd><p>An instance of
<code class=
"code">ios_base::failure
</code> is constructed instead.
59 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#49" target=
"_top">49</a>:
60 <span class=
"emphasis"><em>Underspecification of ios_base::sync_with_stdio
</em></span>
61 </span></dt><dd><p>The return type is the
<span class=
"emphasis"><em>previous
</em></span> state of synchronization.
62 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#50" target=
"_top">50</a>:
63 <span class=
"emphasis"><em>Copy constructor and assignment operator of ios_base
</em></span>
64 </span></dt><dd><p>These members functions are declared
<code class=
"code">private
</code> and are
65 thus inaccessible. Specifying the correct semantics of
66 "copying stream state" was deemed too complicated.
67 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#60" target=
"_top">60</a>:
68 <span class=
"emphasis"><em>What is a formatted input function?
</em></span>
69 </span></dt><dd><p>This DR made many widespread changes to
<code class=
"code">basic_istream
</code>
70 and
<code class=
"code">basic_ostream
</code> all of which have been implemented.
71 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#63" target=
"_top">63</a>:
72 <span class=
"emphasis"><em>Exception-handling policy for unformatted output
</em></span>
73 </span></dt><dd><p>Make the policy consistent with that of formatted input, unformatted
74 input, and formatted output.
75 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#68" target=
"_top">68</a>:
76 <span class=
"emphasis"><em>Extractors for char* should store null at end
</em></span>
77 </span></dt><dd><p>And they do now. An editing glitch in the last item in the list of
79 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#74" target=
"_top">74</a>:
80 <span class=
"emphasis"><em>Garbled text for codecvt::do_max_length
</em></span>
81 </span></dt><dd><p>The text of the standard was gibberish. Typos gone rampant.
82 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#75" target=
"_top">75</a>:
83 <span class=
"emphasis"><em>Contradiction in codecvt::length's argument types
</em></span>
84 </span></dt><dd><p>Change the first parameter to
<code class=
"code">stateT
&</code> and implement
85 the new effects paragraph.
86 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#83" target=
"_top">83</a>:
87 <span class=
"emphasis"><em>string::npos vs. string::max_size()
</em></span>
88 </span></dt><dd><p>Safety checks on the size of the string should test against
89 <code class=
"code">max_size()
</code> rather than
<code class=
"code">npos
</code>.
90 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#90" target=
"_top">90</a>:
91 <span class=
"emphasis"><em>Incorrect description of operator
>> for strings
</em></span>
92 </span></dt><dd><p>The effect contain
<code class=
"code">isspace(c,getloc())
</code> which must be
93 replaced by
<code class=
"code">isspace(c,is.getloc())
</code>.
94 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#91" target=
"_top">91</a>:
95 <span class=
"emphasis"><em>Description of operator
>> and getline() for string
<>
96 might cause endless loop
</em></span>
97 </span></dt><dd><p>They behave as a formatted input function and as an unformatted
98 input function, respectively (except that
<code class=
"code">getline
</code> is
99 not required to set
<code class=
"code">gcount
</code>).
100 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#103" target=
"_top">103</a>:
101 <span class=
"emphasis"><em>set::iterator is required to be modifiable, but this allows
102 modification of keys.
</em></span>
103 </span></dt><dd><p>For associative containers where the value type is the same as
104 the key type, both
<code class=
"code">iterator
</code> and
<code class=
"code">const_iterator
105 </code> are constant iterators.
106 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#109" target=
"_top">109</a>:
107 <span class=
"emphasis"><em>Missing binders for non-const sequence elements
</em></span>
108 </span></dt><dd><p>The
<code class=
"code">binder1st
</code> and
<code class=
"code">binder2nd
</code> didn't have an
109 <code class=
"code">operator()
</code> taking a non-const parameter.
110 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#110" target=
"_top">110</a>:
111 <span class=
"emphasis"><em>istreambuf_iterator::equal not const
</em></span>
112 </span></dt><dd><p>This was not a const member function. Note that the DR says to
113 replace the function with a const one; we have instead provided an
114 overloaded version with identical contents.
115 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#117" target=
"_top">117</a>:
116 <span class=
"emphasis"><em>basic_ostream uses nonexistent num_put member functions
</em></span>
117 </span></dt><dd><p><code class=
"code">num_put::put()
</code> was overloaded on the wrong types.
118 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#118" target=
"_top">118</a>:
119 <span class=
"emphasis"><em>basic_istream uses nonexistent num_get member functions
</em></span>
120 </span></dt><dd><p>Same as
117, but for
<code class=
"code">num_get::get()
</code>.
121 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#129" target=
"_top">129</a>:
122 <span class=
"emphasis"><em>Need error indication from seekp() and seekg()
</em></span>
123 </span></dt><dd><p>These functions set
<code class=
"code">failbit
</code> on error now.
124 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#130" target=
"_top">130</a>:
125 <span class=
"emphasis"><em>Return type of container::erase(iterator) differs for associative containers
</em></span>
126 </span></dt><dd><p>Make member
<code class=
"code">erase
</code> return iterator for
<code class=
"code">set
</code>,
<code class=
"code">multiset
</code>,
<code class=
"code">map
</code>,
<code class=
"code">multimap
</code>.
127 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#136" target=
"_top">136</a>:
128 <span class=
"emphasis"><em>seekp, seekg setting wrong streams?
</em></span>
129 </span></dt><dd><p><code class=
"code">seekp
</code> should only set the output stream, and
130 <code class=
"code">seekg
</code> should only set the input stream.
131 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#167" target=
"_top">167</a>:
132 <span class=
"emphasis"><em>Improper use of traits_type::length()
</em></span>
133 </span></dt><dd><p><code class=
"code">op
<<</code> with a
<code class=
"code">const char*
</code> was
134 calculating an incorrect number of characters to write.
135 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#169" target=
"_top">169</a>:
136 <span class=
"emphasis"><em>Bad efficiency of overflow() mandated
</em></span>
137 </span></dt><dd><p>Grow efficiently the internal array object.
138 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#171" target=
"_top">171</a>:
139 <span class=
"emphasis"><em>Strange seekpos() semantics due to joint position
</em></span>
140 </span></dt><dd><p>Quite complex to summarize...
141 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#181" target=
"_top">181</a>:
142 <span class=
"emphasis"><em>make_pair() unintended behavior
</em></span>
143 </span></dt><dd><p>This function used to take its arguments as reference-to-const, now
144 it copies them (pass by value).
145 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#195" target=
"_top">195</a>:
146 <span class=
"emphasis"><em>Should basic_istream::sentry's constructor ever set eofbit?
</em></span>
147 </span></dt><dd><p>Yes, it can, specifically if EOF is reached while skipping whitespace.
148 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#211" target=
"_top">211</a>:
149 <span class=
"emphasis"><em>operator
>>(istream
&, string
&) doesn't set failbit
</em></span>
150 </span></dt><dd><p>If nothing is extracted into the string,
<code class=
"code">op
>></code> now
151 sets
<code class=
"code">failbit
</code> (which can cause an exception, etc., etc.).
152 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#214" target=
"_top">214</a>:
153 <span class=
"emphasis"><em>set::find() missing const overload
</em></span>
154 </span></dt><dd><p>Both
<code class=
"code">set
</code> and
<code class=
"code">multiset
</code> were missing
155 overloaded find, lower_bound, upper_bound, and equal_range functions
157 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#231" target=
"_top">231</a>:
158 <span class=
"emphasis"><em>Precision in iostream?
</em></span>
159 </span></dt><dd><p>For conversion from a floating-point type,
<code class=
"code">str.precision()
</code>
160 is specified in the conversion specification.
161 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#233" target=
"_top">233</a>:
162 <span class=
"emphasis"><em>Insertion hints in associative containers
</em></span>
163 </span></dt><dd><p>Implement N1780, first check before then check after, insert as close
165 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#235" target=
"_top">235</a>:
166 <span class=
"emphasis"><em>No specification of default ctor for reverse_iterator
</em></span>
167 </span></dt><dd><p>The declaration of
<code class=
"code">reverse_iterator
</code> lists a default constructor.
168 However, no specification is given what this constructor should do.
169 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#241" target=
"_top">241</a>:
170 <span class=
"emphasis"><em>Does unique_copy() require CopyConstructible and Assignable?
</em></span>
171 </span></dt><dd><p>Add a helper for forward_iterator/output_iterator, fix the existing
172 one for input_iterator/output_iterator to not rely on Assignability.
173 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#243" target=
"_top">243</a>:
174 <span class=
"emphasis"><em>get and getline when sentry reports failure
</em></span>
175 </span></dt><dd><p>Store a null character only if the character array has a non-zero size.
176 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#251" target=
"_top">251</a>:
177 <span class=
"emphasis"><em>basic_stringbuf missing allocator_type
</em></span>
178 </span></dt><dd><p>This nested typedef was originally not specified.
179 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#253" target=
"_top">253</a>:
180 <span class=
"emphasis"><em>valarray helper functions are almost entirely useless
</em></span>
181 </span></dt><dd><p>Make the copy constructor and copy-assignment operator declarations
182 public in gslice_array, indirect_array, mask_array, slice_array; provide
184 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#265" target=
"_top">265</a>:
185 <span class=
"emphasis"><em>std::pair::pair() effects overly restrictive
</em></span>
186 </span></dt><dd><p>The default ctor would build its members from copies of temporaries;
187 now it simply uses their respective default ctors.
188 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#266" target=
"_top">266</a>:
189 <span class=
"emphasis"><em>bad_exception::~bad_exception() missing Effects clause
</em></span>
190 </span></dt><dd><p>The
<code class=
"code">bad_
</code>* classes no longer have destructors (they
191 are trivial), since no description of them was ever given.
192 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#271" target=
"_top">271</a>:
193 <span class=
"emphasis"><em>basic_iostream missing typedefs
</em></span>
194 </span></dt><dd><p>The typedefs it inherits from its base classes can't be used, since
195 (for example)
<code class=
"code">basic_iostream
<T
>::traits_type
</code> is ambiguous.
196 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#275" target=
"_top">275</a>:
197 <span class=
"emphasis"><em>Wrong type in num_get::get() overloads
</em></span>
198 </span></dt><dd><p>Similar to
118.
199 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#280" target=
"_top">280</a>:
200 <span class=
"emphasis"><em>Comparison of reverse_iterator to const reverse_iterator
</em></span>
201 </span></dt><dd><p>Add global functions with two template parameters.
202 (NB: not added for now a templated assignment operator)
203 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#292" target=
"_top">292</a>:
204 <span class=
"emphasis"><em>Effects of a.copyfmt (a)
</em></span>
205 </span></dt><dd><p>If
<code class=
"code">(this ==
&rhs)
</code> do nothing.
206 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#300" target=
"_top">300</a>:
207 <span class=
"emphasis"><em>List::merge() specification incomplete
</em></span>
208 </span></dt><dd><p>If
<code class=
"code">(this ==
&x)
</code> do nothing.
209 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#303" target=
"_top">303</a>:
210 <span class=
"emphasis"><em>Bitset input operator underspecified
</em></span>
211 </span></dt><dd><p>Basically, compare the input character to
212 <code class=
"code">is.widen(
0)
</code> and
<code class=
"code">is.widen(
1)
</code>.
213 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#305" target=
"_top">305</a>:
214 <span class=
"emphasis"><em>Default behavior of codecvt
<wchar_t, char,
215 mbstate_t
>::length()
</em></span>
216 </span></dt><dd><p>Do not specify what
<code class=
"code">codecvt
<wchar_t, char,
217 mbstate_t
>::do_length
</code> must return.
218 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#328" target=
"_top">328</a>:
219 <span class=
"emphasis"><em>Bad sprintf format modifier in
220 money_put
<>::do_put()
</em></span>
221 </span></dt><dd><p>Change the format string to
"%.0Lf".
222 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#365" target=
"_top">365</a>:
223 <span class=
"emphasis"><em>Lack of const-qualification in clause
27</em></span>
224 </span></dt><dd><p>Add const overloads of
<code class=
"code">is_open
</code>.
225 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#387" target=
"_top">387</a>:
226 <span class=
"emphasis"><em>std::complex over-encapsulated
</em></span>
227 </span></dt><dd><p>Add the
<code class=
"code">real(T)
</code> and
<code class=
"code">imag(T)
</code>
228 members; in C++
11 mode, also adjust the existing
229 <code class=
"code">real()
</code> and
<code class=
"code">imag()
</code> members and
231 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#389" target=
"_top">389</a>:
232 <span class=
"emphasis"><em>Const overload of valarray::operator[] returns
234 </span></dt><dd><p>Change it to return a
<code class=
"code">const T
&</code>.
235 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#396" target=
"_top">396</a>:
236 <span class=
"emphasis"><em>what are characters zero and one
</em></span>
237 </span></dt><dd><p>Implement the proposed resolution.
238 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#402" target=
"_top">402</a>:
239 <span class=
"emphasis"><em>Wrong new expression in [some_]allocator::construct
</em></span>
240 </span></dt><dd><p>Replace
"new" with
"::new".
241 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-closed.html#408" target=
"_top">408</a>:
242 <span class=
"emphasis"><em>
243 Is vector
<reverse_iterator
<char*
> > forbidden?
245 </span></dt><dd><p>Tweak the debug-mode checks in _Safe_iterator.
246 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#409" target=
"_top">409</a>:
247 <span class=
"emphasis"><em>Closing an fstream should clear the error state
</em></span>
248 </span></dt><dd><p>Have
<code class=
"code">open
</code> clear the error flags.
249 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-closed.html#431" target=
"_top">431</a>:
250 <span class=
"emphasis"><em>Swapping containers with unequal allocators
</em></span>
251 </span></dt><dd><p>Implement Option
3, as per N1599.
252 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#432" target=
"_top">432</a>:
253 <span class=
"emphasis"><em>stringbuf::overflow() makes only one write position
254 available
</em></span>
255 </span></dt><dd><p>Implement the resolution, beyond DR
169.
256 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#434" target=
"_top">434</a>:
257 <span class=
"emphasis"><em>bitset::to_string() hard to use
</em></span>
258 </span></dt><dd><p>Add three overloads, taking fewer template arguments.
259 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#438" target=
"_top">438</a>:
260 <span class=
"emphasis"><em>Ambiguity in the
"do the right thing" clause
</em></span>
261 </span></dt><dd><p>Implement the resolution, basically cast less.
262 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#453" target=
"_top">453</a>:
263 <span class=
"emphasis"><em>basic_stringbuf::seekoff need not always fail for an empty stream
</em></span>
264 </span></dt><dd><p>Don't fail if the next pointer is null and newoff is zero.
265 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#455" target=
"_top">455</a>:
266 <span class=
"emphasis"><em>cerr::tie() and wcerr::tie() are overspecified
</em></span>
267 </span></dt><dd><p>Initialize cerr tied to cout and wcerr tied to wcout.
268 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#464" target=
"_top">464</a>:
269 <span class=
"emphasis"><em>Suggestion for new member functions in standard containers
</em></span>
270 </span></dt><dd><p>Add
<code class=
"code">data()
</code> to
<code class=
"code">std::vector
</code> and
271 <code class=
"code">at(const key_type
&)
</code> to
<code class=
"code">std::map
</code>.
272 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#508" target=
"_top">508</a>:
273 <span class=
"emphasis"><em>Bad parameters for ranlux64_base_01
</em></span>
274 </span></dt><dd><p>Fix the parameters.
275 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-closed.html#512" target=
"_top">512</a>:
276 <span class=
"emphasis"><em>Seeding subtract_with_carry_01 from a single unsigned long
</em></span>
277 </span></dt><dd><p>Construct a
<code class=
"code">linear_congruential
</code> engine and seed with it.
278 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-closed.html#526" target=
"_top">526</a>:
279 <span class=
"emphasis"><em>Is it undefined if a function in the standard changes in
280 parameters?
</em></span>
281 </span></dt><dd><p>Use
&value.
282 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#538" target=
"_top">538</a>:
283 <span class=
"emphasis"><em>241 again: Does unique_copy() require CopyConstructible
284 and Assignable?
</em></span>
285 </span></dt><dd><p>In case of input_iterator/output_iterator rely on Assignability of
286 input_iterator' value_type.
287 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#539" target=
"_top">539</a>:
288 <span class=
"emphasis"><em>partial_sum and adjacent_difference should mention
289 requirements
</em></span>
290 </span></dt><dd><p>We were almost doing the right thing, just use std::move
291 in adjacent_difference.
292 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#541" target=
"_top">541</a>:
293 <span class=
"emphasis"><em>shared_ptr template assignment and void
</em></span>
294 </span></dt><dd><p>Add an auto_ptr
<void
> specialization.
295 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#543" target=
"_top">543</a>:
296 <span class=
"emphasis"><em>valarray slice default constructor
</em></span>
297 </span></dt><dd><p>Follow the straightforward proposed resolution.
298 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#550" target=
"_top">550</a>:
299 <span class=
"emphasis"><em>What should the return type of pow(float,int) be?
</em></span>
300 </span></dt><dd><p>In C++
11 mode, remove the pow(float,int), etc., signatures.
301 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#586" target=
"_top">586</a>:
302 <span class=
"emphasis"><em>string inserter not a formatted function
</em></span>
303 </span></dt><dd><p>Change it to be a formatted output function (i.e. catch exceptions).
304 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#596" target=
"_top">596</a>:
305 <span class=
"emphasis"><em>27.8.1.3 Table
112 omits
"a+" and
"a+b" modes
</em></span>
306 </span></dt><dd><p>Add the missing modes to fopen_mode.
307 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#630" target=
"_top">630</a>:
308 <span class=
"emphasis"><em>arrays of valarray
</em></span>
309 </span></dt><dd><p>Implement the simple resolution.
310 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#660" target=
"_top">660</a>:
311 <span class=
"emphasis"><em>Missing bitwise operations
</em></span>
312 </span></dt><dd><p>Add the missing operations.
313 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#691" target=
"_top">691</a>:
314 <span class=
"emphasis"><em>const_local_iterator cbegin, cend missing from TR1
</em></span>
315 </span></dt><dd><p>In C++
11 mode add cbegin(size_type) and cend(size_type)
316 to the unordered containers.
317 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#693" target=
"_top">693</a>:
318 <span class=
"emphasis"><em>std::bitset::all() missing
</em></span>
319 </span></dt><dd><p>Add it, consistently with the discussion.
320 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#695" target=
"_top">695</a>:
321 <span class=
"emphasis"><em>ctype
<char
>::classic_table() not accessible
</em></span>
322 </span></dt><dd><p>Make the member functions table and classic_table public.
323 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#696" target=
"_top">696</a>:
324 <span class=
"emphasis"><em>istream::operator
>>(int
&) broken
</em></span>
325 </span></dt><dd><p>Implement the straightforward resolution.
326 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#761" target=
"_top">761</a>:
327 <span class=
"emphasis"><em>unordered_map needs an at() member function
</em></span>
328 </span></dt><dd><p>In C++
11 mode, add at() and at() const.
329 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#775" target=
"_top">775</a>:
330 <span class=
"emphasis"><em>Tuple indexing should be unsigned?
</em></span>
331 </span></dt><dd><p>Implement the int -
> size_t replacements.
332 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#776" target=
"_top">776</a>:
333 <span class=
"emphasis"><em>Undescribed assign function of std::array
</em></span>
334 </span></dt><dd><p>In C++
11 mode, remove assign, add fill.
335 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#781" target=
"_top">781</a>:
336 <span class=
"emphasis"><em>std::complex should add missing C99 functions
</em></span>
337 </span></dt><dd><p>In C++
11 mode, add std::proj.
338 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#809" target=
"_top">809</a>:
339 <span class=
"emphasis"><em>std::swap should be overloaded for array types
</em></span>
340 </span></dt><dd><p>Add the overload.
341 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#853" target=
"_top">853</a>:
342 <span class=
"emphasis"><em>to_string needs updating with zero and one
</em></span>
343 </span></dt><dd><p>Update / add the signatures.
344 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#865" target=
"_top">865</a>:
345 <span class=
"emphasis"><em>More algorithms that throw away information
</em></span>
346 </span></dt><dd><p>The traditional HP / SGI return type and value is blessed
347 by the resolution of the DR.
348 </p></dd><dt><span class=
"term"><a class=
"link" href=
"../ext/lwg-defects.html#1339" target=
"_top">1339</a>:
349 <span class=
"emphasis"><em>uninitialized_fill_n should return the end of its range
</em></span>
350 </span></dt><dd><p>Return the end of the filled range.
351 </p></dd></dl></div></div></div><div class=
"navfooter"><hr /><table width=
"100%" summary=
"Navigation footer"><tr><td width=
"40%" align=
"left"><a accesskey=
"p" href=
"license.html">Prev
</a> </td><td width=
"20%" align=
"center"><a accesskey=
"u" href=
"status.html">Up
</a></td><td width=
"40%" align=
"right"> <a accesskey=
"n" href=
"setup.html">Next
</a></td></tr><tr><td width=
"40%" align=
"left" valign=
"top">License
</td><td width=
"20%" align=
"center"><a accesskey=
"h" href=
"../index.html">Home
</a></td><td width=
"40%" align=
"right" valign=
"top"> Chapter
2. Setup
</td></tr></table></div></body></html>