| Issue |
Status |
Section |
Title |
Proposed Resolution |
Duplicates |
| 625 |
Open |
17 [library] |
mixed up Effects and Returns clauses |
No |
|
| 385 |
NAD |
17 [library] |
Does call by value imply the CopyConstructible requirement? |
Yes |
|
| 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 |
|
| 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 |
|
| 663 |
NAD |
17.3.1.3 [structure.specifications] |
Complexity Requirements |
Yes |
|
| 222 |
TC |
17.3.1.3 [structure.specifications] |
Are throw clauses necessary if a throw is already implied by the effects clause? |
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 |
|
| 657 |
NAD |
17.4.2.1 [using.headers] |
unclear requirement about header inclusion |
Yes |
|
| 1 |
TC |
17.4.2.2 [using.linkage] |
C library linkage editing oversight |
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 |
|
| 529 |
Open |
17.4.3.8 [res.on.required] |
The standard encourages redundant and confusing preconditions |
Yes |
|
| 94 |
NAD |
17.4.4 [conforming] |
May library implementors add template parameters to Standard Library classes? |
Yes |
|
| 147 |
TC |
17.4.4.3 [global.functions] |
Library Intro refers to global functions that aren't global |
Yes |
|
| 225 |
WP |
17.4.4.3 [global.functions] |
std:: algorithms use of other unqualified algorithms |
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 |
|
| 119 |
TC |
17.4.4.8 [res.on.exception.handling] |
Should virtual functions be allowed to strengthen the exception specification? |
Yes |
|
| Issue |
Status |
Section |
Title |
Proposed Resolution |
Duplicates |
| 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 |
|
| 612 |
Open |
18.2.1.2 [numeric.limits.members] |
numeric_limits::is_modulo insufficently defined |
Yes |
|
| 205 |
NAD |
18.2.1.2 [numeric.limits.members] |
numeric_limits unclear on how to determine floating point types |
Yes |
|
| 591 |
NAD Editorial |
18.2.1.2 [numeric.limits.members] |
Misleading "built-in |
Yes |
|
| 497 |
WP |
18.2.1.2 [numeric.limits.members] |
meaning of numeric_limits::traps for floating point types |
Yes |
|
| 554 |
NAD |
18.2.1.5 [numeric.special] |
Problem with lwg DR 184 numeric_limits<bool> |
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 |
|
| 557 |
Open |
18.3 [cstdint] |
TR1: div(_Longlong, _Longlong) vs div(intmax_t, intmax_t) |
No |
|
| 593 |
WP |
18.3 [cstdint] |
__STDC_CONSTANT_MACROS |
Yes |
|
| 553 |
NAD Editorial |
18.3.1 [cstdint.syn] |
very minor editorial change intptr_t / uintptr_t |
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 |
|
| 627 |
Open |
18.5.1.1 [new.delete.single] |
Low memory and exceptions |
No |
|
| 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 |
|
| 196 |
Dup |
18.5.1.3 [new.delete.placement] |
Placement new example has alignment problems |
Yes |
114 |
| 114 |
TC |
18.5.1.3 [new.delete.placement] |
Placement forms example in error twice |
Yes |
196 |
| 471 |
Open |
18.6.1 [type.info] |
result of what() implementation-defined |
Yes |
|
| 108 |
TC |
18.6.1 [type.info] |
Lifetime of exception::what() return unspecified |
Yes |
|
| 269 |
NAD |
18.7 [support.exception] |
cstdarg and unnamed parameters |
Yes |
|
| 70 |
TC |
18.7 [support.exception] |
Uncaught_exception() missing throw() specification |
Yes |
|
| 266 |
WP |
18.7.2.1 [bad.exception] |
bad_exception::~bad_exception() missing Effects clause |
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 |
|
| 744 |
New |
18.7.5 [propagation] |
What is the lifetime of an exception pointed to by an exception_ptr? |
No |
|
| 745 |
New |
18.7.5 [propagation] |
copy_exception API slices. |
No |
|
| 746 |
New |
18.7.5 [propagation] |
current_exception may fail with bad_alloc |
Yes |
|
| 707 |
Open |
18.7.5 [propagation] |
null pointer constant for exception_ptr |
No |
|
| 619 |
WP |
18.8 [support.runtime] |
Longjmp wording problem |
Yes |
|
| Issue |
Status |
Section |
Title |
Proposed Resolution |
Duplicates |
| 312 |
WP |
20 [utilities] |
Table 27 is missing headers |
Yes |
|
| 724 |
New |
20.1.1 [utility.arg.requirements] |
DefaultConstructible is not defined |
Yes |
|
| 742 |
New |
20.1.1 [utility.arg.requirements] |
Enabling swap for proxy iterators |
Yes |
|
| 753 |
New |
20.1.1 [utility.arg.requirements] |
Move constructor in draft |
No |
|
| 672 |
Review |
20.1.1 [utility.arg.requirements] |
Swappable requirements need updating |
Yes |
|
| 390 |
NAD Future |
20.1.1 [utility.arg.requirements] |
CopyConstructible requirements too strict |
Yes |
|
| 594 |
Pending NAD Editorial |
20.1.1 [utility.arg.requirements] |
Disadvantages of defining Swappable in terms of CopyConstructible and Assignable |
Yes |
|
| 752 |
New |
20.1.2 [allocator.requirements] |
Allocator complexity requirement |
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 |
| 635 |
Open |
20.1.2 [allocator.requirements] |
domain of allocator::address |
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 |
|
| 199 |
TC |
20.1.2 [allocator.requirements] |
What does allocate(0) return? |
Yes |
|
| 258 |
WP |
20.1.2 [allocator.requirements] |
Missing allocator requirement |
Yes |
|
| 274 |
WP |
20.1.2 [allocator.requirements] |
a missing/impossible allocator requirement |
Yes |
|
| 401 |
WP |
20.1.2 [allocator.requirements] |
incorrect type casts in table 32 in lib.allocator.requirements |
Yes |
|
| 402 |
WP |
20.1.2 [allocator.requirements] |
wrong new expression in [some_]allocator::construct |
Yes |
|
| 700 |
Ready |
20.2.2 [forward] |
N1856 defines struct identity |
Yes |
|
| 706 |
Ready |
20.2.3 [pairs] |
make_pair() should behave as make_tuple() wrt. reference_wrapper() |
Yes |
|
| 348 |
Dup |
20.2.3 [pairs] |
Minor issue with std::pair operator< |
Yes |
532 |
| 296 |
NAD |
20.2.3 [pairs] |
Missing descriptions and requirements of pair operators |
Yes |
|
| 353 |
NAD Editorial |
20.2.3 [pairs] |
std::pair missing template assignment |
Yes |
|
| 482 |
NAD Editorial |
20.2.3 [pairs] |
Swapping pairs |
Yes |
|
| 181 |
TC |
20.2.3 [pairs] |
make_pair() unintended behavior |
Yes |
|
| 265 |
WP |
20.2.3 [pairs] |
std::pair::pair() effects overly restrictive |
Yes |
|
| 522 |
Open |
20.3 [tuple] |
Tuple doesn't define swap |
No |
|
| 775 |
New |
20.3.1.3 [tuple.helper] |
Tuple indexing should be unsigned? |
Yes |
|
| 532 |
Pending NAD Editorial |
20.3.1.5 [tuple.rel] |
Tuple comparison |
Yes |
348 |
| 719 |
New |
20.4 [meta] |
std::is_literal type traits should be provided |
Yes |
|
| 590 |
NAD Editorial |
20.4 [meta] |
Type traits implementation latitude should be removed for C++0x |
Yes |
|
| 525 |
NAD Editorial |
20.4.4 [meta.unary] |
type traits definitions not clear |
Yes |
|
| 747 |
New |
20.4.4.3 [meta.unary.prop] |
We have 3 separate type traits to identify classes supporting no-throw operations |
No |
|
| 748 |
New |
20.4.4.3 [meta.unary.prop] |
The is_abstract type trait is defined by reference to 10.4. |
No |
|
| 749 |
New |
20.4.4.3 [meta.unary.prop] |
Currently has_nothrow_copy_constructor<T>::value is true if T has 'a' nothrow copy constructor. |
No |
|
| 750 |
New |
20.4.5 [meta.rel] |
The current definition for is_convertible requires that the type be
implicitly convertible, so explicit constructors are ignored. |
No |
|
| 705 |
Ready |
20.4.7 [meta.trans.other] |
type-trait decay incompletely specified |
Yes |
|
| 351 |
NAD Editorial |
20.5 [function.objects] |
unary_negate and binary_negate: struct or class? |
Yes |
|
| 658 |
NAD Editorial |
20.5 [function.objects] |
Two unspecified function comparators in [function.objects] |
Yes |
|
| 185 |
WP |
20.5 [function.objects] |
Questionable use of term "inline" |
Yes |
|
| 660 |
WP |
20.5 [function.objects] |
Missing Bitwise Operations |
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 |
|
| 521 |
WP |
20.5.5 [refwrap] |
Garbled requirements for argument_type in reference_wrapper |
Yes |
|
| 688 |
Ready |
20.5.5.1 [refwrap.const] |
reference_wrapper, cref unsafe, allow binding to rvalues |
Yes |
|
| 689 |
Ready |
20.5.5.1 [refwrap.const] |
reference_wrapper constructor overly constrained |
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.11.1 [func.bind] |
Result_of and pointers to data members |
Yes |
|
| 527 |
Tentatively Ready |
20.5.11.1.3 [func.bind.bind] |
tr1::bind has lost its Throws clause |
Yes |
|
| 770 |
New |
20.5.15 [func.wrap] |
std::function should use rvalue swap |
Yes |
|
| 769 |
New |
20.5.15.2 [func.wrap.func] |
std::function should use nullptr_t instead of "unspecified-null-pointer-type" |
Yes |
|
| 610 |
WP |
20.5.15.2.1 [func.wrap.func.con] |
Suggested non-normative note for C++0x |
Yes |
|
| 633 |
NAD Editorial |
20.5.15.2.5 [func.wrap.func.targ] |
Return clause mentions undefined "type()" |
Yes |
|
| 350 |
Dup |
20.6.1.1 [allocator.members] |
allocator<>::address |
Yes |
634 |
| 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 |
|
| 634 |
WP |
20.6.1.1 [allocator.members] |
allocator.address() doesn't work for types overloading operator& |
Yes |
350 |
| 425 |
WP |
20.6.3 [temporary.buffer] |
return value of std::get_temporary_buffer |
Yes |
|
| 754 |
New |
20.6.4.1 [uninitialized.copy] |
Ambiguous return clause for std::uninitialized_copy |
Yes |
|
| 582 |
Open |
20.6.4.1 [uninitialized.copy] |
specialized algorithms and volatile storage |
Yes |
|
| 762 |
New |
20.6.5 [unique.ptr] |
std::unique_ptr requires complete type? |
Yes |
|
| 673 |
Open |
20.6.5 [unique.ptr] |
unique_ptr update |
Yes |
|
| 686 |
Open |
20.6.5.2.4 [unique.ptr.single.observers] |
Unique_ptr and shared_ptr fail to specify non-convertibility to int for unspecified-bool-type |
Yes |
|
| 740 |
New |
20.6.5.4 [unique.ptr.compiletime] |
Please remove *_ptr<T[N]> |
Yes |
|
| 710 |
New |
20.6.6.2 [util.smartptr.shared] |
Missing postconditions |
Yes |
|
| 758 |
New |
20.6.6.2 [util.smartptr.shared] |
shared_ptr and nullptr |
Yes |
|
| 674 |
Ready |
20.6.6.2 [util.smartptr.shared] |
shared_ptr interface changes for consistency with N1856 |
Yes |
|
| 541 |
WP |
20.6.6.2 [util.smartptr.shared] |
shared_ptr template assignment and void |
Yes |
|
| 687 |
Ready |
20.6.6.2.1 [util.smartptr.shared.const] |
shared_ptr conversion constructor not constrained |
Yes |
|
| 575 |
WP |
20.6.6.2.2 [util.smartptr.shared.dest] |
the specification of ~shared_ptr is MT-unfriendly, makes implementation assumptions |
Yes |
|
| 711 |
New |
20.6.6.2.5 [util.smartptr.shared.obs] |
Contradiction in empty shared_ptr |
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 |
|
| 743 |
New |
20.6.6.2.9 [util.smartptr.shared.spec] |
rvalue swap for shared_ptr |
Yes |
|
| 741 |
New |
20.6.6.2.11 [util.smartptr.getdeleter] |
Const-incorrect get_deleter function for shared_ptr |
No |
|
| 533 |
DR |
20.6.6.2.11 [util.smartptr.getdeleter] |
typo in 2.2.3.10/1 |
Yes |
|
| 545 |
WP |
20.6.6.2.11 [util.smartptr.getdeleter] |
When is a deleter deleted? |
Yes |
|
| Issue |
Status |
Section |
Title |
Proposed Resolution |
Duplicates |
| 343 |
Open |
21 [strings] |
Unspecified library header dependencies |
Yes |
|
| 85 |
NAD |
21 [strings] |
String char types |
Yes |
|
| 7 |
TC |
21 [strings] |
String clause minor problems |
Yes |
|
| 570 |
Open |
21.1 [char.traits] |
Request adding additional explicit specializations of char_traits |
No |
|
| 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 |
|
| 709 |
New |
21.1.3 [char.traits.specializations] |
char_traits::not_eof has wrong signature |
Yes |
|
| 467 |
WP |
21.1.3.1 [char.traits.specializations.char] |
char_traits::lt(), compare(), and memcmp() |
Yes |
|
| 57 |
TC |
21.1.3.4 [char.traits.specializations.wchar.t] |
Mistake in char_traits |
Yes |
|
| 718 |
New |
21.3 [basic.string] |
basic_string is not a sequence |
Yes |
|
| 614 |
Open |
21.3 [basic.string] |
std::string allocator requirements still inconsistent |
No |
|
| 4 |
NAD |
21.3 [basic.string] |
Basic_string size_type and difference_type should be implementation defined |
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 |
|
| 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 |
|
| 466 |
NAD |
21.3.1 [string.require] |
basic_string ctor should prevent null pointer error |
Yes |
|
| 86 |
TC |
21.3.1 [string.require] |
String constructors don't describe exceptions |
Yes |
|
| 301 |
WP |
21.3.1 [string.require] |
basic_string template ctor effects clause omits allocator argument |
Yes |
|
| 104 |
NAD |
21.3.4 [string.capacity] |
Description of basic_string::operator[] is unclear |
Yes |
|
| 259 |
WP |
21.3.4 [string.capacity] |
basic_string::operator[] and const correctness |
Yes |
|
| 84 |
NAD |
21.3.5 [string.access] |
Ambiguity with string::insert() |
Yes |
|
| 89 |
Dup |
21.3.6.4 [string::insert] |
Missing throw specification for string::insert() and string::replace() |
Yes |
83 |
| 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 |
|
| 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 |
|
| 428 |
WP |
21.3.6.5 [string::erase] |
string::erase(iterator) validity |
Yes |
|
| 368 |
NAD Editorial |
21.3.6.6 [string::replace] |
basic_string::replace has two "Throws" paragraphs |
Yes |
|
| 87 |
Dup |
21.3.6.8 [string::swap] |
Error in description of string::compare() |
Yes |
5 |
| 5 |
TC |
21.3.6.8 [string::swap] |
String::compare specification questionable |
Yes |
87 |
| 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 |
|
| 67 |
Dup |
21.3.8.9 [string.io] |
Setw useless for strings |
Yes |
25 |
| 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 |
|
| 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 |
|
| 771 |
New |
21.4 [string.conversions] |
Impossible throws clause in [string.conversions] |
Yes |
|
| 772 |
New |
21.4 [string.conversions] |
Impossible return clause in [string.conversions] |
Yes |
|
| 615 |
NAD Editorial |
21.5 [c.strings] |
Inconsistencies in Section 21.4 |
Yes |
|
| 345 |
WP |
21.5 [c.strings] |
type tm in <cwchar> |
Yes |
|
| Issue |
Status |
Section |
Title |
Proposed Resolution |
Duplicates |
| 708 |
Open |
22 [localization] |
Locales need to be per thread and updated for POSIX changes |
No |
|
| 317 |
WP |
22 [localization] |
Instantiation vs. specialization of facets |
Yes |
|
| 495 |
WP |
22 [localization] |
Clause 22 template parameter requirements |
Yes |
|
| 378 |
Dup |
22.1.1 [locale] |
locale immutability and locale::operator=() |
Yes |
31 |
| 330 |
NAD |
22.1.1 [locale] |
Misleading "exposition only" value in class locale definition |
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 |
|
| 268 |
WP |
22.1.1 [locale] |
Typo in locale synopsis |
Yes |
|
| 360 |
WP |
22.1.1 [locale] |
locale mandates inefficient implementation |
Yes |
|
| 502 |
Open |
22.1.1.1.1 [locale.category] |
Proposition: Clarification of the interaction between a facet and an iterator |
Yes |
|
| 447 |
Dup |
22.1.1.1.1 [locale.category] |
Wrong template argument for time facets |
Yes |
327 |
| 121 |
NAD |
22.1.1.1.1 [locale.category] |
Detailed definition for ctype<wchar_t> specialization |
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 |
|
| 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 |
|
| 452 |
NAD |
22.1.1.3 [locale.members] |
locale::combine should be permitted to generate a named locale |
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 |
|
| 391 |
WP |
22.1.3.2 [conversions] |
non-member functions specified as const |
Yes |
|
| 721 |
New |
22.1.3.2.2 [conversions.string] |
wstring_convert inconsistensies |
No |
|
| 503 |
Open |
22.2 [locale.categories] |
more on locales |
No |
|
| 585 |
Open |
22.2 [locale.categories] |
facet error reporting |
Yes |
|
| 439 |
NAD |
22.2 [locale.categories] |
Should facets be copyable? |
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 |
|
| 356 |
NAD |
22.2.1 [category.ctype] |
Meaning of ctype_base::mask enumerators |
Yes |
|
| 339 |
WP |
22.2.1 [category.ctype] |
definition of bitmask type restricted to clause 27 |
Yes |
|
| 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 |
|
| 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 |
|
| 379 |
WP |
22.2.1.1.2 [locale.ctype.virtuals] |
nonsensical ctype::do_widen() requirement |
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 |
|
| 616 |
WP |
22.2.1.2 [locale.ctype.byname] |
missing 'typename' in ctype_byname |
Yes |
|
| 695 |
Ready |
22.2.1.3 [facet.ctype.special] |
ctype<char>::classic_table() not accessible |
Yes |
|
| 207 |
Dup |
22.2.1.3.2 [facet.ctype.char.members] |
ctype<char> members return clause incomplete |
Yes |
153 |
| 236 |
Dup |
22.2.1.3.2 [facet.ctype.char.members] |
ctype<char>::is() member modifies facet |
Yes |
28 |
| 28 |
TC |
22.2.1.3.2 [facet.ctype.char.members] |
Ctype<char>is ambiguous |
Yes |
236 |
| 153 |
WP |
22.2.1.3.2 [facet.ctype.char.members] |
Typo in narrow() semantics |
Yes |
207 |
| 382 |
Open |
22.2.1.4 [locale.codecvt] |
codecvt do_in/out result |
No |
|
| 72 |
Dup |
22.2.1.4 [locale.codecvt] |
Do_convert phantom member function |
Yes |
24 |
| 138 |
NAD Future |
22.2.1.4 [locale.codecvt] |
Class ctype_byname<char> redundant and misleading |
Yes |
|
| 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 |
|
| 76 |
WP |
22.2.1.4 [locale.codecvt] |
Can a codecvt facet always convert one internal character at a time? |
Yes |
|
| 664 |
Ready |
22.2.1.4.2 [locale.codecvt.virtuals] |
do_unshift for codecvt<char, char, mbstate_t> |
Yes |
|
| 665 |
Ready |
22.2.1.4.2 [locale.codecvt.virtuals] |
do_unshift return value |
Yes |
|
| 393 |
Pending NAD Editorial |
22.2.1.4.2 [locale.codecvt.virtuals] |
do_in/do_out operation on state unclear |
Yes |
|
| 10 |
Dup |
22.2.1.5 [locale.codecvt.byname] |
Codecvt<>::do unclear |
Yes |
19 |
| 43 |
Dup |
22.2.1.5 [locale.codecvt.byname] |
Locale table correction |
Yes |
33 |
| 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 |
|
| 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 |
|
| 344 |
NAD |
22.2.2 [category.numeric] |
grouping + showbase |
Yes |
|
| 18 |
TC |
22.2.2.1.1 [facet.num.get.members] |
Get(...bool&) omitted |
Yes |
|
| 275 |
WP |
22.2.2.1.1 [facet.num.get.members] |
Wrong type in num_get::get() overloads |
Yes |
|
| 23 |
Open |
22.2.2.1.2 [facet.num.get.virtuals] |
Num_get overflow result |
Yes |
|
| 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 |
|
| 662 |
NAD |
22.2.2.1.2 [facet.num.get.virtuals] |
Inconsistent handling of incorrectly-placed thousands separators |
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 |
|
| 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 |
|
| 671 |
Open |
22.2.2.2.2 [facet.num.put.virtuals] |
precision of hexfloat |
No |
|
| 361 |
NAD |
22.2.2.2.2 [facet.num.put.virtuals] |
num_get<>::do_get (..., void*&) checks grouping |
Yes |
|
| 34 |
TC |
22.2.2.2.2 [facet.num.put.virtuals] |
True/falsename() not in ctype<> |
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 |
|
| 20 |
TC |
22.2.3.1.2 [facet.numpunct.virtuals] |
Thousands_sep returns wrong type |
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 |
|
| 71 |
TC |
22.2.5.1 [locale.time.get] |
Do_get_monthname synopsis missing argument |
Yes |
|
| 461 |
WP |
22.2.5.1.2 [locale.time.get.virtuals] |
time_get hard or impossible to implement |
Yes |
|
| 164 |
TC |
22.2.5.3.2 [locale.time.put.virtuals] |
do_put() has apparently unused fill argument |
Yes |
|
| 667 |
Open |
22.2.6.1.2 [locale.money.get.virtuals] |
money_get's widened minus sign |
No |
|
| 668 |
Open |
22.2.6.1.2 [locale.money.get.virtuals] |
money_get's empty minus sign |
No |
|
| 669 |
Open |
22.2.6.1.2 [locale.money.get.virtuals] |
Equivalent postive and negative signs in money_get |
No |
|
| 328 |
WP |
22.2.6.2.2 [locale.money.put.virtuals] |
Bad sprintf format modifier in money_put<>::do_put() |
Yes |
|
| 670 |
Open |
22.2.6.3 [locale.moneypunct] |
money_base::pattern and space |
No |
|
| 374 |
NAD |
22.2.6.3.1 [locale.moneypunct.members] |
moneypunct::frac_digits returns int not unsigned |
Yes |
|
| 666 |
Ready |
22.2.6.3.2 [locale.moneypunct.virtuals] |
moneypunct::do_curr_symbol() |
Yes |
|
| 325 |
WP |
22.2.6.3.2 [locale.moneypunct.virtuals] |
Misleading text in moneypunct<>::do_grouping |
Yes |
|
| 326 |
NAD |
22.2.6.4 [locale.moneypunct.byname] |
Missing typedef in moneypunct_byname |
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 |
|
| Issue |
Status |
Section |
Title |
Proposed Resolution |
Duplicates |
| 767 |
New |
23 [containers] |
Forwarding and backward compatibility |
Yes |
|
| 774 |
New |
23 [containers] |
Member swap undefined for most containers |
No |
|
| 492 |
Open |
23 [containers] |
Invalid iterator arithmetic expressions |
Yes |
|
| 97 |
NAD |
23 [containers] |
Insert inconsistent definition |
Yes |
|
| 470 |
NAD |
23 [containers] |
accessing containers from their elements' special functions |
Yes |
|
| 180 |
NAD Future |
23 [containers] |
Container member iterator arguments constness has unintended consequences |
Yes |
|
| 759 |
New |
23.1 [container.requirements] |
A reference is not an object |
Yes |
|
| 760 |
New |
23.1 [container.requirements] |
The emplace issue |
Yes |
|
| 766 |
New |
23.1 [container.requirements] |
Inconsistent exception guarantees between ordered and unordered associative containers |
Yes |
|
| 632 |
Open |
23.1 [container.requirements] |
Time complexity of size() for std::set |
No |
|
| 704 |
Open |
23.1 [container.requirements] |
MoveAssignable requirement for container value type overly strict |
No |
|
| 675 |
Ready |
23.1 [container.requirements] |
Move assignment of containers |
Yes |
|
| 479 |
Dup |
23.1 [container.requirements] |
Container requirements and placement new |
Yes |
580 |
| 536 |
Dup |
23.1 [container.requirements] |
Container iterator constructor and explicit convertibility |
Yes |
589 |
| 279 |
NAD |
23.1 [container.requirements] |
const and non-const iterators should have equivalent typedefs |
Yes |
|
| 51 |
TC |
23.1 [container.requirements] |
Requirement to not invalidate iterators missing |
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 |
| 725 |
New |
23.1.1 [sequence.reqmts] |
Optional sequence container requirements column label |
Yes |
|
| 438 |
DR |
23.1.1 [sequence.reqmts] |
Ambiguity in the "do the right thing" clause |
Yes |
|
| 526 |
NAD |
23.1.1 [sequence.reqmts] |
Is it undefined if a function in the standard changes in parameters? |
Yes |
|
| 149 |
NAD Future |
23.1.1 [sequence.reqmts] |
Insert should return iterator to first element inserted |
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 |
|
| 355 |
WP |
23.1.1 [sequence.reqmts] |
Operational semantics for a.back() |
Yes |
|
| 763 |
New |
23.1.2 [associative.reqmts] |
Renaming emplace() overloads |
Yes |
|
| 130 |
DR |
23.1.2 [associative.reqmts] |
Return type of container::erase(iterator) differs for associative containers |
Yes |
451 |
| 102 |
Dup |
23.1.2 [associative.reqmts] |
Bug in insert range in associative containers |
Yes |
264 |
| 246 |
Dup |
23.1.2 [associative.reqmts] |
a.insert(p,t) is incorrectly specified |
Yes |
233 |
| 451 |
Dup |
23.1.2 [associative.reqmts] |
Associative erase should return an iterator |
Yes |
130 |
| 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 |
|
| 224 |
TC |
23.1.2 [associative.reqmts] |
clear() complexity for associative containers refers to undefined N |
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 |
|
| 764 |
New |
23.1.3 [unord.req] |
equal_range on unordered containers should return a pair of local_iterators |
Yes |
|
| 579 |
Open |
23.1.3 [unord.req] |
erase(iterator) for unordered containers should not return an iterator |
Yes |
|
| 518 |
Review |
23.1.3 [unord.req] |
Are insert and erase stable for unordered_multiset and unordered_multimap? |
Yes |
|
| 679 |
Ready |
23.2 [sequences] |
resize parameter by value |
Yes |
|
| 617 |
New |
23.2.1 [array] |
std::array is a sequence that doesn't satisfy the sequence requirements? |
No |
|
| 720 |
New |
23.2.1 [array] |
Omissions in constexpr usages |
Yes |
|
| 776 |
New |
23.2.1 [array] |
Undescribed assign function of std::array |
Yes |
|
| 588 |
Open |
23.2.1 [array] |
requirements on zero sized tr1::arrays and other details |
No |
|
| 519 |
WP |
23.2.1 [array] |
Data() undocumented |
Yes |
|
| 144 |
TC |
23.2.2.1 [deque.cons] |
Deque constructor complexity wrong |
Yes |
|
| 237 |
WP |
23.2.2.1 [deque.cons] |
Undefined expression in complexity specification |
Yes |
|
| 638 |
Review |
23.2.2.3 [deque.modifiers] |
deque end invalidation during erase |
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 |
|
| 132 |
TC |
23.2.3.2 [list.capacity] |
list::resize description uses random access iterators |
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 |
|
| 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 |
|
| 756 |
New |
23.2.4 [container.adaptors] |
Container adaptors push |
Yes |
|
| 757 |
New |
23.2.5 [vector] |
Typo in the synopsis of vector |
Yes |
|
| 96 |
Open |
23.2.5 [vector] |
Vector<bool> is not a container |
Yes |
|
| 469 |
DR |
23.2.5 [vector] |
vector<bool> ill-formed relational operators |
Yes |
|
| 101 |
NAD |
23.2.5 [vector] |
No way to free storage for vector and deque |
Yes |
|
| 69 |
TC |
23.2.5 [vector] |
Must elements of a vector be contiguous? |
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 |
|
| 134 |
TC |
23.2.5.1 [vector.cons] |
vector constructors over specified |
Yes |
|
| 755 |
New |
23.2.5.2 [vector.capacity] |
std::vector and std:string lack explicit shrink-to-fit operations |
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 |
|
| 406 |
DR |
23.2.5.4 [vector.modifiers] |
vector::insert(s) exception safety |
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 |
|
| 751 |
New |
23.2.6 [vector.bool] |
change pass-by-reference members of vector<bool> to pass-by-value? |
No |
|
| 140 |
NAD Future |
23.3.1 [map] |
map<Key, T>::value_type does not satisfy the assignable requirement |
Yes |
|
| 133 |
TC |
23.3.1 [map] |
map missing get_allocator() |
Yes |
|
| 703 |
Ready |
23.3.1.2 [map.access] |
map::at() need a complexity specification |
Yes |
|
| 334 |
WP |
23.3.1.2 [map.access] |
map::operator[] specification forces inefficient implementation |
Yes |
|
| 450 |
Dup |
23.3.3 [set] |
set::find is inconsistent with associative container requirements |
Yes |
214 |
| 214 |
WP |
23.3.3 [set] |
set::find() missing const overload |
Yes |
450 |
| 693 |
Ready |
23.3.5 [template.bitset] |
std::bitset::all() missing |
Yes |
|
| 694 |
Ready |
23.3.5 [template.bitset] |
std::bitset and long long |
Yes |
|
| 116 |
NAD Future |
23.3.5 [template.bitset] |
bitset cannot be constructed with a const char* |
Yes |
|
| 11 |
TC |
23.3.5 [template.bitset] |
Bitset minor problems |
Yes |
|
| 778 |
New |
23.3.5.1 [bitset.cons] |
std::bitset does not have any constructor taking a string literal |
Yes |
|
| 396 |
Open |
23.3.5.1 [bitset.cons] |
what are characters zero and one |
Yes |
|
| 457 |
DR |
23.3.5.1 [bitset.cons] |
bitset constructor: incorrect number of initialized bits |
Yes |
|
| 434 |
DR |
23.3.5.2 [bitset.members] |
bitset::to_string() hard to use |
Yes |
|
| 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 |
|
| 676 |
Ready |
23.4 [unord] |
Moving the unordered containers |
Yes |
|
| 691 |
Review |
23.4 [unord] |
const_local_iterator cbegin, cend missing from TR1 |
Yes |
|
| 528 |
NAD |
23.4 [unord] |
const_iterator iterator issue when they are the same type |
Yes |
|
| 761 |
New |
23.4.1.2 [unord.map.elem] |
unordered_map needs an at() member function |
Yes |
|
| Issue |
Status |
Section |
Title |
Proposed Resolution |
Duplicates |
| 765 |
New |
24.1 [iterator.requirements] |
more on iterator validity |
No |
|
| 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 |
|
| 304 |
NAD |
24.1 [iterator.requirements] |
Must *a return an lvalue when a is an input iterator? |
Yes |
|
| 208 |
TC |
24.1 [iterator.requirements] |
Unnecessary restriction on past-the-end iterators |
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 |
|
| 484 |
Open |
24.1.1 [input.iterators] |
Convertible to T |
No |
|
| 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 Editorial |
24.1.1 [input.iterators] |
lib.input.iterators Defect |
Yes |
|
| 98 |
WP |
24.1.1 [input.iterators] |
Input iterator requirements are badly written |
Yes |
|
| 485 |
Open |
24.1.2 [output.iterators] |
output iterator insufficently constrained |
No |
|
| 324 |
WP |
24.1.2 [output.iterators] |
Do output iterators have value types? |
Yes |
|
| 477 |
Dup |
24.1.3 [forward.iterators] |
Operator-> for const forward iterators |
Yes |
478 |
| 476 |
NAD |
24.1.3 [forward.iterators] |
Forward Iterator implied mutability |
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 |
| 299 |
Open |
24.1.4 [bidirectional.iterators] |
Incorrect return types for iterator dereference |
Yes |
|
| 383 |
WP |
24.1.4 [bidirectional.iterators] |
Bidirectional iterator assertion typo |
Yes |
|
| 458 |
Open |
24.1.5 [random.access.iterators] |
24.1.5 contains unintented limitation for operator- |
Yes |
|
| 448 |
WP |
24.1.5 [random.access.iterators] |
Random Access Iterators over abstract classes |
Yes |
|
| 445 |
DR |
24.3.1 [iterator.traits] |
iterator_traits::reference unspecified for some iterator categories |
Yes |
|
| 204 |
NAD |
24.3.4 [iterator.operations] |
distance(first, last) when "last" is before "first" |
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 |
|
| 386 |
DR |
24.4.1.3.11 [reverse.iter.op-=] |
Reverse iterator's operator[] has impossible return type |
Yes |
|
| 99 |
NAD |
24.4.1.3.13 [reverse.iter.op==] |
Reverse_iterator comparisons completely wrong |
Yes |
|
| 685 |
Review |
24.4.1.3.19 [reverse.iter.opdiff] |
reverse_iterator/move_iterator difference has invalid signatures |
Yes |
|
| 100 |
NAD |
24.4.2 [insert.iterators] |
Insert iterators/ostream_iterators overconstrained |
Yes |
|
| 561 |
Ready |
24.4.2.6.5 [inserter] |
inserter overly generic |
Yes |
|
| 680 |
Ready |
24.4.3.1 [move.iterator] |
move_iterator operator-> return |
Yes |
|
| 245 |
NAD |
24.5.1 [istream.iterator] |
Which operations on istream_iterator trigger input operations? |
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 |
|
| 659 |
Open |
24.5.3 [istreambuf.iterator] |
istreambuf_iterator should have an operator->() |
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 |
|
| 111 |
NAD Future |
24.5.3.5 [istreambuf.iterator::equal] |
istreambuf_iterator::equal overspecified, inefficient |
Yes |
|
| 112 |
TC |
24.5.4.1 [ostreambuf.iter.cons] |
Minor typo in ostreambuf_iterator constructor |
Yes |
|
| Issue |
Status |
Section |
Title |
Proposed Resolution |
Duplicates |
| 631 |
Open |
25 [algorithms] |
conflicting requirements for BinaryPredicate |
Yes |
|
| 210 |
TC |
25 [algorithms] |
distance first and last confused |
Yes |
|
| 92 |
WP |
25 [algorithms] |
Incomplete Algorithm Requirements |
Yes |
|
| 483 |
Dup |
25.1 [alg.nonmodifying] |
Heterogeneous equality and EqualityComparable |
Yes |
283 |
| 290 |
Open |
25.1.1 [alg.foreach] |
Requirements to for_each and its function object |
No |
|
| 475 |
WP |
25.1.1 [alg.foreach] |
May the function object passed to for_each modify the elements of the iterated sequence? |
Yes |
|
| 244 |
NAD |
25.1.2 [alg.find] |
Must find's third argument be CopyConstructible? |
Yes |
|
| 219 |
NAD Future |
25.1.2 [alg.find] |
find algorithm missing version that takes a binary predicate argument |
Yes |
|
| 150 |
TC |
25.1.4 [alg.find.first.of] |
Find_first_of says integer instead of iterator |
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 |
|
| 714 |
New |
25.1.9 [alg.search] |
search_n complexity is too lax |
Yes |
|
| 426 |
WP |
25.1.9 [alg.search] |
search_n(), fill_n(), and generate_n() with negative n |
Yes |
|
| 227 |
TC |
25.2.3 [alg.swap] |
std::swap() should require CopyConstructible or DefaultConstructible arguments |
Yes |
|
| 187 |
WP |
25.2.3 [alg.swap] |
iter_swap underspecified |
Yes |
|
| 293 |
NAD |
25.2.4 [alg.transform] |
Order of execution in transform algorithm |
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 |
|
| 779 |
New |
25.2.8 [alg.remove] |
Resolution of #283 incomplete |
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 |
|
| 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 |
|
| 223 |
TC |
25.2.10 [alg.reverse] |
reverse algorithm should use iter_swap rather than swap |
Yes |
|
| 488 |
WP |
25.2.11 [alg.rotate] |
rotate throws away useful information |
Yes |
|
| 552 |
WP |
25.2.12 [alg.random.shuffle] |
random_shuffle and its generator |
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 |
|
| 218 |
NAD |
25.3 [alg.sorting] |
Algorithms do not use binary predicate objects for default comparisons |
Yes |
|
| 713 |
New |
25.3.1.1 [sort] |
sort() complexity is too lax |
Yes |
|
| 499 |
NAD Editorial |
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 |
|
| 270 |
WP |
25.3.3 [alg.binary.search] |
Binary search requirements overly strict |
Yes |
472 |
| 577 |
WP |
25.3.3.2 [upper.bound] |
upper_bound(first, last, ...) cannot return last |
Yes |
|
| 472 |
Dup |
25.3.3.3 [equal.range] |
Missing "Returns" clause in std::equal_range |
Yes |
270 |
| 384 |
WP |
25.3.3.3 [equal.range] |
equal_range has unimplementable runtime complexity |
Yes |
|
| 787 |
New |
25.3.3.4 [binary.search] |
complexity of binary_search |
Yes |
|
| 780 |
New |
25.3.4 [alg.merge] |
std::merge() specification incorrect/insufficient |
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 |
|
| 193 |
TC |
25.3.6 [alg.heap.operations] |
Heap operations description incorrect |
Yes |
216 |
| 715 |
New |
25.3.7 [alg.min.max] |
minmax_element complexity is too lax |
Yes |
|
| 486 |
Dup |
25.3.7 [alg.min.max] |
min/max CopyConstructible requirement is too strict |
Yes |
281 |
| 190 |
NAD Future |
25.3.7 [alg.min.max] |
min() and max() functions should be std::binary_functions |
Yes |
|
| 212 |
TC |
25.3.7 [alg.min.max] |
Empty range behavior unclear for several algorithms |
Yes |
|
| 281 |
WP |
25.3.7 [alg.min.max] |
std::min() and max() requirements overly restrictive |
Yes |
486 |
| 142 |
TC |
25.3.8 [alg.lex.comparison] |
lexicographical_compare complexity wrong |
Yes |
|
| 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 |
|
| Issue |
Status |
Section |
Title |
Proposed Resolution |
Duplicates |
| 387 |
Open |
26.3 [complex.numbers] |
std::complex over-encapsulated |
Yes |
|
| 388 |
Open |
26.3 [complex.numbers] |
Use of complex as a key in associative containers |
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 |
|
| 629 |
Open |
26.3.6 [complex.ops] |
complex insertion and locale dependence |
No |
|
| 177 |
NAD |
26.3.6 [complex.ops] |
Complex operators cannot be explicitly instantiated |
Yes |
|
| 146 |
TC |
26.3.6 [complex.ops] |
complex<T> Inserter and Extractor need sentries |
Yes |
|
| 781 |
New |
26.3.7 [complex.value.ops] |
std::complex should add missing C99 functions |
Yes |
|
| 595 |
Ready |
26.3.7 [complex.value.ops] |
TR1/C++0x: fabs(complex<T>) redundant / wrongly specified |
Yes |
|
| 440 |
NAD |
26.3.8 [complex.transcendentals] |
Should std::complex use unqualified transcendentals? |
Yes |
|
| 551 |
WP |
26.3.11 [cmplxh] |
<ccomplex> |
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 |
|
| 507 |
WP |
26.4 [rand] |
Missing requirement for variate_generator::operator() |
Yes |
|
| 699 |
WP |
26.4 [rand] |
N2111 changes min/max |
Yes |
|
| 517 |
NAD |
26.4.1 [rand.req] |
Should include name in external representation |
Yes |
|
| 504 |
NAD Editorial |
26.4.1 [rand.req] |
Integer types in pseudo-random number engine requirements |
Yes |
|
| 505 |
WP |
26.4.1 [rand.req] |
Result_type in random distribution requirements |
Yes |
|
| 729 |
New |
26.4.1.3 [rand.req.eng] |
Problem in [rand.req.eng]/3 |
Yes |
|
| 654 |
WP |
26.4.1.3 [rand.req.eng] |
Missing IO roundtrip for random number engines |
Yes |
|
| 678 |
WP |
26.4.1.3 [rand.req.eng] |
Changes for [rand.req.eng] |
Yes |
|
| 730 |
New |
26.4.1.4 [rand.req.adapt] |
Comment on [rand.req.adapt]/3 e) |
Yes |
|
| 733 |
New |
26.4.1.5 [rand.req.dist] |
Comment on [rand.req.dist]/9 |
Yes |
|
| 515 |
NAD |
26.4.2 [rand.synopsis] |
Random number engine traits |
Yes |
|
| 656 |
NAD Editorial |
26.4.2 [rand.synopsis] |
Typo in subtract_with_carry_engine declaration |
Yes |
|
| 512 |
NAD Editorial |
26.4.3 [rand.eng] |
Seeding subtract_with_carry_01 from a single unsigned long |
Yes |
|
| 513 |
NAD Editorial |
26.4.3 [rand.eng] |
Size of state for subtract_with_carry_01 |
Yes |
|
| 516 |
NAD Editorial |
26.4.3 [rand.eng] |
Seeding subtract_with_carry_01 using a generator |
Yes |
|
| 728 |
New |
26.4.3.2 [rand.eng.mers] |
Problem in [rand.eng.mers]/6 |
Yes |
|
| 514 |
NAD Editorial |
26.4.3.3 [rand.eng.sub] |
Size of state for subtract_with_carry |
Yes |
|
| 738 |
New |
26.4.4.1 [rand.adapt.disc] |
Editorial issue in [rand.adapt.disc]/3 |
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 |
|
| 548 |
NAD |
26.4.6 [rand.device] |
May random_device block? |
Yes |
|
| 731 |
New |
26.4.7.1 [rand.util.seedseq] |
proposal for a customizable seed_seq |
Yes |
|
| 782 |
New |
26.4.7.1 [rand.util.seedseq] |
Extended seed_seq constructor is useless |
Yes |
|
| 607 |
WP |
26.4.7.1 [rand.util.seedseq] |
Concern about short seed vectors |
Yes |
|
| 608 |
WP |
26.4.7.1 [rand.util.seedseq] |
Unclear seed_seq construction details |
Yes |
|
| 677 |
WP |
26.4.7.1 [rand.util.seedseq] |
Weaknesses in seed_seq::randomize [rand.util.seedseq] |
Yes |
|
| 712 |
WP |
26.4.7.1 [rand.util.seedseq] |
seed_seq::size no longer useful |
Yes |
|
| 739 |
New |
26.4.7.2 [rand.util.canonical] |
Defect in [rand.util.canonical]/3 |
Yes |
|
| 655 |
WP |
26.4.7.2 [rand.util.canonical] |
Signature of generate_canonical not useful |
Yes |
|
| 511 |
NAD |
26.4.8 [rand.dist] |
Input_type for binomial_distribution |
Yes |
|
| 549 |
NAD Editorial |
26.4.8 [rand.dist] |
Undefined variable in binomial_distribution |
Yes |
|
| 773 |
New |
26.4.8.1 [rand.dist.uni] |
issues with random |
No |
|
| 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 |
|
| 735 |
New |
26.4.8.2.2 [rand.dist.bern.bin] |
Unfortunate naming |
Yes |
|
| 734 |
New |
26.4.8.4.3 [rand.dist.norm.chisq] |
Unnecessary restriction in [rand.dist.norm.chisq] |
Yes |
|
| 736 |
New |
26.4.8.5.1 [rand.dist.samp.discrete] |
Comment on [rand.dist.samp.discrete] |
Yes |
|
| 737 |
New |
26.4.8.5.2 [rand.dist.samp.pconst] |
Comment on [rand.dist.samp.pconst] |
Yes |
|
| 732 |
New |
26.4.8.5.3 [rand.dist.samp.genpdf] |
Defect in [rand.dist.samp.genpdf] |
Yes |
|
| 621 |
Ready |
26.5 [numarray] |
non-const copy assignment operators of helper arrays |
Yes |
|
| 93 |
NAD |
26.5 [numarray] |
Incomplete Valarray Subset Definitions |
Yes |
|
| 107 |
NAD |
26.5.2 [template.valarray] |
Valarray constructor is strange |
Yes |
|
| 125 |
TC |
26.5.2 [template.valarray] |
valarray<T>::operator!() return type is inconsistent |
Yes |
|
| 630 |
Open |
26.5.2.1 [valarray.cons] |
arrays of valarray |
Yes |
|
| 620 |
Ready |
26.5.2.1 [valarray.cons] |
valid uses of empty valarrays |
Yes |
|
| 253 |
WP |
26.5.2.1 [valarray.cons] |
valarray helper functions are almost entirely useless |
Yes |
|
| 624 |
Ready |
26.5.2.2 [valarray.assign] |
valarray assignment and arrays of unequal length |
Yes |
|
| 717 |
New |
26.5.2.3 [valarray.access] |
Incomplete valarray::operator[] specification in [valarray.access] |
Yes |
|
| 77 |
Dup |
26.5.2.3 [valarray.access] |
Valarray operator[] const returning value |
Yes |
389 |
| 636 |
NAD Editorial |
26.5.2.3 [valarray.access] |
26.5.2.3 valarray::operator[] |
Yes |
|
| 389 |
WP |
26.5.2.3 [valarray.access] |
Const overload of valarray::operator[] returns by value |
Yes |
77 |
| 430 |
Open |
26.5.2.4 [valarray.sub] |
valarray subset operations |
No |
|
| 188 |
NAD Future |
26.5.2.6 [valarray.cassign] |
valarray helpers missing augmented assignment operators |
Yes |
|
| 618 |
Review |
26.5.2.7 [valarray.members] |
valarray::cshift() effects on empty array |
Yes |
|
| 543 |
WP |
26.5.4 [class.slice] |
valarray slice default constructor |
Yes |
|
| 81 |
NAD |
26.5.5 [template.slice.array] |
Wrong declaration of slice operations |
Yes |
|
| 106 |
TC |
26.5.5 [template.slice.array] |
Numeric library private members are implementation defined |
Yes |
|
| 123 |
WP |
26.5.5.3 [slice.arr.fill] |
Should valarray helper arrays fill functions be const? |
Yes |
|
| 539 |
Open |
26.6.3 [partial.sum] |
partial_sum and adjacent_difference should mention requirements |
No |
|
| 722 |
New |
26.7 [c.math] |
Missing [c.math] functions nanf and nanl |
Yes |
|
| 550 |
Open |
26.7 [c.math] |
What should the return type of pow(float,int) be? |
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 |
|
| 583 |
NAD |
26.7 [c.math] |
div() for unsigned integral types |
Yes |
|
| 584 |
NAD |
26.7 [c.math] |
missing int pow(int,int) functionality |
Yes |
|
| 357 |
NAD Editorial |
26.7 [c.math] |
<cmath> float functions cannot return HUGE_VAL |
Yes |
|
| 637 |
NAD Editorial |
26.7 [c.math] |
[c.math]/10 inconsistent return values |
Yes |
|
| 690 |
NAD Editorial |
26.7 [c.math] |
abs(long long) should return long long |
Yes |
|
| 323 |
NAD Future |
26.7 [c.math] |
abs() overloads in different headers |
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 |
|
| Issue |
Status |
Section |
Title |
Proposed Resolution |
Duplicates |
| 423 |
Open |
27 [input.output] |
effects of negative streamsize in iostreams |
Yes |
|
| 366 |
NAD |
27 [input.output] |
Excessive const-qualification |
Yes |
|
| 55 |
TC |
27 [input.output] |
Invalid stream position is undefined |
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 |
|
| 623 |
Ready |
27.1.1 [iostream.limits.imbue] |
pubimbue forbidden to call imbue |
Yes |
|
| 574 |
Review |
27.3 [iostream.objects] |
DR 369 Contradicts Text |
Yes |
|
| 455 |
DR |
27.3 [iostream.objects] |
cerr::tie() and wcerr::tie() are overspecified |
Yes |
|
| 155 |
TC |
27.3 [iostream.objects] |
Typo in naming the class defining the class Init |
Yes |
|
| 369 |
WP |
27.3 [iostream.objects] |
io stream objects and static ctors |
Yes |
|
| 178 |
NAD |
27.3.1 [narrow.stream.objects] |
Should clog and cerr initially be tied to cout? |
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 |
|
| 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 |
|
| 418 |
Open |
27.4.2.1.6 [ios::Init] |
exceptions thrown during iostream cleanup |
No |
|
| 287 |
NAD |
27.4.2.2 [fmtflags.state] |
conflicting ios_base fmtflags |
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 |
|
| 49 |
WP |
27.4.2.4 [ios.members.static] |
Underspecification of ios_base::sync_with_stdio |
Yes |
|
| 157 |
Dup |
27.4.2.5 [ios.base.storage] |
Meaningless error handling for pword() and iword() |
Yes |
41 |
| 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 |
|
| 573 |
Open |
27.4.3 [fpos] |
C++0x file positioning should handle modern file sizes |
No |
|
| 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 |
|
| 441 |
WP |
27.4.3 [fpos] |
Is fpos::state const? |
Yes |
|
| 52 |
TC |
27.4.3.2 [fpos.operations] |
Small I/O problems |
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 |
|
| 53 |
TC |
27.4.4.1 [basic.ios.cons] |
Basic_ios destructor unspecified |
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 |
|
| 429 |
Dup |
27.4.4.3 [iostate.flags] |
typo in basic_ios::clear(iostate) |
Yes |
412 |
| 569 |
Dup |
27.4.4.3 [iostate.flags] |
Postcondition for basic_ios::clear(iostate) incorrectly stated |
Yes |
272 |
| 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 |
|
| 255 |
Open |
27.5.2 [streambuf] |
Why do basic_streambuf<>::pbump() and gbump() take an int? |
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 |
|
| 421 |
Open |
27.5.2.1 [streambuf.cons] |
is basic_streambuf copy-constructible? |
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 |
|
| 364 |
WP |
27.5.2.4.2 [streambuf.virt.buffer] |
Inconsistent wording in 27.5.2.4.2 |
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 |
|
| 565 |
Open |
27.5.2.4.5 [streambuf.virt.put] |
xsputn inefficient |
Yes |
|
| 309 |
Open |
27.6 [iostream.format] |
Does sentry catch exceptions? |
No |
|
| 567 |
Ready |
27.6 [iostream.format] |
streambuf inserter and extractor should be unformatted |
Yes |
|
| 113 |
NAD |
27.6.1.1 [istream] |
Missing/extra iostream sync semantics |
Yes |
|
| 160 |
TC |
27.6.1.1 [istream] |
Typo: Use of non-existing function exception() |
Yes |
|
| 419 |
Open |
27.6.1.1.3 [istream::sentry] |
istream extractors not setting failbit if eofbit is already set |
Yes |
|
| 203 |
NAD |
27.6.1.1.3 [istream::sentry] |
basic_istream::sentry::sentry() is uninstantiable with ctype<user-defined type> |
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 |
| 373 |
WP |
27.6.1.2.1 [istream.formatted.reqmts] |
Are basic_istream and basic_ostream to use (exceptions()&badbit) != 0 ? |
Yes |
|
| 696 |
New |
27.6.1.2.2 [istream.formatted.arithmetic] |
istream::operator>>(int&) broken |
No |
|
| 661 |
Ready |
27.6.1.2.2 [istream.formatted.arithmetic] |
New 27.6.1.2.2 changes make special extractions useless |
Yes |
|
| 161 |
TC |
27.6.1.2.2 [istream.formatted.arithmetic] |
Typo: istream_iterator vs. istreambuf_iterator |
Yes |
|
| 118 |
WP |
27.6.1.2.2 [istream.formatted.arithmetic] |
basic_istream uses nonexistent num_get member functions |
Yes |
|
| 413 |
DR |
27.6.1.2.3 [istream::extractors] |
Proposed resolution to LDR#64 still wrong |
Yes |
|
| 162 |
Dup |
27.6.1.2.3 [istream::extractors] |
Really "formatted input functions"? |
Yes |
60 |
| 58 |
NAD |
27.6.1.2.3 [istream::extractors] |
Extracting a char from a wide-oriented stream |
Yes |
|
| 639 |
NAD |
27.6.1.2.3 [istream::extractors] |
Still problems with exceptions during streambuf IO |
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 |
|
| 342 |
Open |
27.6.1.3 [istream.unformatted] |
seek and eofbit |
Yes |
|
| 163 |
Dup |
27.6.1.3 [istream.unformatted] |
Return of gcount() after a call to gcount |
Yes |
60 |
| 399 |
NAD |
27.6.1.3 [istream.unformatted] |
volations of unformatted input function requirements |
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 |
|
| 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 |
|
| 531 |
WP |
27.6.1.3 [istream.unformatted] |
array forms of unformatted input functions |
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 |
|
| 566 |
WP |
27.6.1.3 [istream.unformatted] |
array forms of unformatted input function undefined for zero-element arrays |
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 |
|
| 135 |
NAD |
27.6.1.5.1 [iostream.cons] |
basic_iostream doubly initialized |
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 |
|
| 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 |
|
| 442 |
WP |
27.6.2.4 [ostream::sentry] |
sentry::operator bool() inconsistent signature |
Yes |
|
| 394 |
Open |
27.6.2.6.1 [ostream.formatted.reqmts] |
behavior of formatted output on failure |
No |
|
| 437 |
NAD |
27.6.2.6.2 [ostream.inserters.arithmetic] |
Formatted output of function pointers is confusing |
Yes |
|
| 117 |
WP |
27.6.2.6.2 [ostream.inserters.arithmetic] |
basic_ostream uses nonexistent num_put member functions |
Yes |
|
| 640 |
WP |
27.6.2.6.2 [ostream.inserters.arithmetic] |
27.6.2.5.2 does not handle (unsigned) long long |
Yes |
|
| 166 |
Dup |
27.6.2.6.3 [ostream.inserters] |
Really "formatted output functions"? |
Yes |
60 |
| 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 |
|
| 581 |
Ready |
27.6.2.7 [ostream.unformatted] |
flush() not unformatted function |
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 |
|
| 333 |
WP |
27.6.2.8 [ostream.manip] |
does endl imply synchronization with the device? |
Yes |
|
| 216 |
Dup |
27.6.3 [std.manip] |
setbase manipulator description flawed |
Yes |
193 |
| 183 |
WP |
27.6.3 [std.manip] |
I/O stream manipulators don't work for wide character streams |
Yes |
|
| 692 |
New |
27.6.4 [ext.manip] |
get_money and put_money should be formatted I/O functions |
Yes |
|
| 641 |
NAD Editorial |
27.6.4 [ext.manip] |
Editorial fix for 27.6.4 (N2134) |
Yes |
|
| 562 |
Ready |
27.7 [string.streams] |
stringbuf ctor inefficient |
Yes |
|
| 128 |
NAD Future |
27.7 [string.streams] |
Need open_mode() function for file stream, string streams, file buffers, and string buffers |
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 |
|
| 564 |
Open |
27.7.1.4 [stringbuf.virtuals] |
stringbuf seekpos underspecified |
Yes |
|
| 563 |
Ready |
27.7.1.4 [stringbuf.virtuals] |
stringbuf seeking from end |
Yes |
|
| 169 |
TC |
27.7.1.4 [stringbuf.virtuals] |
Bad efficiency of overflow() mandated |
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 |
|
| 453 |
WP |
27.7.1.4 [stringbuf.virtuals] |
basic_stringbuf::seekoff need not always fail for an empty stream |
Yes |
|
| 45 |
NAD |
27.7.3 [ostringstream] |
Stringstreams read/write pointers initial position unclear |
Yes |
|
| 170 |
TC |
27.7.4 [stringstream] |
Inconsistent definition of traits_type |
Yes |
|
| 105 |
Dup |
27.8 [file.streams] |
fstream ctors argument types desired |
Yes |
454 |
| 444 |
DR |
27.8.1 [fstreams] |
Bad use of casts in fstream |
Yes |
|
| 460 |
DR |
27.8.1 [fstreams] |
Default modes missing from basic_fstream member specifications |
Yes |
|
| 73 |
NAD |
27.8.1 [fstreams] |
is_open should be const |
Yes |
|
| 420 |
WP |
27.8.1 [fstreams] |
is std::FILE a complete type? |
Yes |
|
| 643 |
WP |
27.8.1.1 [filebuf] |
Impossible "as if" clauses |
Yes |
|
| 454 |
Open |
27.8.1.4 [filebuf.members] |
basic_filebuf::open should accept wchar_t names |
Yes |
105 |
| 596 |
Review |
27.8.1.4 [filebuf.members] |
27.8.1.3 Table 112 omits "a+" and "a+b" modes |
Yes |
|
| 443 |
WP |
27.8.1.4 [filebuf.members] |
filebuf::close() inconsistent use of EOF |
Yes |
|
| 173 |
TC |
27.8.1.5 [filebuf.virtuals] |
Inconsistent types for basic_filebuf::setbuf() |
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 |
|
| 409 |
DR |
27.8.1.9 [ifstream.members] |
Closing an fstream should clear error state |
Yes |
|
| 642 |
NAD Editorial |
27.8.1.9 [ifstream.members] |
Invalidated fstream footnotes in N2134 |
Yes |
|
| 592 |
Pending NAD Editorial |
27.8.1.9 [ifstream.members] |
Incorrect treatment of rdbuf()->close() return type |
Yes |
|
| 22 |
TC |
27.8.1.9 [ifstream.members] |
Member open vs. flags |
Yes |
|
| 622 |
Ready |
27.8.1.17 [fstream.members] |
behavior of filebuf dtor and close on error |
Yes |
|