Issue |
Status |
Section |
Title |
Proposed Resolution |
Duplicates |
571 |
New |
1.2 [intro.refs] |
Update C90 references to C99? |
Yes |
|
611 |
New |
17.4.3.6 [res.on.functions] |
Standard library templates and incomplete types |
Yes |
|
591 |
New |
18.2.1.2 [numeric.limits.members] |
Misleading "built-in |
Yes |
|
612 |
New |
18.2.1.2 [numeric.limits.members] |
numeric_limits::is_modulo insufficently defined |
Yes |
|
613 |
New |
18.2.1.5 [numeric.special] |
max_digits10 missing from numeric_limits |
Yes |
|
593 |
New |
18.3 [cstdint] |
__STDC_CONSTANT_MACROS |
Yes |
|
553 |
New |
18.3.1 [cstdint.syn] |
very minor editorial change intptr_t / uintptr_t |
Yes |
|
619 |
New |
18.8 [support.runtime] |
Longjmp wording problem |
No |
|
594 |
New |
20.1.4 [swappable] |
Disadvantages of defining Swappable in terms of CopyConstructible and Assignable |
Yes |
|
560 |
New |
20.1.6 [allocator.requirements] |
User-defined allocators without default constructor |
No |
|
580 |
New |
20.1.6 [allocator.requirements] |
unused allocator members |
No |
|
590 |
New |
20.4.9 [meta.req] |
Type traits implementation latitude should be removed for C++0x |
Yes |
|
610 |
New |
20.5.14.2.1 [func.wrap.func.con] |
Suggested non-normative note for C++0x |
Yes |
|
578 |
New |
20.6.1.1 [allocator.members] |
purpose of hint to allocator::allocate() |
Yes |
|
582 |
New |
20.6.4.1 [uninitialized.copy] |
specialized algorithms and volatile storage |
Yes |
|
575 |
New |
20.6.6.2.2 [util.smartptr.shared.dest] |
the specification of ~shared_ptr is MT-unfriendly, makes implementation assumptions |
Yes |
|
570 |
New |
21.1 [char.traits] |
Request adding additional explicit specializations of char_traits |
No |
|
614 |
New |
21.3 [basic.string] |
std::string allocator requirements still inconsistent |
No |
|
586 |
New |
21.3.8.9 [string.io] |
string inserter not a formatted function |
Yes |
|
615 |
New |
21.4 [c.strings] |
Inconsistencies in Section 21.4 |
No |
|
585 |
New |
22.2 [locale.categories] |
facet error reporting |
Yes |
|
616 |
New |
22.2.1.2 [locale.ctype.byname] |
missing 'typename' in ctype_byname |
Yes |
|
393 |
New |
22.2.1.4.2 [locale.codecvt.virtuals] |
do_in/do_out operation on state unclear |
Yes |
|
589 |
New |
23.1 [container.requirements] |
Requirements on iterators of member template functions of containers |
Yes |
|
579 |
New |
23.1.3 [unord.req] |
erase(iterator) for unordered containers should not return an iterator |
Yes |
|
588 |
New |
23.2.1 [array] |
requirements on zero sized tr1::arrays and other details |
No |
|
617 |
New |
23.2.1 [array] |
std::array is a sequence that doesn't satisfy the sequence requirements? |
No |
|
561 |
New |
24.4.2.6.5 [inserter] |
inserter overly generic |
Yes |
|
576 |
New |
25.1.4 [alg.find.first.of] |
find_first_of is overconstrained |
Yes |
|
552 |
New |
25.2.11 [alg.random.shuffle] |
random_shuffle and its generator |
No |
|
577 |
New |
25.3.3.2 [upper.bound] |
upper_bound(first, last, ...) cannot return last |
Yes |
|
595 |
New |
26.3 [complex.numbers] |
TR1/C++0x: fabs(complex<T>) redundant / wrongly specified |
Yes |
|
547 |
New |
26.4 [rand] |
division should be floating-point, not integer |
Yes |
|
572 |
New |
26.4 [rand] |
Oops, we gave 507 WP status |
Yes |
|
546 |
New |
26.4.1 [rand.req] |
_Longlong and _ULonglong are integer types |
No |
|
609 |
New |
26.4.4.2 [rand.adapt.ibits] |
missing static const |
Yes |
|
607 |
New |
26.4.7.1 [rand.util.seedseq] |
Concern about short seed vectors |
Yes |
|
608 |
New |
26.4.7.1 [rand.util.seedseq] |
Unclear seed_seq construction details |
Yes |
|
618 |
New |
26.5.2.7 [valarray.members] |
valarray::cshift() effects on empty array |
Yes |
|
550 |
New |
26.7 [c.math] |
What should the return type of pow(float,int) be? |
No |
|
568 |
New |
26.7 [c.math] |
log2 overloads missing |
Yes |
|
583 |
New |
26.7 [c.math] |
div() for unsigned integral types |
Yes |
|
584 |
New |
26.7 [c.math] |
missing int pow(int,int) functionality |
Yes |
|
574 |
New |
27.3 [iostream.objects] |
DR 369 Contradicts Text |
No |
|
573 |
New |
27.4.3 [fpos] |
C++0x file positioning should handle modern file sizes |
No |
|
565 |
New |
27.5.2.4.5 [streambuf.virt.put] |
xsputn inefficient |
Yes |
|
567 |
New |
27.6 [iostream.format] |
streambuf inserter and extractor should be unformatted |
Yes |
|
566 |
New |
27.6.1.3 [istream.unformatted] |
array forms of unformatted input function undefined for zero-element arrays |
Yes |
|
581 |
New |
27.6.2.6 [ostream.unformatted] |
flush() not unformatted function |
Yes |
|
562 |
New |
27.7 [string.streams] |
stringbuf ctor inefficient |
Yes |
|
563 |
New |
27.7.1.3 [stringbuf.virtuals] |
stringbuf seeking from end |
Yes |
|
564 |
New |
27.7.1.3 [stringbuf.virtuals] |
stringbuf seekpos underspecified |
Yes |
|
596 |
New |
27.8.1.3 [filebuf.members] |
27.8.1.3 Table 112 omits "a+" and "a+b" modes |
No |
|
592 |
New |
27.8.1.7 [ifstream.members] |
Incorrect treatment of rdbuf()->close() return type |
Yes |
|
587 |
New |
D.7.2.1 [depr.istrstream.cons] |
iststream ctor missing description |
Yes |
|
Issue |
Status |
Section |
Title |
Proposed Resolution |
Duplicates |
462 |
Open |
3.6.3 [basic.start.term] |
Destroying objects with static storage duration |
No |
|
385 |
Open |
17 [library] |
Does call by value imply the CopyConstructible requirement? |
No |
|
424 |
Open |
17.3.1.1 [structure.summary] |
normative notes |
No |
|
456 |
Open |
17.4.1.2 [headers] |
Traditional C header files are overspecified |
No |
|
422 |
Open |
17.4.3.1 [reserved.names] |
explicit specializations of member functions of class templates |
Yes |
|
529 |
Open |
17.4.3.8 [res.on.required] |
The standard encourages redundant and confusing preconditions |
Yes |
|
201 |
Open |
18.2.1 [limits] |
Numeric limits terminology wrong |
Yes |
|
559 |
Open |
18.2.1 [limits] |
numeric_limits<const T> |
Yes |
|
416 |
Open |
18.2.2 [c.limits] |
definitions of XXX_MIN and XXX_MAX macros in climits |
Yes |
|
557 |
Open |
18.3 [cstdint] |
TR1: div(_Longlong, _Longlong) vs div(intmax_t, intmax_t) |
Yes |
|
206 |
Open |
18.5.1.1 [new.delete.single] |
operator new(size_t, nothrow) may become unlinked to ordinary operator new if ordinary version replaced |
Yes |
|
471 |
Open |
18.6.1 [type.info] |
result of what() implementation-defined |
No |
|
254 |
Open |
19.1 [std.exceptions] |
Exception types in clause 19 are constructed from std::string |
Yes |
|
258 |
Open |
20.1.6 [allocator.requirements] |
Missing allocator requirement |
No |
|
401 |
Open |
20.1.6 [allocator.requirements] |
incorrect type casts in table 32 in lib.allocator.requirements |
Yes |
|
431 |
Open |
20.1.6 [allocator.requirements] |
Swapping containers with unequal allocators |
No |
|
482 |
Open |
20.2.2 [pairs] |
Swapping pairs |
Yes |
|
522 |
Open |
20.3 [tuple] |
Tuple doesn't define swap |
No |
|
532 |
Open |
20.3.1.5 [tuple.rel] |
Tuple comparison |
Yes |
|
525 |
Open |
20.4.5 [meta.unary] |
type traits definitions not clear |
Yes |
|
527 |
Open |
20.5.10.1.3 [func.bind.bind] |
tr1::bind has lost its Throws clause |
Yes |
|
463 |
Open |
20.6.5 [auto.ptr] |
auto_ptr usability issues |
Yes |
|
542 |
Open |
20.6.6.2.5 [util.smartptr.shared.obs] |
shared_ptr observers |
No |
|
343 |
Open |
21 [strings] |
Unspecified library header dependencies |
Yes |
|
466 |
Open |
21.3.1 [string.require] |
basic_string ctor should prevent null pointer error |
No |
|
502 |
Open |
22.1.1.1.1 [locale.category] |
Proposition: Clarification of the interaction between a facet and an iterator |
Yes |
|
503 |
Open |
22.2 [locale.categories] |
more on locales |
No |
|
473 |
Open |
22.2.1.1 [locale.ctype] |
underspecified ctype calls |
No |
|
417 |
Open |
22.2.1.1.2 [locale.ctype.virtuals] |
what does ctype::do_widen() return on failure |
No |
|
382 |
Open |
22.2.1.4 [locale.codecvt] |
codecvt do_in/out result |
No |
|
23 |
Open |
22.2.2.1.2 [facet.num.get.virtuals] |
Num_get overflow result |
No |
|
427 |
Open |
22.2.2.1.2 [facet.num.get.virtuals] |
stage 2 and rationale of DR 221 |
No |
|
459 |
Open |
22.2.2.1.2 [facet.num.get.virtuals] |
Requirement for widening in stage 2 is overspecification |
Yes |
|
470 |
Open |
23 [containers] |
accessing containers from their elements' special functions |
Yes |
|
492 |
Open |
23 [containers] |
Invalid iterator arithmetic expressions |
Yes |
|
479 |
Open |
23.1 [container.requirements] |
Container requirements and placement new |
No |
|
536 |
Open |
23.1 [container.requirements] |
Container iterator constructor and explicit convertibility |
No |
|
526 |
Open |
23.1.1 [sequence.reqmts] |
Is it undefined if a function in the standard changes in parameters? |
No |
|
233 |
Open |
23.1.2 [associative.reqmts] |
Insertion hints in associative containers |
Yes |
192, 246 |
96 |
Open |
23.2.5 [vector] |
Vector<bool> is not a container |
No |
|
396 |
Open |
23.3.5.1 [bitset.cons] |
what are characters zero and one |
Yes |
|
518 |
Open |
23.4 [unord] |
Are insert and erase stable for unordered_multiset and unordered_multimap? |
No |
|
528 |
Open |
23.4 [unord] |
TR1: issue 6.19 vs 6.3.4.3/2 (and 6.3.4.5/2) |
Yes |
|
408 |
Open |
24.1 [iterator.requirements] |
Is vector<reverse_iterator<char*> > forbidden? |
No |
|
446 |
Open |
24.1 [iterator.requirements] |
Iterator equality between different containers |
No |
|
484 |
Open |
24.1.1 [input.iterators] |
Convertible to T |
No |
|
485 |
Open |
24.1.2 [output.iterators] |
output iterator insufficently constrained |
No |
|
299 |
Open |
24.1.4 [bidirectional.iterators] |
Incorrect return types for iterator dereference |
Yes |
|
458 |
Open |
24.1.5 [random.access.iterators] |
24.1.5 contains unintented limitation for operator- |
Yes |
|
290 |
Open |
25.1.1 [alg.foreach] |
Requirements to for_each and its function object |
No |
|
488 |
Open |
25.2.10 [alg.rotate] |
rotate throws away useful information |
Yes |
|
498 |
Open |
25.2.12 [alg.partitions] |
Requirements for partition() and stable_partition() too strong |
Yes |
|
556 |
Open |
25.3 [alg.sorting] |
is Compare a BinaryPredicate? |
Yes |
|
387 |
Open |
26.3 [complex.numbers] |
std::complex over-encapsulated |
Yes |
|
515 |
Open |
26.4.2 [rand.synopsis] |
Random number engine traits |
Yes |
|
548 |
Open |
26.4.6 [rand.device] |
May random_device block? |
No |
|
430 |
Open |
26.5.2.4 [valarray.sub] |
valarray subset operations |
No |
|
539 |
Open |
26.6.3 [partial.sum] |
partial_sum and adjacent_difference should mention requirements |
No |
|
423 |
Open |
27 [input.output] |
effects of negative streamsize in iostreams |
Yes |
|
418 |
Open |
27.4.2.1.6 [ios::Init] |
exceptions thrown during iostream cleanup |
No |
|
255 |
Open |
27.5.2 [streambuf] |
Why do basic_streambuf<>::pbump() and gbump() take an int? |
Yes |
|
421 |
Open |
27.5.2.1 [streambuf.cons] |
is basic_streambuf copy-constructible? |
Yes |
|
309 |
Open |
27.6 [iostream.format] |
Does sentry catch exceptions? |
No |
|
419 |
Open |
27.6.1.1.2 [istream::sentry] |
istream extractors not setting failbit if eofbit is already set |
No |
|
342 |
Open |
27.6.1.3 [istream.unformatted] |
seek and eofbit |
Yes |
|
397 |
Open |
27.6.2.3 [ostream::sentry] |
ostream::sentry dtor throws exceptions |
No |
|
398 |
Open |
27.6.2.3 [ostream::sentry] |
effects of end-of-file on unformatted input functions |
No |
|
394 |
Open |
27.6.2.5.1 [ostream.formatted.reqmts] |
behavior of formatted output on failure |
No |
|
454 |
Open |
27.8.1.3 [filebuf.members] |
basic_filebuf::open should accept wchar_t names |
Yes |
|
523 |
Open |
28 [re] |
regex case-insensitive character ranges are unimplementable as specified |
No |
|
524 |
Open |
28 [re] |
regex named character classes and case-insensitivity don't mix |
No |
|
597 |
Open |
TRDecimal 3.2 [trdec.types.types] |
Decimal: The notion of 'promotion' cannot be emulated by user-defined types. |
No |
|
606 |
Open |
TRDecimal 3.2 [trdec.types.types] |
Decimal: allow narrowing conversions |
Yes |
|
Issue |
Status |
Section |
Title |
Proposed Resolution |
Duplicates |
94 |
NAD |
17.4.4 [conforming] |
May library implementors add template parameters to Standard Library classes? |
Yes |
|
95 |
NAD |
17.4.4.4 [member.functions] |
Members added by the implementation |
Yes |
|
372 |
NAD |
17.4.4.8 [res.on.exception.handling] |
Inconsistent description of stdlib exceptions |
Yes |
|
205 |
NAD |
18.2.1.2 [numeric.limits.members] |
numeric_limits unclear on how to determine floating point types |
Yes |
|
554 |
NAD |
18.2.1.5 [numeric.special] |
Problem with lwg DR 184 numeric_limits<bool> |
Yes |
|
269 |
NAD |
18.7 [support.exception] |
cstdarg and unnamed parameters |
Yes |
|
433 |
NAD |
18.7.2.4 [unexpected] |
Contradiction in specification of unexpected() |
Yes |
|
313 |
NAD |
18.7.3.3 [terminate] |
set_terminate and set_unexpected question |
Yes |
|
314 |
NAD |
18.7.3.3 [terminate] |
Is the stack unwound when terminate() is called? |
Yes |
|
12 |
NAD |
20.1.6 [allocator.requirements] |
Way objects hold allocators unclear |
Yes |
|
197 |
NAD |
20.1.6 [allocator.requirements] |
max_size() underspecified |
Yes |
|
277 |
NAD |
20.1.6 [allocator.requirements] |
Normative encouragement in allocator requirements unclear |
Yes |
|
487 |
NAD |
20.1.6 [allocator.requirements] |
Allocator::construct is too limiting |
Yes |
|
296 |
NAD |
20.2.2 [pairs] |
Missing descriptions and requirements of pair operators |
Yes |
|
351 |
NAD |
20.5 [function.objects] |
unary_negate and binary_negate: struct or class? |
Yes |
|
257 |
NAD |
20.5.3 [base] |
STL functional object and iterator inheritance. |
Yes |
|
480 |
NAD |
20.5.3 [base] |
unary_function and binary_function should have protected nonvirtual destructors |
Yes |
|
501 |
NAD |
20.5.3 [base] |
Proposal: strengthen guarantees of lib.comparisons |
Yes |
|
249 |
NAD |
20.6.5 [auto.ptr] |
Return Type of auto_ptr::operator= |
Yes |
|
2 |
NAD |
20.6.5.3 [auto.ptr.conv] |
Auto_ptr conversions effects incorrect |
Yes |
|
85 |
NAD |
21 [strings] |
String char types |
Yes |
|
4 |
NAD |
21.3 [basic.string] |
Basic_string size_type and difference_type should be implementation defined |
Yes |
|
104 |
NAD |
21.3.4 [string.capacity] |
Description of basic_string::operator[] is unclear |
Yes |
|
84 |
NAD |
21.3.5 [string.access] |
Ambiguity with string::insert() |
Yes |
|
88 |
NAD |
21.3.6.4 [string::insert] |
Inconsistency between string::insert() and string::append() |
Yes |
|
377 |
NAD |
21.3.6.4 [string::insert] |
basic_string::insert and length_error |
Yes |
|
368 |
NAD |
21.3.6.6 [string::replace] |
basic_string::replace has two "Throws" paragraphs |
Yes |
|
330 |
NAD |
22.1.1 [locale] |
Misleading "exposition only" value in class locale definition |
Yes |
|
121 |
NAD |
22.1.1.1.1 [locale.category] |
Detailed definition for ctype<wchar_t> specialization |
Yes |
|
452 |
NAD |
22.1.1.3 [locale.members] |
locale::combine should be permitted to generate a named locale |
Yes |
|
439 |
NAD |
22.2 [locale.categories] |
Should facets be copyable? |
Yes |
|
356 |
NAD |
22.2.1 [category.ctype] |
Meaning of ctype_base::mask enumerators |
Yes |
|
302 |
NAD |
22.2.1.5 [locale.codecvt.byname] |
Need error indication from codecvt<>::do_length |
Yes |
|
500 |
NAD |
22.2.1.5 [locale.codecvt.byname] |
do_length cannot be implemented correctly |
Yes |
|
344 |
NAD |
22.2.2 [category.numeric] |
grouping + showbase |
Yes |
|
361 |
NAD |
22.2.2.2.2 [facet.num.put.virtuals] |
num_get<>::do_get (..., void*&) checks grouping |
Yes |
|
374 |
NAD |
22.2.6.3.1 [locale.moneypunct.members] |
moneypunct::frac_digits returns int not unsigned |
Yes |
|
326 |
NAD |
22.2.6.4 [locale.moneypunct.byname] |
Missing typedef in moneypunct_byname |
Yes |
|
97 |
NAD |
23 [containers] |
Insert inconsistent definition |
Yes |
|
279 |
NAD |
23.1 [container.requirements] |
const and non-const iterators should have equivalent typedefs |
Yes |
|
82 |
NAD |
23.1.2 [associative.reqmts] |
Missing constant for set elements |
Yes |
|
192 |
NAD |
23.1.2 [associative.reqmts] |
a.insert(p,t) is inefficient and overconstrained |
Yes |
233 |
215 |
NAD |
23.1.2 [associative.reqmts] |
Can a map's key_type be const? |
Yes |
|
494 |
NAD |
23.1.2 [associative.reqmts] |
Wrong runtime complexity for associative container's insert and delete |
Yes |
|
131 |
NAD |
23.2.2.4 [deque.special] |
list::splice throws nothing |
Yes |
|
491 |
NAD |
23.2.2.4 [deque.special] |
std::list<>::unique incorrectly specified |
Yes |
|
101 |
NAD |
23.2.4 [container.adaptors] |
No way to free storage for vector and deque |
Yes |
|
304 |
NAD |
24.1 [iterator.requirements] |
Must *a return an lvalue when a is an input iterator? |
Yes |
|
392 |
NAD |
24.1.1 [input.iterators] |
'equivalence' for input iterators |
Yes |
|
493 |
NAD |
24.1.1 [input.iterators] |
Undefined Expression in Input Iterator Note Title |
Yes |
|
558 |
NAD |
24.1.1 [input.iterators] |
lib.input.iterators Defect |
Yes |
|
476 |
NAD |
24.1.3 [forward.iterators] |
Forward Iterator implied mutability |
Yes |
|
204 |
NAD |
24.3.4 [iterator.operations] |
distance(first, last) when "last" is before "first" |
Yes |
|
99 |
NAD |
24.4.1.3.13 [reverse.iter.op==] |
Reverse_iterator comparisons completely wrong |
Yes |
|
100 |
NAD |
24.4.2 [insert.iterators] |
Insert iterators/ostream_iterators overconstrained |
Yes |
|
245 |
NAD |
24.5.1 [istream.iterator] |
Which operations on istream_iterator trigger input operations? |
Yes |
|
244 |
NAD |
25.1.2 [alg.find] |
Must find's third argument be CopyConstructible? |
Yes |
|
293 |
NAD |
25.2.3 [alg.transform] |
Order of execution in transform algorithm |
Yes |
|
367 |
NAD |
25.2.7 [alg.remove] |
remove_copy/remove_copy_if and Input Iterators |
Yes |
|
489 |
NAD |
25.2.7 [alg.remove] |
std::remove / std::remove_if wrongly specified |
Yes |
|
481 |
NAD |
25.2.8 [alg.unique] |
unique's effects on the range [result, last) |
Yes |
|
490 |
NAD |
25.2.8 [alg.unique] |
std::unique wrongly specified |
Yes |
|
218 |
NAD |
25.3 [alg.sorting] |
Algorithms do not use binary predicate objects for default comparisons |
Yes |
|
499 |
NAD |
25.3.1.2 [stable.sort] |
Std. doesn't seem to require stable_sort() to be stable! |
Yes |
|
191 |
NAD |
25.3.3 [alg.binary.search] |
Unclear complexity for algorithms such as binary search |
Yes |
|
177 |
NAD |
26.3.6 [complex.ops] |
Complex operators cannot be explicitly instantiated |
Yes |
|
440 |
NAD |
26.3.8 [complex.transcendentals] |
Should std::complex use unqualified transcendentals? |
Yes |
|
506 |
NAD |
26.4 [rand] |
Requirements of Distribution parameter for variate_generator |
Yes |
|
504 |
NAD |
26.4.1 [rand.req] |
Integer types in pseudo-random number engine requirements |
Yes |
|
517 |
NAD |
26.4.1 [rand.req] |
Should include name in external representation |
Yes |
|
512 |
NAD |
26.4.3 [rand.eng] |
Seeding subtract_with_carry_01 from a single unsigned long |
Yes |
|
513 |
NAD |
26.4.3 [rand.eng] |
Size of state for subtract_with_carry_01 |
Yes |
|
516 |
NAD |
26.4.3 [rand.eng] |
Seeding subtract_with_carry_01 using a generator |
Yes |
|
514 |
NAD |
26.4.3.3 [rand.eng.sub] |
Size of state for subtract_with_carry |
Yes |
|
511 |
NAD |
26.4.8 [rand.dist] |
Input_type for binomial_distribution |
Yes |
|
549 |
NAD |
26.4.8 [rand.dist] |
Undefined variable in binomial_distribution |
Yes |
|
509 |
NAD |
26.4.8.1 [rand.dist.uni] |
Uniform_int template parameters |
Yes |
|
510 |
NAD |
26.4.8.2 [rand.dist.bern] |
Input_type for bernoulli_distribution |
Yes |
|
93 |
NAD |
26.5 [numarray] |
Incomplete Valarray Subset Definitions |
Yes |
|
107 |
NAD |
26.5.2 [template.valarray] |
Valarray constructor is strange |
Yes |
|
81 |
NAD |
26.5.5 [template.slice.array] |
Wrong declaration of slice operations |
Yes |
|
213 |
NAD |
26.7 [c.math] |
Math function overloads ambiguous |
Yes |
|
289 |
NAD |
26.7 [c.math] |
<cmath> requirements missing C float and long double versions |
Yes |
|
357 |
NAD |
26.7 [c.math] |
<cmath> float functions cannot return HUGE_VAL |
Yes |
|
366 |
NAD |
27 [input.output] |
Excessive const-qualification |
Yes |
|
178 |
NAD |
27.3.1 [narrow.stream.objects] |
Should clog and cerr initially be tied to cout? |
Yes |
|
287 |
NAD |
27.4.2.2 [fmtflags.state] |
conflicting ios_base fmtflags |
Yes |
|
6 |
NAD |
27.4.3 [fpos] |
File position not an offset unimplementable |
Yes |
|
332 |
NAD |
27.4.3 [fpos] |
Consider adding increment and decrement operators to std::fpos< T > |
Yes |
|
194 |
NAD |
27.4.4 [ios] |
rdbuf() functions poorly specified |
Yes |
|
145 |
NAD |
27.4.4.1 [basic.ios.cons] |
adjustfield lacks default value |
Yes |
|
113 |
NAD |
27.6.1.1 [istream] |
Missing/extra iostream sync semantics |
Yes |
|
203 |
NAD |
27.6.1.1.2 [istream::sentry] |
basic_istream::sentry::sentry() is uninstantiable with ctype<user-defined type> |
Yes |
|
58 |
NAD |
27.6.1.2.3 [istream::extractors] |
Extracting a char from a wide-oriented stream |
Yes |
|
399 |
NAD |
27.6.1.3 [istream.unformatted] |
volations of unformatted input function requirements |
Yes |
|
135 |
NAD |
27.6.1.5.1 [iostream.cons] |
basic_iostream doubly initialized |
Yes |
|
437 |
NAD |
27.6.2.5.2 [ostream.inserters.arithmetic] |
Formatted output of function pointers is confusing |
Yes |
|
45 |
NAD |
27.7.3 [ostringstream] |
Stringstreams read/write pointers initial position unclear |
Yes |
|
73 |
NAD |
27.8.1 [fstreams] |
is_open should be const |
Yes |
|
544 |
NAD |
C.2 [diff.library] |
minor NULL problems in C.2 |
Yes |
|
143 |
NAD |
D.5 [depr.c.headers] |
C .h header wording unclear |
Yes |
|
65 |
NAD |
D.7.1.3 [depr.strstreambuf.virtuals] |
Underspecification of strstreambuf::seekoff |
Yes |
|
267 |
NAD |
D.7.1.3 [depr.strstreambuf.virtuals] |
interaction of strstreambuf::overflow() and seekoff() |
Yes |
|
555 |
NAD |
TR1 8.21 [tr.c99.boolh] |
TR1, 8.21/1: typo |
Yes |
|
Issue |
Status |
Section |
Title |
Proposed Resolution |
Duplicates |
222 |
TC |
17.3.1.3 [structure.specifications] |
Are throw clauses necessary if a throw is already implied by the effects clause? |
Yes |
|
1 |
TC |
17.4.2.2 [using.linkage] |
C library linkage editing oversight |
Yes |
|
147 |
TC |
17.4.4.3 [global.functions] |
Library Intro refers to global functions that aren't global |
Yes |
|
119 |
TC |
17.4.4.8 [res.on.exception.handling] |
Should virtual functions be allowed to strengthen the exception specification? |
Yes |
|
3 |
TC |
18.4 [support.start.term] |
Atexit registration during atexit() call is not described |
Yes |
|
9 |
TC |
18.5.1 [new.delete] |
Operator new(0) calls should not yield the same pointer |
Yes |
|
114 |
TC |
18.5.1.3 [new.delete.placement] |
Placement forms example in error twice |
Yes |
196 |
108 |
TC |
18.6.1 [type.info] |
Lifetime of exception::what() return unspecified |
Yes |
|
70 |
TC |
18.7 [support.exception] |
Uncaught_exception() missing throw() specification |
Yes |
|
199 |
TC |
20.1.6 [allocator.requirements] |
What does allocate(0) return? |
Yes |
|
181 |
TC |
20.2.2 [pairs] |
make_pair() unintended behavior |
Yes |
|
127 |
TC |
20.6.5 [auto.ptr] |
auto_ptr<> conversion issues |
Yes |
|
7 |
TC |
21 [strings] |
String clause minor problems |
Yes |
|
57 |
TC |
21.1.3.2 [char.traits.specializations.wchar.t] |
Mistake in char_traits |
Yes |
|
42 |
TC |
21.3 [basic.string] |
String ctors specify wrong default allocator |
Yes |
|
83 |
TC |
21.3 [basic.string] |
String::npos vs. string::max_size() |
Yes |
89 |
209 |
TC |
21.3 [basic.string] |
basic_string declarations inconsistent |
Yes |
|
86 |
TC |
21.3.1 [string.require] |
String constructors don't describe exceptions |
Yes |
|
141 |
TC |
21.3.6.4 [string::insert] |
basic_string::find_last_of, find_last_not_of say pos instead of xpos |
Yes |
|
27 |
TC |
21.3.6.5 [string::erase] |
String::erase(range) yields wrong iterator |
Yes |
|
5 |
TC |
21.3.6.8 [string::swap] |
String::compare specification questionable |
Yes |
87 |
25 |
TC |
21.3.8.9 [string.io] |
String operator<< uses width() value wrong |
Yes |
67 |
90 |
TC |
21.3.8.9 [string.io] |
Incorrect description of operator >> for strings |
Yes |
|
211 |
TC |
21.3.8.9 [string.io] |
operator>>(istream&, string&) doesn't set failbit |
Yes |
|
31 |
TC |
22.1.1 [locale] |
Immutable locale values |
Yes |
378 |
37 |
TC |
22.1.1 [locale] |
Leftover "global" reference |
Yes |
|
137 |
TC |
22.1.1 [locale] |
Do use_facet and has_facet look in the global locale? |
Yes |
|
21 |
TC |
22.1.1.1.1 [locale.category] |
Codecvt_byname<> instantiations |
Yes |
|
30 |
TC |
22.1.1.1.1 [locale.category] |
Wrong header for LC_* |
Yes |
|
14 |
TC |
22.1.1.3 [locale.members] |
Locale::combine should be const |
Yes |
|
15 |
TC |
22.1.1.3 [locale.members] |
Locale::name requirement inconsistent |
Yes |
|
8 |
TC |
22.1.1.5 [locale.statics] |
Locale::global lacks guarantee |
Yes |
|
38 |
TC |
22.1.2 [locale.global.templates] |
Facet definition incomplete |
Yes |
|
126 |
TC |
22.2.1.1.2 [locale.ctype.virtuals] |
typos in Effects clause of ctype::do_narrow() |
Yes |
|
152 |
TC |
22.2.1.1.2 [locale.ctype.virtuals] |
Typo in scan_is() semantics |
Yes |
|
124 |
TC |
22.2.1.2 [locale.ctype.byname] |
ctype_byname<charT>::do_scan_is & do_scan_not return type should be const charT* |
Yes |
|
28 |
TC |
22.2.1.3.2 [facet.ctype.char.members] |
Ctype<char>is ambiguous |
Yes |
236 |
16 |
TC |
22.2.1.4 [locale.codecvt] |
Bad ctype_byname<char> decl |
Yes |
|
19 |
TC |
22.2.1.4 [locale.codecvt] |
"Noconv" definition too vague |
Yes |
10 |
24 |
TC |
22.2.1.4 [locale.codecvt] |
"do_convert" doesn't exist |
Yes |
72 |
33 |
TC |
22.2.1.4 [locale.codecvt] |
Codecvt<> mentions from_type |
Yes |
43 |
74 |
TC |
22.2.1.4 [locale.codecvt] |
Garbled text for codecvt::do_max_length |
Yes |
|
75 |
TC |
22.2.1.4 [locale.codecvt] |
Contradiction in codecvt::length's argument types |
Yes |
|
18 |
TC |
22.2.2.1.1 [facet.num.get.members] |
Get(...bool&) omitted |
Yes |
|
17 |
TC |
22.2.2.1.2 [facet.num.get.virtuals] |
Bad bool parsing |
Yes |
|
154 |
TC |
22.2.2.1.2 [facet.num.get.virtuals] |
Missing double specifier for do_get() |
Yes |
|
34 |
TC |
22.2.2.2.2 [facet.num.put.virtuals] |
True/falsename() not in ctype<> |
Yes |
|
20 |
TC |
22.2.3.1.2 [facet.numpunct.virtuals] |
Thousands_sep returns wrong type |
Yes |
|
71 |
TC |
22.2.5.1 [locale.time.get] |
Do_get_monthname synopsis missing argument |
Yes |
|
164 |
TC |
22.2.5.3.2 [locale.time.put.virtuals] |
do_put() has apparently unused fill argument |
Yes |
|
40 |
TC |
22.2.8 [facets.examples] |
Meaningless normative paragraph in examples |
Yes |
|
148 |
TC |
22.2.8 [facets.examples] |
Functions in the example facet BoolNames should be const |
Yes |
|
217 |
TC |
22.2.8 [facets.examples] |
Facets example (Classifying Japanese characters) contains errors |
Yes |
|
51 |
TC |
23.1 [container.requirements] |
Requirement to not invalidate iterators missing |
Yes |
|
139 |
TC |
23.1.1 [sequence.reqmts] |
Optional sequence operation table description unclear |
Yes |
|
151 |
TC |
23.1.1 [sequence.reqmts] |
Can't currently clear() empty container |
Yes |
|
224 |
TC |
23.1.2 [associative.reqmts] |
clear() complexity for associative containers refers to undefined N |
Yes |
|
144 |
TC |
23.2.1.1 [array.cons] |
Deque constructor complexity wrong |
Yes |
|
132 |
TC |
23.2.2.2 [deque.capacity] |
list::resize description uses random access iterators |
Yes |
|
69 |
TC |
23.2.4 [container.adaptors] |
Must elements of a vector be contiguous? |
Yes |
|
134 |
TC |
23.2.4.1 [queue] |
vector constructors over specified |
Yes |
|
133 |
TC |
23.3.1 [map] |
map missing get_allocator() |
Yes |
|
11 |
TC |
23.3.5 [template.bitset] |
Bitset minor problems |
Yes |
|
208 |
TC |
24.1 [iterator.requirements] |
Unnecessary restriction on past-the-end iterators |
Yes |
|
110 |
TC |
24.5.3 [istreambuf.iterator] |
istreambuf_iterator::equal not const |
Yes |
|
39 |
TC |
24.5.3.4 [istreambuf.iterator::op++] |
istreambuf_iterator<>::operator++(int) definition garbled |
Yes |
|
112 |
TC |
24.5.4.1 [ostreambuf.iter.cons] |
Minor typo in ostreambuf_iterator constructor |
Yes |
|
210 |
TC |
25 [algorithms] |
distance first and last confused |
Yes |
|
150 |
TC |
25.1.4 [alg.find.first.of] |
Find_first_of says integer instead of iterator |
Yes |
|
227 |
TC |
25.2.2 [alg.swap] |
std::swap() should require CopyConstructible or DefaultConstructible arguments |
Yes |
|
223 |
TC |
25.2.9 [alg.reverse] |
reverse algorithm should use iter_swap rather than swap |
Yes |
|
193 |
TC |
25.3.6 [alg.heap.operations] |
Heap operations description incorrect |
Yes |
216 |
212 |
TC |
25.3.7 [alg.min.max] |
Empty range behavior unclear for several algorithms |
Yes |
|
142 |
TC |
25.3.8 [alg.lex.comparison] |
lexicographical_compare complexity wrong |
Yes |
|
79 |
TC |
26.3.1 [complex.synopsis] |
Inconsistent declaration of polar() |
Yes |
|
80 |
TC |
26.3.1 [complex.synopsis] |
Global Operators of complex declared twice |
Yes |
|
146 |
TC |
26.3.6 [complex.ops] |
complex<T> Inserter and Extractor need sentries |
Yes |
|
125 |
TC |
26.5.2 [template.valarray] |
valarray<T>::operator!() return type is inconsistent |
Yes |
|
106 |
TC |
26.5.5 [template.slice.array] |
Numeric library private members are implementation defined |
Yes |
|
55 |
TC |
27 [input.output] |
Invalid stream position is undefined |
Yes |
|
155 |
TC |
27.3 [iostream.objects] |
Typo in naming the class defining the class Init |
Yes |
|
29 |
TC |
27.3.1 [narrow.stream.objects] |
Ios_base::init doesn't exist |
Yes |
|
35 |
TC |
27.4 [iostreams.base] |
No manipulator unitbuf in synopsis |
Yes |
|
41 |
TC |
27.4.2 [ios.base] |
Ios_base needs clear(), exceptions() |
Yes |
157 |
50 |
TC |
27.4.2 [ios.base] |
Copy constructor and assignment operator of ios_base |
Yes |
|
78 |
TC |
27.4.2 [ios.base] |
Typo: event_call_back |
Yes |
|
48 |
TC |
27.4.2.1.1 [ios::failure] |
Use of non-existent exception constructor |
Yes |
|
189 |
TC |
27.4.2.2 [fmtflags.state] |
setprecision() not specified correctly |
Yes |
|
47 |
TC |
27.4.2.3 [ios.base.locales] |
Imbue() and getloc() Returns clauses swapped |
Yes |
|
156 |
TC |
27.4.2.3 [ios.base.locales] |
Typo in imbue() description |
Yes |
|
36 |
TC |
27.4.2.5 [ios.base.storage] |
Iword & pword storage lifetime omitted |
Yes |
|
220 |
TC |
27.4.2.7 [ios.base.cons] |
~ios_base() usage valid? |
Yes |
|
52 |
TC |
27.4.3.2 [fpos.operations] |
Small I/O problems |
Yes |
|
53 |
TC |
27.4.4.1 [basic.ios.cons] |
Basic_ios destructor unspecified |
Yes |
|
56 |
TC |
27.5.2 [streambuf] |
Showmanyc's return type |
Yes |
|
122 |
TC |
27.5.2 [streambuf] |
streambuf/wstreambuf description should not say they are specializations |
Yes |
|
54 |
TC |
27.5.2.1 [streambuf.cons] |
Basic_streambuf's destructor |
Yes |
|
59 |
TC |
27.5.2.3.1 [streambuf.get.area] |
Ambiguity in specification of gbump |
Yes |
|
158 |
TC |
27.5.2.4.2 [streambuf.virt.buffer] |
Underspecified semantics for setbuf() |
Yes |
|
159 |
TC |
27.5.2.4.3 [streambuf.virt.get] |
Strange use of underflow() |
Yes |
|
32 |
TC |
27.5.2.4.4 [streambuf.virt.pback] |
Pbackfail description inconsistent |
Yes |
|
160 |
TC |
27.6.1.1 [istream] |
Typo: Use of non-existing function exception() |
Yes |
|
26 |
TC |
27.6.1.1.2 [istream::sentry] |
Bad sentry example |
Yes |
|
195 |
TC |
27.6.1.1.2 [istream::sentry] |
Should basic_istream::sentry's constructor ever set eofbit? |
Yes |
|
60 |
TC |
27.6.1.2.1 [istream.formatted.reqmts] |
What is a formatted input function? |
Yes |
162, 163, 166 |
161 |
TC |
27.6.1.2.2 [istream.formatted.arithmetic] |
Typo: istream_iterator vs. istreambuf_iterator |
Yes |
|
13 |
TC |
27.6.1.2.3 [istream::extractors] |
Eos refuses to die |
Yes |
|
64 |
TC |
27.6.1.2.3 [istream::extractors] |
Exception handling in basic_istream::operator>>(basic_streambuf*) |
Yes |
|
68 |
TC |
27.6.1.2.3 [istream::extractors] |
Extractors for char* should store null at end |
Yes |
|
61 |
TC |
27.6.1.3 [istream.unformatted] |
Ambiguity in iostreams exception policy |
Yes |
|
62 |
TC |
27.6.1.3 [istream.unformatted] |
Sync's return value |
Yes |
|
129 |
TC |
27.6.1.3 [istream.unformatted] |
Need error indication from seekp() and seekg() |
Yes |
|
172 |
TC |
27.6.1.3 [istream.unformatted] |
Inconsistent types for basic_istream::ignore() |
Yes |
|
63 |
TC |
27.6.2.6 [ostream.unformatted] |
Exception-handling policy for unformatted output |
Yes |
|
168 |
TC |
27.6.2.6 [ostream.unformatted] |
Typo: formatted vs. unformatted |
Yes |
|
169 |
TC |
27.7.1.3 [stringbuf.virtuals] |
Bad efficiency of overflow() mandated |
Yes |
|
170 |
TC |
27.7.4 [stringstream] |
Inconsistent definition of traits_type |
Yes |
|
173 |
TC |
27.8.1.4 [filebuf.virtuals] |
Inconsistent types for basic_filebuf::setbuf() |
Yes |
|
22 |
TC |
27.8.1.7 [ifstream.members] |
Member open vs. flags |
Yes |
|
174 |
TC |
D.6 [depr.ios.members] |
Typo: OFF_T vs. POS_T |
Yes |
|
175 |
TC |
D.6 [depr.ios.members] |
Ambiguity for basic_streambuf::pubseekpos() and a few other functions. |
Yes |
|
176 |
TC |
D.6 [depr.ios.members] |
exceptions() in ios_base...? |
Yes |
|
46 |
TC |
D.7 [depr.str.strstreams] |
Minor Annex D errors |
Yes |
|
66 |
TC |
D.7.1.3 [depr.strstreambuf.virtuals] |
Strstreambuf::setbuf |
Yes |
|
115 |
TC |
D.7.4.1 [depr.strstream.cons] |
Typo in strstream constructors |
Yes |
|
Issue |
Status |
Section |
Title |
Proposed Resolution |
Duplicates |
182 |
WP |
17 [library] |
Ambiguous references to size_t |
Yes |
|
230 |
WP |
17 [library] |
Assignable specified without also specifying CopyConstructible |
Yes |
|
336 |
WP |
17 [library] |
Clause 17 lack of references to deprecated headers |
Yes |
|
262 |
WP |
17.3.2.1.2 [bitmask.types] |
Bitmask operator ~ specified incorrectly |
Yes |
|
229 |
WP |
17.4.1.1 [contents] |
Unqualified references of other library entities |
Yes |
|
310 |
WP |
17.4.1.2 [headers] |
Is errno a macro? |
Yes |
|
465 |
WP |
17.4.1.2 [headers] |
Contents of <ciso646> |
Yes |
|
120 |
WP |
17.4.3.1 [reserved.names] |
Can an implementor add specializations? |
Yes |
|
226 |
WP |
17.4.3.1 [reserved.names] |
User supplied specializations or overloads of namespace std function templates |
Yes |
|
232 |
WP |
17.4.3.1 [reserved.names] |
"depends" poorly defined in 17.4.3.1 |
Yes |
|
294 |
WP |
17.4.3.1.1 [macro.names] |
User defined macros and standard headers |
Yes |
|
404 |
WP |
17.4.3.4 [replacement.functions] |
May a replacement allocation function be declared inline? |
Yes |
|
225 |
WP |
17.4.4.3 [global.functions] |
std:: algorithms use of other unqualified algorithms |
Yes |
|
306 |
WP |
18.1 [support.types] |
offsetof macro and non-POD types |
Yes |
|
449 |
WP |
18.1 [support.types] |
Library Issue 306 Goes Too Far |
Yes |
|
497 |
WP |
18.2.1.2 [numeric.limits.members] |
meaning of numeric_limits::traps for floating point types |
Yes |
|
184 |
WP |
18.2.1.5 [numeric.special] |
numeric_limits<bool> wording problems |
Yes |
|
319 |
WP |
18.5.1.1 [new.delete.single] |
Storage allocation wording confuses "Required behavior", "Requires" |
Yes |
|
298 |
WP |
18.5.1.2 [new.delete.array] |
::operator delete[] requirement incorrect/insufficient |
Yes |
|
266 |
WP |
18.7.2.1 [bad.exception] |
bad_exception::~bad_exception() missing Effects clause |
Yes |
|
288 |
WP |
19.3 [errno] |
<cerrno> requirements missing macro EILSEQ |
Yes |
|
312 |
WP |
20 [utilities] |
Table 27 is missing headers |
Yes |
|
274 |
WP |
20.1.6 [allocator.requirements] |
a missing/impossible allocator requirement |
Yes |
|
402 |
WP |
20.1.6 [allocator.requirements] |
wrong new expression in [some_]allocator::construct |
Yes |
|
265 |
WP |
20.2.2 [pairs] |
std::pair::pair() effects overly restrictive |
Yes |
|
185 |
WP |
20.5 [function.objects] |
Questionable use of term "inline" |
Yes |
|
521 |
WP |
20.5.5 [refwrap] |
Garbled requirements for argument_type in reference_wrapper |
Yes |
|
284 |
WP |
20.5.7 [comparisons] |
unportable example in 20.3.7, p6 |
Yes |
|
297 |
WP |
20.5.8 [logical.operations] |
const_mem_fun_t<>::argument_type should be const T* |
Yes |
|
520 |
WP |
20.5.10.1 [func.bind] |
Result_of and pointers to data members |
Yes |
|
234 |
WP |
20.6.1.1 [allocator.members] |
Typos in allocator definition |
Yes |
|
400 |
WP |
20.6.1.1 [allocator.members] |
redundant type cast in lib.allocator.members |
Yes |
|
425 |
WP |
20.6.3 [temporary.buffer] |
return value of std::get_temporary_buffer |
Yes |
|
541 |
WP |
20.6.6.2 [util.smartptr.shared] |
shared_ptr template assignment and void |
Yes |
|
540 |
WP |
20.6.6.2.5 [util.smartptr.shared.obs] |
shared_ptr<void>::operator*() |
Yes |
|
335 |
WP |
21.1.1 [char.traits.require] |
minor issue with char_traits, table 37 |
Yes |
|
352 |
WP |
21.1.2 [char.traits.typedefs] |
missing fpos requirements |
Yes |
|
467 |
WP |
21.1.3.1 [char.traits.specializations.char] |
char_traits::lt(), compare(), and memcmp() |
Yes |
|
263 |
WP |
21.3 [basic.string] |
Severe restriction on basic_string reference counting |
Yes |
|
530 |
WP |
21.3 [basic.string] |
Must elements of a string be contiguous? |
Yes |
|
301 |
WP |
21.3.1 [string.require] |
basic_string template ctor effects clause omits allocator argument |
Yes |
|
259 |
WP |
21.3.4 [string.capacity] |
basic_string::operator[] and const correctness |
Yes |
|
428 |
WP |
21.3.6.5 [string::erase] |
string::erase(iterator) validity |
Yes |
|
403 |
WP |
21.3.6.8 [string::swap] |
basic_string::swap should not throw exceptions |
Yes |
|
535 |
WP |
21.3.6.8 [string::swap] |
std::string::swap specification poorly worded |
Yes |
|
91 |
WP |
21.3.8.9 [string.io] |
Description of operator>> and getline() for string<> might cause endless loop |
Yes |
|
435 |
WP |
21.3.8.9 [string.io] |
bug in DR 25 |
Yes |
|
345 |
WP |
21.4 [c.strings] |
type tm in <cwchar> |
Yes |
|
317 |
WP |
22 [localization] |
Instantiation vs. specialization of facets |
Yes |
|
495 |
WP |
22 [localization] |
Clause 22 template parameter requirements |
Yes |
|
268 |
WP |
22.1.1 [locale] |
Typo in locale synopsis |
Yes |
|
360 |
WP |
22.1.1 [locale] |
locale mandates inefficient implementation |
Yes |
|
327 |
WP |
22.1.1.1.1 [locale.category] |
Typo in time_get facet in table 52 |
Yes |
447 |
340 |
WP |
22.1.1.1.1 [locale.category] |
interpretation of has_facet<Facet>(loc) |
Yes |
|
347 |
WP |
22.1.1.1.1 [locale.category] |
locale::category and bitmask requirements |
Yes |
|
436 |
WP |
22.1.1.1.2 [locale.facet] |
are cv-qualified facet types valid facets? |
Yes |
|
391 |
WP |
22.1.3.2 [conversions] |
non-member functions specified as const |
Yes |
|
228 |
WP |
22.2 [locale.categories] |
Incorrect specification of "..._byname" facets |
Yes |
|
338 |
WP |
22.2 [locale.categories] |
is whitespace allowed between `-' and a digit? |
Yes |
|
339 |
WP |
22.2.1 [category.ctype] |
definition of bitmask type restricted to clause 27 |
Yes |
|
379 |
WP |
22.2.1.1.2 [locale.ctype.virtuals] |
nonsensical ctype::do_widen() requirement |
Yes |
|
153 |
WP |
22.2.1.3.2 [facet.ctype.char.members] |
Typo in narrow() semantics |
Yes |
207 |
76 |
WP |
22.2.1.4 [locale.codecvt] |
Can a codecvt facet always convert one internal character at a time? |
Yes |
|
305 |
WP |
22.2.1.5 [locale.codecvt.byname] |
Default behavior of codecvt<wchar_t, char, mbstate_t>::length() |
Yes |
|
380 |
WP |
22.2.1.5 [locale.codecvt.byname] |
typos in codecvt tables 53 and 54 |
Yes |
|
381 |
WP |
22.2.1.5 [locale.codecvt.byname] |
detection of invalid mbstate_t in codecvt |
Yes |
|
275 |
WP |
22.2.2.1.1 [facet.num.get.members] |
Wrong type in num_get::get() overloads |
Yes |
|
221 |
WP |
22.2.2.1.2 [facet.num.get.virtuals] |
num_get<>::do_get stage 2 processing broken |
Yes |
|
321 |
WP |
22.2.2.1.2 [facet.num.get.virtuals] |
Typo in num_get |
Yes |
|
358 |
WP |
22.2.2.1.2 [facet.num.get.virtuals] |
interpreting thousands_sep after a decimal_point |
Yes |
|
359 |
WP |
22.2.2.2.1 [facet.num.put.members] |
num_put<>::do_put (..., bool) undocumented |
Yes |
|
231 |
WP |
22.2.2.2.2 [facet.num.put.virtuals] |
Precision in iostream? |
Yes |
|
282 |
WP |
22.2.2.2.2 [facet.num.put.virtuals] |
What types does numpunct grouping refer to? |
Yes |
|
318 |
WP |
22.2.3.2 [locale.numpunct.byname] |
Misleading comment in definition of numpunct_byname |
Yes |
|
248 |
WP |
22.2.5 [category.time] |
time_get fails to set eofbit |
Yes |
|
461 |
WP |
22.2.5.1.2 [locale.time.get.virtuals] |
time_get hard or impossible to implement |
Yes |
|
328 |
WP |
22.2.6.2.2 [locale.money.put.virtuals] |
Bad sprintf format modifier in money_put<>::do_put() |
Yes |
|
325 |
WP |
22.2.6.3.2 [locale.moneypunct.virtuals] |
Misleading text in moneypunct<>::do_grouping |
Yes |
|
179 |
WP |
23.1 [container.requirements] |
Comparison of const_iterators to iterators doesn't work |
Yes |
|
276 |
WP |
23.1 [container.requirements] |
Assignable requirement for container value type overly strict |
Yes |
|
322 |
WP |
23.1 [container.requirements] |
iterator and const_iterator should have the same value type |
Yes |
|
371 |
WP |
23.1 [container.requirements] |
Stability of multiset and multimap member functions |
Yes |
|
355 |
WP |
23.1.1 [sequence.reqmts] |
Operational semantics for a.back() |
Yes |
|
103 |
WP |
23.1.2 [associative.reqmts] |
set::iterator is required to be modifiable, but this allows modification of keys |
Yes |
|
264 |
WP |
23.1.2 [associative.reqmts] |
Associative container insert(i, j) complexity requirements are not feasible. |
Yes |
102 |
316 |
WP |
23.1.2 [associative.reqmts] |
Vague text in Table 69 |
Yes |
|
354 |
WP |
23.1.2 [associative.reqmts] |
Associative container lower/upper bound requirements |
Yes |
|
519 |
WP |
23.2.1 [array] |
Data() undocumented |
Yes |
|
237 |
WP |
23.2.2.1 [deque.cons] |
Undefined expression in complexity specification |
Yes |
|
320 |
WP |
23.2.2.1 [deque.cons] |
list::assign overspecified |
Yes |
|
250 |
WP |
23.2.2.4 [deque.special] |
splicing invalidates iterators |
Yes |
|
278 |
WP |
23.2.2.4 [deque.special] |
What does iterator validity mean? |
Yes |
|
300 |
WP |
23.2.2.4 [deque.special] |
list::merge() specification incomplete |
Yes |
|
315 |
WP |
23.2.2.4 [deque.special] |
Bad "range" in list::unique complexity |
Yes |
|
307 |
WP |
23.2.3 [list] |
Lack of reference typedefs in container adaptors |
Yes |
|
410 |
WP |
23.2.3.1 [list.cons] |
Missing semantics for stack and queue comparison operators |
Yes |
|
464 |
WP |
23.2.4 [container.adaptors] |
Suggestion for new member functions in standard containers |
Yes |
|
329 |
WP |
23.2.4.2 [priority.queue] |
vector capacity, reserve and reallocation |
Yes |
|
341 |
WP |
23.2.4.2 [priority.queue] |
Vector reallocation and swap |
Yes |
|
247 |
WP |
23.2.4.3 [stack] |
vector, deque::insert complexity |
Yes |
|
414 |
WP |
23.2.4.3 [stack] |
Which iterators are invalidated by v.erase()? |
Yes |
|
496 |
WP |
23.2.5 [vector] |
Illegal use of "T" in vector<bool> |
Yes |
|
334 |
WP |
23.3.1.2 [map.access] |
map::operator[] specification forces inefficient implementation |
Yes |
|
214 |
WP |
23.3.3 [set] |
set::find() missing const overload |
Yes |
450 |
186 |
WP |
23.3.5.2 [bitset.members] |
bitset::set() second parameter should be bool |
Yes |
|
303 |
WP |
23.3.5.3 [bitset.operators] |
Bitset input operator underspecified |
Yes |
|
198 |
WP |
24.1 [iterator.requirements] |
Validity of pointers and references unspecified after iterator destruction |
Yes |
|
346 |
WP |
24.1 [iterator.requirements] |
Some iterator member functions should be const |
Yes |
|
407 |
WP |
24.1 [iterator.requirements] |
Can singular iterators be destroyed? |
Yes |
|
98 |
WP |
24.1.1 [input.iterators] |
Input iterator requirements are badly written |
Yes |
|
324 |
WP |
24.1.2 [output.iterators] |
Do output iterators have value types? |
Yes |
|
200 |
WP |
24.1.3 [forward.iterators] |
Forward iterator requirements don't allow constant iterators |
Yes |
|
478 |
WP |
24.1.3 [forward.iterators] |
Should forward iterator requirements table have a line for r->m? |
Yes |
477 |
383 |
WP |
24.1.4 [bidirectional.iterators] |
Bidirectional iterator assertion typo |
Yes |
|
448 |
WP |
24.1.5 [random.access.iterators] |
Random Access Iterators over abstract classes |
Yes |
|
280 |
WP |
24.4.1 [reverse.iterators] |
Comparison of reverse_iterator to const reverse_iterator |
Yes |
|
235 |
WP |
24.4.1.1 [reverse.iterator] |
No specification of default ctor for reverse_iterator |
Yes |
|
260 |
WP |
24.5.1.2 [istream.iterator.ops] |
Inconsistent return type of istream_iterator::operator++(int) |
Yes |
|
261 |
WP |
24.5.1.2 [istream.iterator.ops] |
Missing description of istream_iterator::operator!= |
Yes |
|
349 |
WP |
24.5.2 [ostream.iterator] |
Minor typographical error in ostream_iterator |
Yes |
|
92 |
WP |
25 [algorithms] |
Incomplete Algorithm Requirements |
Yes |
|
475 |
WP |
25.1.1 [alg.foreach] |
May the function object passed to for_each modify the elements of the iterated sequence? |
Yes |
|
240 |
WP |
25.1.5 [alg.adjacent.find] |
Complexity of adjacent_find() is meaningless |
Yes |
|
426 |
WP |
25.1.9 [alg.search] |
search_n(), fill_n(), and generate_n() with negative n |
Yes |
|
187 |
WP |
25.2.2 [alg.swap] |
iter_swap underspecified |
Yes |
|
242 |
WP |
25.2.3 [alg.transform] |
Side effects of function objects |
Yes |
|
283 |
WP |
25.2.4 [alg.replace] |
std::replace() requirement incorrect/insufficient |
Yes |
483 |
337 |
WP |
25.2.4 [alg.replace] |
replace_copy_if's template parameter should be InputIterator |
Yes |
|
202 |
WP |
25.2.8 [alg.unique] |
unique() effects unclear when predicate not an equivalence relation |
Yes |
|
239 |
WP |
25.2.8 [alg.unique] |
Complexity of unique() and/or unique_copy incorrect |
Yes |
|
241 |
WP |
25.2.8 [alg.unique] |
Does unique_copy() require CopyConstructible and Assignable? |
Yes |
|
538 |
WP |
25.2.8 [alg.unique] |
241 again: Does unique_copy() require CopyConstructible and Assignable? |
Yes |
|
270 |
WP |
25.3.3 [alg.binary.search] |
Binary search requirements overly strict |
Yes |
472 |
384 |
WP |
25.3.3.3 [equal.range] |
equal_range has unimplementable runtime complexity |
Yes |
|
291 |
WP |
25.3.5 [alg.set.operations] |
Underspecification of set algorithms |
Yes |
|
411 |
WP |
25.3.5 [alg.set.operations] |
Wrong names of set member functions |
Yes |
|
281 |
WP |
25.3.7 [alg.min.max] |
std::min() and max() requirements overly restrictive |
Yes |
486 |
286 |
WP |
25.4 [alg.c.library] |
<cstdlib> requirements missing size_t typedef |
Yes |
|
405 |
WP |
25.4 [alg.c.library] |
qsort and POD |
Yes |
|
507 |
WP |
26.4 [rand] |
Missing requirement for variate_generator::operator() |
Yes |
|
505 |
WP |
26.4.1 [rand.req] |
Result_type in random distribution requirements |
Yes |
|
508 |
WP |
26.4.5 [rand.predef] |
Bad parameters for ranlux64_base_01 |
Yes |
|
389 |
WP |
26.5.2 [template.valarray] |
Const overload of valarray::operator[] returns by value |
Yes |
|
253 |
WP |
26.5.2.1 [valarray.cons] |
valarray helper functions are almost entirely useless |
Yes |
|
123 |
WP |
26.5.5.4 [slice.arr.fill] |
Should valarray helper arrays fill functions be const? |
Yes |
|
295 |
WP |
26.7 [c.math] |
Is abs defined in <cmath>? |
Yes |
|
395 |
WP |
26.7 [c.math] |
inconsistencies in the definitions of rand() and random_shuffle() |
Yes |
|
44 |
WP |
27 [input.output] |
Iostreams use operator== on int_type values |
Yes |
|
273 |
WP |
27 [input.output] |
Missing ios_base qualification on members of a dependent class |
Yes |
|
308 |
WP |
27 [input.output] |
Table 82 mentions unrelated headers |
Yes |
|
365 |
WP |
27 [input.output] |
Lack of const-qualification in clause 27 |
Yes |
|
369 |
WP |
27.3 [iostream.objects] |
io stream objects and static ctors |
Yes |
|
331 |
WP |
27.4.2.1.1 [ios::failure] |
bad declaration of destructor for ios_base::failure |
Yes |
|
363 |
WP |
27.4.2.1.1 [ios::failure] |
Missing exception specification in 27.4.2.1.1 |
Yes |
|
49 |
WP |
27.4.2.4 [ios.members.static] |
Underspecification of ios_base::sync_with_stdio |
Yes |
|
441 |
WP |
27.4.3 [fpos] |
Is fpos::state const? |
Yes |
|
256 |
WP |
27.4.4.2 [basic.ios.members] |
typo in 27.4.4.2, p17: copy_event does not exist |
Yes |
|
292 |
WP |
27.4.4.2 [basic.ios.members] |
effects of a.copyfmt (a) |
Yes |
|
272 |
WP |
27.4.4.3 [iostate.flags] |
Missing parentheses around subexpression |
Yes |
569 |
412 |
WP |
27.4.4.3 [iostate.flags] |
Typo in 27.4.4.3 |
Yes |
429 |
468 |
WP |
27.4.4.3 [iostate.flags] |
unexpected consequences of ios_base::operator void*() |
Yes |
|
364 |
WP |
27.5.2.4.2 [streambuf.virt.buffer] |
Inconsistent wording in 27.5.2.4.2 |
Yes |
|
373 |
WP |
27.6.1.2.1 [istream.formatted.reqmts] |
Are basic_istream and basic_ostream to use (exceptions()&badbit) != 0 ? |
Yes |
|
118 |
WP |
27.6.1.2.2 [istream.formatted.arithmetic] |
basic_istream uses nonexistent num_get member functions |
Yes |
|
136 |
WP |
27.6.1.3 [istream.unformatted] |
seekp, seekg setting wrong streams? |
Yes |
|
243 |
WP |
27.6.1.3 [istream.unformatted] |
get and getline when sentry reports failure |
Yes |
|
370 |
WP |
27.6.1.3 [istream.unformatted] |
Minor error in basic_istream::get |
Yes |
|
537 |
WP |
27.6.1.3 [istream.unformatted] |
Typos in the signatures in 27.6.1.3/42-43 and 27.6.2.4 |
Yes |
|
415 |
WP |
27.6.1.4 [istream.manip] |
behavior of std::ws |
Yes |
|
271 |
WP |
27.6.1.5 [iostreamclass] |
basic_iostream missing typedefs |
Yes |
|
165 |
WP |
27.6.2.1 [ostream] |
xsputn(), pubsync() never called by basic_ostream members? |
Yes |
|
311 |
WP |
27.6.2.1 [ostream] |
Incorrect wording in basic_ostream class synopsis |
Yes |
|
442 |
WP |
27.6.2.3 [ostream::sentry] |
sentry::operator bool() inconsistent signature |
Yes |
|
117 |
WP |
27.6.2.5.2 [ostream.inserters.arithmetic] |
basic_ostream uses nonexistent num_put member functions |
Yes |
|
167 |
WP |
27.6.2.5.4 [ostream.inserters.character] |
Improper use of traits_type::length() |
Yes |
|
474 |
WP |
27.6.2.5.4 [ostream.inserters.character] |
confusing Footnote 297 |
Yes |
|
333 |
WP |
27.6.2.7 [ostream.manip] |
does endl imply synchronization with the device? |
Yes |
|
183 |
WP |
27.6.3 [std.manip] |
I/O stream manipulators don't work for wide character streams |
Yes |
|
252 |
WP |
27.7 [string.streams] |
missing casts/C-style casts used in iostreams |
Yes |
|
251 |
WP |
27.7.1 [stringbuf] |
basic_stringbuf missing allocator_type |
Yes |
|
238 |
WP |
27.7.1.1 [stringbuf.cons] |
Contradictory results of stringbuf initialization. |
Yes |
|
375 |
WP |
27.7.1.3 [stringbuf.virtuals] |
basic_ios should be ios_base in 27.7.1.3 |
Yes |
|
376 |
WP |
27.7.1.3 [stringbuf.virtuals] |
basic_streambuf semantics |
Yes |
|
432 |
WP |
27.7.1.3 [stringbuf.virtuals] |
stringbuf::overflow() makes only one write position available |
Yes |
|
420 |
WP |
27.8.1 [fstreams] |
is std::FILE a complete type? |
Yes |
|
443 |
WP |
27.8.1.3 [filebuf.members] |
filebuf::close() inconsistent use of EOF |
Yes |
|
171 |
WP |
27.8.1.4 [filebuf.virtuals] |
Strange seekpos() semantics due to joint position |
Yes |
|
285 |
WP |
27.8.1.6 [ifstream.cons] |
minor editorial errors in fstream ctors |
Yes |
|
109 |
WP |
D.8 [depr.lib.binders] |
Missing binders for non-const sequence elements |
Yes |
|
362 |
WP |
D.8 [depr.lib.binders] |
bind1st/bind2nd type safety |
Yes |
|