| Issue |
Status |
Section |
Title |
Proposed Resolution |
Duplicates |
| 653 |
New |
1.2 [intro.refs] |
Library reserved names |
No |
|
| 663 |
New |
17.3.1.3 [structure.specifications] |
Complexity Requirements |
No |
|
| 657 |
New |
17.4.2.1 [using.headers] |
unclear requirement about header inclusion |
No |
|
| 627 |
New |
18.5.1.1 [new.delete.single] |
Low memory and exceptions |
No |
|
| 672 |
New |
20.1.1 [utility.arg.requirements] |
Swappable requirements need updating |
Yes |
|
| 635 |
New |
20.1.2 [allocator.requirements] |
domain of allocator::address |
Yes |
|
| 658 |
New |
20.5 [function.objects] |
Two unspecified function comparators in [function.objects] |
Yes |
|
| 660 |
New |
20.5 [function.objects] |
Missing Bitwise Operations |
Yes |
|
| 634 |
New |
20.6.1.1 [allocator.members] |
allocator.address() doesn't work for types overloading operator& |
Yes |
350 |
| 673 |
New |
20.6.5 [unique.ptr] |
unique_ptr update |
Yes |
|
| 674 |
New |
20.6.6.2 [util.smartptr.shared] |
shared_ptr interface changes for consistency with N1856 |
Yes |
|
| 585 |
New |
22.2 [locale.categories] |
facet error reporting |
Yes |
|
| 393 |
New |
22.2.1.4.2 [locale.codecvt.virtuals] |
do_in/do_out operation on state unclear |
Yes |
|
| 664 |
New |
22.2.1.4.2 [locale.codecvt.virtuals] |
do_unshift for codecvt<char, char, mbstate_t> |
No |
|
| 665 |
New |
22.2.1.4.2 [locale.codecvt.virtuals] |
do_unshift return value |
No |
|
| 662 |
New |
22.2.2.1.2 [facet.num.get.virtuals] |
Inconsistent handling of incorrectly-placed thousands separators |
Yes |
|
| 671 |
New |
22.2.2.2.2 [facet.num.put.virtuals] |
precision of hexfloat |
No |
|
| 667 |
New |
22.2.6.1.2 [locale.money.get.virtuals] |
money_get's widened minus sign |
No |
|
| 668 |
New |
22.2.6.1.2 [locale.money.get.virtuals] |
money_get's empty minus sign |
No |
|
| 669 |
New |
22.2.6.1.2 [locale.money.get.virtuals] |
Equivalent postive and negative signs in money_get |
No |
|
| 670 |
New |
22.2.6.3 [locale.moneypunct] |
money_base::pattern and space |
No |
|
| 666 |
New |
22.2.6.3.2 [locale.moneypunct.virtuals] |
moneypunct::do_curr_symbol() |
No |
|
| 632 |
New |
23.1 [container.requirements] |
Time complexity of size() for std::set |
No |
|
| 675 |
New |
23.1 [container.requirements] |
Move assignment 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 |
|
| 638 |
New |
23.2.2.3 [deque.modifiers] |
deque end invalidation during erase |
No |
|
| 676 |
New |
23.4 [unord] |
Moving the unordered containers |
Yes |
|
| 561 |
New |
24.4.2.6.5 [inserter] |
inserter overly generic |
Yes |
|
| 659 |
New |
24.5.3 [istreambuf.iterator] |
istreambuf_iterator should have an operator->() |
Yes |
|
| 631 |
New |
25 [algorithms] |
conflicting requirements for BinaryPredicate |
Yes |
|
| 552 |
New |
25.2.12 [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 |
|
| 629 |
New |
26.3.6 [complex.ops] |
complex insertion and locale dependence |
No |
|
| 546 |
New |
26.4.1 [rand.req] |
_Longlong and _ULonglong are integer types |
No |
|
| 654 |
New |
26.4.1.3 [rand.req.eng] |
Missing IO roundtrip for random number engines |
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 |
|
| 655 |
New |
26.4.7.2 [rand.util.canonical] |
Signature of generate_canonical not useful |
Yes |
|
| 621 |
New |
26.5 [numarray] |
non-const copy assignment operators of helper arrays |
Yes |
|
| 620 |
New |
26.5.2.1 [valarray.cons] |
valid uses of empty valarrays |
Yes |
|
| 630 |
New |
26.5.2.1 [valarray.cons] |
arrays of valarray |
Yes |
|
| 624 |
New |
26.5.2.2 [valarray.assign] |
valarray assignment and arrays of unequal length |
Yes |
|
| 636 |
New |
26.5.2.3 [valarray.access] |
26.5.2.3 valarray::operator[] |
No |
|
| 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 |
|
| 637 |
New |
26.7 [c.math] |
[c.math]/10 inconsistent return values |
Yes |
|
| 623 |
New |
27.1.1 [iostream.limits.imbue] |
pubimbue forbidden to call imbue |
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 |
|
| 661 |
New |
27.6.1.2.2 [istream.formatted.arithmetic] |
New 27.6.1.2.2 changes make special extractions useless |
Yes |
|
| 639 |
New |
27.6.1.2.3 [istream::extractors] |
Still problems with exceptions during streambuf IO |
Yes |
|
| 581 |
New |
27.6.2.7 [ostream.unformatted] |
flush() not unformatted function |
Yes |
|
| 562 |
New |
27.7 [string.streams] |
stringbuf ctor inefficient |
Yes |
|
| 563 |
New |
27.7.1.4 [stringbuf.virtuals] |
stringbuf seeking from end |
Yes |
|
| 564 |
New |
27.7.1.4 [stringbuf.virtuals] |
stringbuf seekpos underspecified |
Yes |
|
| 596 |
New |
27.8.1.4 [filebuf.members] |
27.8.1.3 Table 112 omits "a+" and "a+b" modes |
No |
|
| 592 |
New |
27.8.1.9 [ifstream.members] |
Incorrect treatment of rdbuf()->close() return type |
Yes |
|
| 642 |
New |
27.8.1.9 [ifstream.members] |
Invalidated fstream footnotes in N2134 |
Yes |
|
| 622 |
New |
27.8.1.17 [fstream.members] |
behavior of filebuf dtor and close on error |
Yes |
|
| 645 |
New |
28.10 [re.results] |
Missing members in match_results |
No |
|
| 647 |
New |
28.11.3 [re.alg.search] |
Inconsistent regex_search params |
Yes |
|
| 652 |
New |
28.12.1 [re.regiter] |
regex_iterator and const correctness |
Yes |
|
| 648 |
New |
28.12.1.1 [re.regiter.cnstr] |
regex_iterator c'tor needs clarification/editorial fix |
Yes |
|
| 650 |
New |
28.12.2 [re.tokiter] |
regex_token_iterator and const correctness |
Yes |
|
| 649 |
New |
28.12.2.1 [re.tokiter.cnstr] |
Several typos in regex_token_iterator constructors |
Yes |
|
| 651 |
New |
28.12.2.1 [re.tokiter.cnstr] |
Missing preconditions for regex_token_iterator c'tors |
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 |
|
| 625 |
Open |
17 [library] |
mixed up Effects and Returns clauses |
No |
|
| 424 |
Open |
17.3.1.1 [structure.summary] |
normative notes |
Yes |
|
| 626 |
Open |
17.3.1.3 [structure.specifications] |
new Remark clauses not documented |
No |
|
| 529 |
Open |
17.4.3.8 [res.on.required] |
The standard encourages redundant and confusing preconditions |
Yes |
|
| 612 |
Open |
18.2.1.2 [numeric.limits.members] |
numeric_limits::is_modulo insufficently defined |
Yes |
|
| 557 |
Open |
18.3 [cstdint] |
TR1: div(_Longlong, _Longlong) vs div(intmax_t, intmax_t) |
No |
|
| 471 |
Open |
18.6.1 [type.info] |
result of what() implementation-defined |
Yes |
|
| 401 |
Open |
20.1.2 [allocator.requirements] |
incorrect type casts in table 32 in lib.allocator.requirements |
Yes |
|
| 431 |
Open |
20.1.2 [allocator.requirements] |
Swapping containers with unequal allocators |
No |
|
| 580 |
Open |
20.1.2 [allocator.requirements] |
unused allocator members |
Yes |
479 |
| 522 |
Open |
20.3 [tuple] |
Tuple doesn't define swap |
No |
|
| 590 |
Open |
20.4 [meta] |
Type traits implementation latitude should be removed for C++0x |
Yes |
|
| 525 |
Open |
20.4.4 [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 |
|
| 582 |
Open |
20.6.4.1 [uninitialized.copy] |
specialized algorithms and volatile storage |
Yes |
|
| 343 |
Open |
21 [strings] |
Unspecified library header dependencies |
Yes |
|
| 570 |
Open |
21.1 [char.traits] |
Request adding additional explicit specializations of char_traits |
No |
|
| 614 |
Open |
21.3 [basic.string] |
std::string allocator requirements still inconsistent |
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 |
|
| 492 |
Open |
23 [containers] |
Invalid iterator arithmetic expressions |
Yes |
|
| 518 |
Open |
23.1.3 [unord.req] |
Are insert and erase stable for unordered_multiset and unordered_multimap? |
Yes |
|
| 96 |
Open |
23.2.5 [vector] |
Vector<bool> is not a container |
Yes |
|
| 396 |
Open |
23.3.5.1 [bitset.cons] |
what are characters zero and one |
Yes |
|
| 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.11 [alg.rotate] |
rotate throws away useful information |
Yes |
|
| 498 |
Open |
25.2.13 [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 |
|
| 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.3 [istream::sentry] |
istream extractors not setting failbit if eofbit is already set |
Yes |
|
| 342 |
Open |
27.6.1.3 [istream.unformatted] |
seek and eofbit |
Yes |
|
| 397 |
Open |
27.6.2.4 [ostream::sentry] |
ostream::sentry dtor throws exceptions |
No |
|
| 398 |
Open |
27.6.2.4 [ostream::sentry] |
effects of end-of-file on unformatted input functions |
No |
|
| 394 |
Open |
27.6.2.6.1 [ostream.formatted.reqmts] |
behavior of formatted output on failure |
No |
|
| 454 |
Open |
27.8.1.4 [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 |
| 385 |
NAD |
17 [library] |
Does call by value imply the CopyConstructible requirement? |
Yes |
|
| 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.2 [allocator.requirements] |
Way objects hold allocators unclear |
Yes |
|
| 197 |
NAD |
20.1.2 [allocator.requirements] |
max_size() underspecified |
Yes |
|
| 277 |
NAD |
20.1.2 [allocator.requirements] |
Normative encouragement in allocator requirements unclear |
Yes |
|
| 487 |
NAD |
20.1.2 [allocator.requirements] |
Allocator::construct is too limiting |
Yes |
|
| 560 |
NAD |
20.1.2 [allocator.requirements] |
User-defined allocators without default constructor |
Yes |
|
| 296 |
NAD |
20.2.3 [pairs] |
Missing descriptions and requirements of pair operators |
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 |
|
| 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 |
|
| 466 |
NAD |
21.3.1 [string.require] |
basic_string ctor should prevent null pointer error |
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 |
|
| 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 |
|
| 470 |
NAD |
23 [containers] |
accessing containers from their elements' special functions |
Yes |
|
| 279 |
NAD |
23.1 [container.requirements] |
const and non-const iterators should have equivalent typedefs |
Yes |
|
| 526 |
NAD |
23.1.1 [sequence.reqmts] |
Is it undefined if a function in the standard changes in parameters? |
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.3.4 [list.ops] |
list::splice throws nothing |
Yes |
|
| 491 |
NAD |
23.2.3.4 [list.ops] |
std::list<>::unique incorrectly specified |
Yes |
|
| 101 |
NAD |
23.2.5 [vector] |
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 |
|
| 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.4 [alg.transform] |
Order of execution in transform algorithm |
Yes |
|
| 367 |
NAD |
25.2.8 [alg.remove] |
remove_copy/remove_copy_if and Input Iterators |
Yes |
|
| 489 |
NAD |
25.2.8 [alg.remove] |
std::remove / std::remove_if wrongly specified |
Yes |
|
| 481 |
NAD |
25.2.9 [alg.unique] |
unique's effects on the range [result, last) |
Yes |
|
| 490 |
NAD |
25.2.9 [alg.unique] |
std::unique wrongly specified |
Yes |
|
| 218 |
NAD |
25.3 [alg.sorting] |
Algorithms do not use binary predicate objects for default comparisons |
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 |
|
| 547 |
NAD |
26.4 [rand] |
division should be floating-point, not integer |
Yes |
|
| 572 |
NAD |
26.4 [rand] |
Oops, we gave 507 WP status |
Yes |
|
| 517 |
NAD |
26.4.1 [rand.req] |
Should include name in external representation |
Yes |
|
| 515 |
NAD |
26.4.2 [rand.synopsis] |
Random number engine traits |
Yes |
|
| 511 |
NAD |
26.4.8 [rand.dist] |
Input_type for 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 |
|
| 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.3 [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.6.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 |
|
| 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 |
|
| 249 |
NAD |
D.9.1 [auto.ptr] |
Return Type of auto_ptr::operator= |
Yes |
|
| 463 |
NAD |
D.9.1 [auto.ptr] |
auto_ptr usability issues |
Yes |
|
| 2 |
NAD |
D.9.1.3 [auto.ptr.conv] |
Auto_ptr conversions effects incorrect |
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.2 [allocator.requirements] |
What does allocate(0) return? |
Yes |
|
| 181 |
TC |
20.2.3 [pairs] |
make_pair() unintended behavior |
Yes |
|
| 7 |
TC |
21 [strings] |
String clause minor problems |
Yes |
|
| 57 |
TC |
21.1.3.4 [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.2.1 [deque.cons] |
Deque constructor complexity wrong |
Yes |
|
| 132 |
TC |
23.2.3.2 [list.capacity] |
list::resize description uses random access iterators |
Yes |
|
| 69 |
TC |
23.2.5 [vector] |
Must elements of a vector be contiguous? |
Yes |
|
| 134 |
TC |
23.2.5.1 [vector.cons] |
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.3 [alg.swap] |
std::swap() should require CopyConstructible or DefaultConstructible arguments |
Yes |
|
| 223 |
TC |
25.2.10 [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.2 [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.3 [istream::sentry] |
Bad sentry example |
Yes |
|
| 195 |
TC |
27.6.1.1.3 [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.7 [ostream.unformatted] |
Exception-handling policy for unformatted output |
Yes |
|
| 168 |
TC |
27.6.2.7 [ostream.unformatted] |
Typo: formatted vs. unformatted |
Yes |
|
| 169 |
TC |
27.7.1.4 [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.5 [filebuf.virtuals] |
Inconsistent types for basic_filebuf::setbuf() |
Yes |
|
| 22 |
TC |
27.8.1.9 [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 |
|
| 127 |
TC |
D.9.1 [auto.ptr] |
auto_ptr<> conversion issues |
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 |
|
| 456 |
WP |
17.4.1.2 [headers] |
Traditional C header files are overspecified |
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 |
|
| 422 |
WP |
17.4.3.1 [reserved.names] |
explicit specializations of member functions of class templates |
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 |
|
| 611 |
WP |
17.4.3.6 [res.on.functions] |
Standard library templates and incomplete types |
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 |
|
| 201 |
WP |
18.2.1 [limits] |
Numeric limits terminology wrong |
Yes |
|
| 559 |
WP |
18.2.1 [limits] |
numeric_limits<const T> |
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 |
|
| 613 |
WP |
18.2.1.5 [numeric.special] |
max_digits10 missing from numeric_limits |
Yes |
|
| 416 |
WP |
18.2.2 [c.limits] |
definitions of XXX_MIN and XXX_MAX macros in climits |
Yes |
|
| 593 |
WP |
18.3 [cstdint] |
__STDC_CONSTANT_MACROS |
Yes |
|
| 206 |
WP |
18.5.1.1 [new.delete.single] |
operator new(size_t, nothrow) may become unlinked to ordinary operator new if ordinary version replaced |
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 |
|
| 619 |
WP |
18.8 [support.runtime] |
Longjmp wording problem |
Yes |
|
| 254 |
WP |
19.1 [std.exceptions] |
Exception types in clause 19 are constructed from std::string |
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.2 [allocator.requirements] |
a missing/impossible allocator requirement |
Yes |
|
| 402 |
WP |
20.1.2 [allocator.requirements] |
wrong new expression in [some_]allocator::construct |
Yes |
|
| 265 |
WP |
20.2.3 [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 |
|
| 610 |
WP |
20.5.14.2.1 [func.wrap.func.con] |
Suggested non-normative note for C++0x |
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 |
|
| 578 |
WP |
20.6.1.1 [allocator.members] |
purpose of hint to allocator::allocate() |
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 |
|
| 575 |
WP |
20.6.6.2.2 [util.smartptr.shared.dest] |
the specification of ~shared_ptr is MT-unfriendly, makes implementation assumptions |
Yes |
|
| 540 |
WP |
20.6.6.2.5 [util.smartptr.shared.obs] |
shared_ptr<void>::operator*() |
Yes |
|
| 542 |
WP |
20.6.6.2.5 [util.smartptr.shared.obs] |
shared_ptr observers |
Yes |
|
| 545 |
WP |
20.6.6.2.10 [util.smartptr.getdeleter] |
When is a deleter deleted? |
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 |
|
| 534 |
WP |
21.3 [basic.string] |
Missing basic_string members |
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 |
|
| 586 |
WP |
21.3.8.9 [string.io] |
string inserter not a formatted function |
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 |
|
| 616 |
WP |
22.2.1.2 [locale.ctype.byname] |
missing 'typename' in ctype_byname |
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 |
|
| 589 |
WP |
23.1 [container.requirements] |
Requirements on iterators of member template functions of containers |
Yes |
536 |
| 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 |
|
| 233 |
WP |
23.1.2 [associative.reqmts] |
Insertion hints in associative containers |
Yes |
192, 246 |
| 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 |
|
| 307 |
WP |
23.2.3 [list] |
Lack of reference typedefs in container adaptors |
Yes |
|
| 320 |
WP |
23.2.3.1 [list.cons] |
list::assign overspecified |
Yes |
|
| 410 |
WP |
23.2.3.1 [list.cons] |
Missing semantics for stack and queue comparison operators |
Yes |
|
| 250 |
WP |
23.2.3.4 [list.ops] |
splicing invalidates iterators |
Yes |
|
| 278 |
WP |
23.2.3.4 [list.ops] |
What does iterator validity mean? |
Yes |
|
| 300 |
WP |
23.2.3.4 [list.ops] |
list::merge() specification incomplete |
Yes |
|
| 315 |
WP |
23.2.3.4 [list.ops] |
Bad "range" in list::unique complexity |
Yes |
|
| 464 |
WP |
23.2.5 [vector] |
Suggestion for new member functions in standard containers |
Yes |
|
| 496 |
WP |
23.2.5 [vector] |
Illegal use of "T" in vector<bool> |
Yes |
|
| 329 |
WP |
23.2.5.2 [vector.capacity] |
vector capacity, reserve and reallocation |
Yes |
|
| 341 |
WP |
23.2.5.2 [vector.capacity] |
Vector reallocation and swap |
Yes |
|
| 247 |
WP |
23.2.5.4 [vector.modifiers] |
vector, deque::insert complexity |
Yes |
|
| 414 |
WP |
23.2.5.4 [vector.modifiers] |
Which iterators are invalidated by v.erase()? |
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 |
|
| 576 |
WP |
25.1.4 [alg.find.first.of] |
find_first_of is overconstrained |
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.3 [alg.swap] |
iter_swap underspecified |
Yes |
|
| 242 |
WP |
25.2.4 [alg.transform] |
Side effects of function objects |
Yes |
|
| 283 |
WP |
25.2.5 [alg.replace] |
std::replace() requirement incorrect/insufficient |
Yes |
483 |
| 337 |
WP |
25.2.5 [alg.replace] |
replace_copy_if's template parameter should be InputIterator |
Yes |
|
| 202 |
WP |
25.2.9 [alg.unique] |
unique() effects unclear when predicate not an equivalence relation |
Yes |
|
| 239 |
WP |
25.2.9 [alg.unique] |
Complexity of unique() and/or unique_copy incorrect |
Yes |
|
| 241 |
WP |
25.2.9 [alg.unique] |
Does unique_copy() require CopyConstructible and Assignable? |
Yes |
|
| 538 |
WP |
25.2.9 [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 |
|
| 609 |
WP |
26.4.4.2 [rand.adapt.ibits] |
missing static const |
Yes |
|
| 508 |
WP |
26.4.5 [rand.predef] |
Bad parameters for ranlux64_base_01 |
Yes |
|
| 253 |
WP |
26.5.2.1 [valarray.cons] |
valarray helper functions are almost entirely useless |
Yes |
|
| 389 |
WP |
26.5.2.3 [valarray.access] |
Const overload of valarray::operator[] returns by value |
Yes |
77 |
| 543 |
WP |
26.5.4 [class.slice] |
valarray slice default constructor |
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.4 [ostream::sentry] |
sentry::operator bool() inconsistent signature |
Yes |
|
| 117 |
WP |
27.6.2.6.2 [ostream.inserters.arithmetic] |
basic_ostream uses nonexistent num_put member functions |
Yes |
|
| 167 |
WP |
27.6.2.6.4 [ostream.inserters.character] |
Improper use of traits_type::length() |
Yes |
|
| 474 |
WP |
27.6.2.6.4 [ostream.inserters.character] |
confusing Footnote 297 |
Yes |
|
| 333 |
WP |
27.6.2.8 [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.4 [stringbuf.virtuals] |
basic_ios should be ios_base in 27.7.1.3 |
Yes |
|
| 376 |
WP |
27.7.1.4 [stringbuf.virtuals] |
basic_streambuf semantics |
Yes |
|
| 432 |
WP |
27.7.1.4 [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.4 [filebuf.members] |
filebuf::close() inconsistent use of EOF |
Yes |
|
| 171 |
WP |
27.8.1.5 [filebuf.virtuals] |
Strange seekpos() semantics due to joint position |
Yes |
|
| 285 |
WP |
27.8.1.7 [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 |
|