C++ Standard Library Issues List (Revision R55)

Table of Contents

Reference ISO/IEC IS 14882:1998(E)

This document is the Table of Contents for the Library Active Issues List, Library Defect Reports List, and Library Closed Issues List.

Index by Status

New (36 issues)

Issue Status Section Title Proposed Resolution Duplicates
804 New 19.4 [syserr] Some problems with classes error_code/error_condition Yes
805 New 19.4 [syserr] use strong using No
698 New 19.4.5.1 [syserr.syserr.overview] Some system_error issues No
752 New 20.1.2 [allocator.requirements] Allocator complexity requirement Yes
808 New 20.2.2 [forward] [forward] incorrect redundant specification Yes
811 New 20.2.3 [pairs] pair of pointers no longer works with literal 0 No
807 New 20.3.1.1 [tuple.cnstr] tuple construction should not fail unless its element's construction fails Yes
769 New 20.5.15.2 [func.wrap.func] std::function should use nullptr_t instead of "unspecified-null-pointer-type" Yes
806 New 20.6.5.2.5 [unique.ptr.single.modifiers] unique_ptr::reset effects incorrect, too permissive Yes
813 New 20.6.6.2 [util.smartptr.shared] "empty" undefined for shared_ptr No
772 New 21.4 [string.conversions] Impossible return clause in [string.conversions] Yes
721 New 22.1.3.2.2 [conversions.string] wstring_convert inconsistensies No
751 New 23.2.6 [vector.bool] change pass-by-reference members of vector<bool> to pass-by-value? No
765 New 24.1 [iterator.requirements] more on iterator validity No
788 New 24.5.1 [istream.iterator] ambiguity in [istream.iterator] Yes
714 New 25.1.9 [alg.search] search_n complexity is too lax Yes
809 New 25.2.3 [alg.swap] std::swap should be overloaded for array types Yes
779 New 25.2.8 [alg.remove] Resolution of #283 incomplete Yes
812 New 25.3.1 [alg.sort] unsolicited multithreading considered harmful? No
713 New 25.3.1.1 [sort] sort() complexity is too lax 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
802 New 26.4.5 [rand.predef] knuth_b returns wrong value Yes
794 New 26.4.8.5.2 [rand.dist.samp.pconst] piecewise_constant_distribution missing constructor No
696 New 27.6.1.2.2 [istream.formatted.arithmetic] istream::operator>>(int&) broken No
692 New 27.6.4 [ext.manip] get_money and put_money should be formatted I/O functions Yes
810 New 27.6.4 [ext.manip] Missing traits dependencies in operational semantics of extended manipulators Yes
723 New 28.8 [re.regex] basic_regex should be moveable Yes
726 New 28.11.4 [re.alg.replace] Missing regex_replace() overloads Yes
727 New 28.11.4 [re.alg.replace] regex_replace() doesn't accept basic_strings with custom traits and allocators Yes
716 New 28.13 [re.grammar] Production in [re.grammar] not actually modified Yes
786 New 31.10 [datetime.system] Thread library timed waits, UTC and monotonic clocks No
785 New TR1 5.1.4.5 [tr.rand.eng.disc] Random Number Requirements in TR1 No
701 New TR1 5.2.1.1 [tr.num.sf.Lnm] assoc laguerre poly's No
702 New TR1 5.2.1.2 [tr.num.sf.Plm] Restriction in associated Legendre functions No
568 New TR1 8.16.4 [tr.c99.cmath.over] log2 overloads missing Yes

Open (87 issues)

Issue Status Section Title Proposed Resolution Duplicates
724 Open 20.1.1 [utility.arg.requirements] DefaultConstructible is not defined Yes
742 Open 20.1.1 [utility.arg.requirements] Enabling swap for proxy iterators Yes
753 Open 20.1.1 [utility.arg.requirements] Move constructor in draft 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
522 Open 20.3 [tuple] Tuple doesn't define swap Yes
801 Open 20.3 [tuple] tuple and pair trivial members No
719 Open 20.4 [meta] std::is_literal type traits should be provided Yes
747 Open 20.4.4.3 [meta.unary.prop] We have 3 separate type traits to identify classes supporting no-throw operations No
750 Open 20.4.5 [meta.rel] The current definition for is_convertible requires that the type be implicitly convertible, so explicit constructors are ignored. No
688 Open 20.5.5.1 [refwrap.const] reference_wrapper, cref unsafe, allow binding to rvalues Yes
582 Open 20.6.4.1 [uninitialized.copy] specialized algorithms and volatile storage Yes
762 Open 20.6.5 [unique.ptr] std::unique_ptr requires complete type? 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
718 Open 21.3 [basic.string] basic_string is not a sequence Yes
708 Open 22 [localization] Locales need to be per thread and updated for POSIX changes 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
585 Open 22.2 [locale.categories] facet error reporting 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
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 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
671 Open 22.2.2.2.2 [facet.num.put.virtuals] precision of hexfloat No
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
670 Open 22.2.6.3 [locale.moneypunct] money_base::pattern and space No
180 Open 23 [containers] Container member iterator arguments constness has unintended consequences Yes
492 Open 23 [containers] Invalid iterator arithmetic expressions Yes
767 Open 23 [containers] Forwarding and backward compatibility Yes
774 Open 23 [containers] Member swap undefined for most containers No
632 Open 23.1 [container.requirements] Time complexity of size() for std::set No
675 Open 23.1 [container.requirements] Move assignment of containers Yes
704 Open 23.1 [container.requirements] MoveAssignable requirement for container value type overly strict No
760 Open 23.1 [container.requirements] The emplace issue Yes
588 Open 23.2.1 [array] requirements on zero sized tr1::arrays and other details No
617 Open 23.2.1 [array] std::array is a sequence that doesn't satisfy the sequence requirements? No
720 Open 23.2.1 [array] Omissions in constexpr usages Yes
756 Open 23.2.4 [container.adaptors] Container adaptors push 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
676 Open 23.4 [unord] Moving the unordered containers 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
659 Open 24.5.3 [istreambuf.iterator] istreambuf_iterator should have an operator->() Yes
631 Open 25 [algorithms] conflicting requirements for BinaryPredicate Yes
290 Open 25.1.1 [alg.foreach] Requirements to for_each and its function object No
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
190 Open 25.3.7 [alg.min.max] min() and max() functions should be std::binary_functions No
800 Open 26.4.7.1 [rand.util.seedseq] Issues in 26.4.7.1 [rand.util.seedseq](6) Yes
803 Open 26.4.7.1 [rand.util.seedseq] Simplification of seed_seq::seq_seq Yes
734 Open 26.4.8.4.3 [rand.dist.norm.chisq] Unnecessary restriction in [rand.dist.norm.chisq] Yes
793 Open 26.4.8.5.1 [rand.dist.samp.discrete] discrete_distribution missing constructor No
732 Open 26.4.8.5.3 [rand.dist.samp.genpdf] Defect in [rand.dist.samp.genpdf] Yes 795
630 Open 26.5.2.1 [valarray.cons] arrays of valarray Yes
430 Open 26.5.2.4 [valarray.sub] valarray subset operations Yes
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
573 Open 27.4.3 [fpos] C++0x file positioning should handle modern file sizes 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
565 Open 27.5.2.4.5 [streambuf.virt.put] xsputn inefficient 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
128 Open 27.7 [string.streams] Need open_mode() function for file stream, string streams, file buffers, and string  buffers Yes
564 Open 27.7.1.4 [stringbuf.virtuals] stringbuf seekpos underspecified Yes
454 Open 27.8.1.4 [filebuf.members] basic_filebuf::open should accept wchar_t names Yes 105
523 Open 28 [re] regex case-insensitive character ranges are unimplementable as specified No
463 Open D.9.1 [auto.ptr] auto_ptr usability issues Yes
546 Open TR1 5.1.1 [tr.rand.req] _Longlong and _ULonglong are integer types 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

Review (6 issues)

Issue Status Section Title Proposed Resolution Duplicates
711 Review 20.6.6.2.5 [util.smartptr.shared.obs] Contradiction in empty shared_ptr Yes
771 Review 21.4 [string.conversions] Impossible throws clause in [string.conversions] Yes
776 Review 23.2.1 [array] Undescribed assign function of std::array Yes
691 Review 23.4 [unord] const_local_iterator cbegin, cend missing from TR1 Yes
728 Review 26.4.3.2 [rand.eng.mers] Problem in [rand.eng.mers]/6 Yes
539 Review 26.6.3 [partial.sum] partial_sum and adjacent_difference should mention requirements Yes

Ready (38 issues)

Issue Status Section Title Proposed Resolution Duplicates
612 Ready 18.2.1.2 [numeric.limits.members] numeric_limits::is_modulo insufficiently defined Yes
471 Ready 18.6.1 [type.info] result of what() implementation-defined Yes
744 Ready 18.7.5 [propagation] What is the lifetime of an exception pointed to by an exception_ptr? Yes
746 Ready 18.7.5 [propagation] current_exception may fail with bad_alloc Yes
672 Ready 20.1.1 [utility.arg.requirements] Swappable requirements need updating Yes
775 Ready 20.3.1.3 [tuple.helper] Tuple indexing should be unsigned? Yes
749 Ready 20.4.4.3 [meta.unary.prop] Currently has_nothrow_copy_constructor<T>::value is true if T has 'a' nothrow copy constructor. Yes
770 Ready 20.5.15 [func.wrap] std::function should use rvalue swap Yes
673 Ready 20.6.5 [unique.ptr] unique_ptr update Yes
740 Ready 20.6.5.4 [unique.ptr.compiletime] Please remove *_ptr<T[N]> Yes
710 Ready 20.6.6.2 [util.smartptr.shared] Missing postconditions Yes
758 Ready 20.6.6.2 [util.smartptr.shared] shared_ptr and nullptr Yes
743 Ready 20.6.6.2.9 [util.smartptr.shared.spec] rvalue swap for shared_ptr Yes
759 Ready 23.1 [container.requirements] A reference is not an object Yes
766 Ready 23.1 [container.requirements] Inconsistent exception guarantees between ordered and unordered associative containers Yes
518 Ready 23.1.3 [unord.req] Are insert and erase stable for unordered_multiset and unordered_multimap? Yes
638 Ready 23.2.2.3 [deque.modifiers] deque end invalidation during erase Yes
755 Ready 23.2.5.2 [vector.capacity] std::vector and std:string lack explicit shrink-to-fit operations Yes
778 Ready 23.3.5.1 [bitset.cons] std::bitset does not have any constructor taking a string literal Yes 116
761 Ready 23.4.1.2 [unord.map.elem] unordered_map needs an at() member function Yes
685 Ready 24.4.1.3.19 [reverse.iter.opdiff] reverse_iterator/move_iterator difference has invalid signatures Yes
715 Ready 25.3.7 [alg.min.max] minmax_element complexity is too lax Yes
387 Ready 26.3 [complex.numbers] std::complex over-encapsulated Yes
629 Ready 26.3.6 [complex.ops] complex insertion and locale dependence Yes
595 Ready 26.3.7 [complex.value.ops] TR1/C++0x: fabs(complex<T>) redundant / wrongly specified Yes
781 Ready 26.3.7 [complex.value.ops] std::complex should add missing C99 functions Yes
789 Ready 26.4.4.4 [rand.adapt.xor] xor_combine_engine(result_type) should be explicit Yes
782 Ready 26.4.7.1 [rand.util.seedseq] Extended seed_seq constructor is useless Yes
792 Ready 26.4.8.5.2 [rand.dist.samp.pconst] piecewise_constant_distribution is undefined for a range with just one endpoint Yes
618 Ready 26.5.2.7 [valarray.members] valarray::cshift() effects on empty array Yes
550 Ready 26.7 [c.math] What should the return type of pow(float,int) be? Yes
722 Ready 26.7 [c.math] Missing [c.math] functions nanf and nanl Yes
574 Ready 27.3 [iostream.objects] DR 369 Contradicts Text Yes
596 Ready 27.8.1.4 [filebuf.members] 27.8.1.3 Table 112 omits "a+" and "a+b" modes Yes
768 Ready 29.4.3 [atomics.types.generic] Typos in [atomics]? Yes
777 Ready 29.4.4 [atomics.types.operations] Atomics Library Issue Yes
783 Ready 30.2.1.1 [thread.thread.id] thread::id reuse Yes
798 Ready D.8 [depr.lib.binders] Refactoring of binders lead to interface breakage Yes

DR (14 issues)

Issue Status Section Title Proposed Resolution Duplicates
533 DR 20.6.6.2.11 [util.smartptr.getdeleter] typo in 2.2.3.10/1 Yes
438 DR 23.1.1 [sequence.reqmts] Ambiguity in the "do the right thing" clause Yes
130 DR 23.1.2 [associative.reqmts] Return type of container::erase(iterator) differs for associative containers Yes 451
469 DR 23.2.5 [vector] vector<bool> ill-formed relational operators Yes
406 DR 23.2.5.4 [vector.modifiers] vector::insert(s) exception safety 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
445 DR 24.3.1 [iterator.traits] iterator_traits::reference unspecified for some iterator categories Yes
386 DR 24.4.1.3.11 [reverse.iter.op-=] Reverse iterator's operator[] has impossible return type Yes
455 DR 27.3 [iostream.objects] cerr::tie() and wcerr::tie() are overspecified Yes
413 DR 27.6.1.2.3 [istream::extractors] Proposed resolution to LDR#64 still wrong Yes
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
409 DR 27.8.1.9 [ifstream.members] Closing an fstream should clear error state Yes

Dup (34 issues)

Issue Status Section Title Proposed Resolution Duplicates
196 Dup 18.5.1.3 [new.delete.placement] Placement new example has alignment problems Yes 114
348 Dup 20.2.3 [pairs] Minor issue with std::pair operator< Yes 532
350 Dup 20.6.1.1 [allocator.members] allocator<>::address Yes 634
89 Dup 21.3.6.4 [string::insert] Missing throw specification for string::insert() and string::replace() Yes 83
87 Dup 21.3.6.8 [string::swap] Error in description of string::compare() Yes 5
67 Dup 21.3.8.9 [string.io] Setw useless for strings Yes 25
378 Dup 22.1.1 [locale] locale immutability and locale::operator=() Yes 31
447 Dup 22.1.1.1.1 [locale.category] Wrong template argument for time facets Yes 327
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
72 Dup 22.2.1.4 [locale.codecvt] Do_convert phantom member function Yes 24
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
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
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
450 Dup 23.3.3 [set] set::find is inconsistent with associative container requirements Yes 214
116 Dup 23.3.5 [template.bitset] bitset cannot be constructed with a const char* Yes 778
477 Dup 24.1.3 [forward.iterators] Operator-> for const forward iterators Yes 478
483 Dup 25.1 [alg.nonmodifying] Heterogeneous equality and EqualityComparable Yes 283
472 Dup 25.3.3.3 [equal.range] Missing "Returns" clause in std::equal_range Yes 270
486 Dup 25.3.7 [alg.min.max] min/max CopyConstructible requirement is too strict Yes 281
795 Dup 26.4.8.5.3 [rand.dist.samp.genpdf] general_pdf_distribution should be dropped Yes 732
77 Dup 26.5.2.3 [valarray.access] Valarray operator[] const returning value Yes 389
157 Dup 27.4.2.5 [ios.base.storage] Meaningless error handling for pword() and iword() Yes 41
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
162 Dup 27.6.1.2.3 [istream::extractors] Really "formatted input functions"? Yes 60
163 Dup 27.6.1.3 [istream.unformatted] Return of gcount() after a call to gcount Yes 60
166 Dup 27.6.2.6.3 [ostream.inserters] Really "formatted output functions"? Yes 60
216 Dup 27.6.3 [std.manip] setbase manipulator description flawed Yes 193
105 Dup 27.8 [file.streams] fstream ctors argument types desired Yes 454

NAD (136 issues)

Issue Status Section Title Proposed Resolution Duplicates
653 NAD 1.2 [intro.refs] Library reserved names Yes
462 NAD 3.6.3 [basic.start.term] Destroying objects with static storage duration Yes
385 NAD 17 [library] Does call by value imply the CopyConstructible requirement? Yes
663 NAD 17.3.1.3 [structure.specifications] Complexity Requirements Yes
657 NAD 17.4.2.1 [using.headers] unclear requirement about header inclusion 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
627 NAD 18.5.1.1 [new.delete.single] Low memory and exceptions 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
707 NAD 18.7.5 [propagation] null pointer constant for exception_ptr Yes
745 NAD 18.7.5 [propagation] copy_exception API slices. 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
748 NAD 20.4.4.3 [meta.unary.prop] The is_abstract type trait is defined by reference to 10.4. 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
686 NAD 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
741 NAD 20.6.6.2.11 [util.smartptr.getdeleter] Const-incorrect get_deleter function for shared_ptr 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
662 NAD 22.2.2.1.2 [facet.num.get.virtuals] Inconsistent handling of incorrectly-placed thousands separators 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
763 NAD 23.1.2 [associative.reqmts] Renaming emplace() overloads Yes
579 NAD 23.1.3 [unord.req] erase(iterator) for unordered containers should not return an iterator Yes
764 NAD 23.1.3 [unord.req] equal_range on unordered containers should return a pair of local_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
101 NAD 23.2.5 [vector] No way to free storage for vector and deque Yes
528 NAD 23.4 [unord] const_iterator iterator issue when they are the same type 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
388 NAD 26.3 [complex.numbers] Use of complex as a key in associative containers 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
729 NAD 26.4.1.3 [rand.req.eng] Problem in [rand.req.eng]/3 Yes
730 NAD 26.4.1.4 [rand.req.adapt] Comment on [rand.req.adapt]/3 e) Yes
733 NAD 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
799 NAD 26.4.3.2 [rand.eng.mers] [tr.rand.eng.mers] and [rand.eng.mers] Yes
790 NAD 26.4.4.4 [rand.adapt.xor] xor_combine::seed not specified Yes
796 NAD 26.4.5 [rand.predef] ranlux48_base returns wrong value Yes
797 NAD 26.4.5 [rand.predef] ranlux48 returns wrong value Yes
548 NAD 26.4.6 [rand.device] May random_device block? Yes
731 NAD 26.4.7.1 [rand.util.seedseq] proposal for a customizable seed_seq Yes
739 NAD 26.4.7.2 [rand.util.canonical] Defect in [rand.util.canonical]/3 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
773 NAD 26.4.8.1 [rand.dist.uni] issues with random Yes
510 NAD 26.4.8.2 [rand.dist.bern] Input_type for bernoulli_distribution Yes
735 NAD 26.4.8.2.2 [rand.dist.bern.bin] Unfortunate naming Yes
736 NAD 26.4.8.5.1 [rand.dist.samp.discrete] Comment on [rand.dist.samp.discrete] Yes
737 NAD 26.4.8.5.2 [rand.dist.samp.pconst] Comment on [rand.dist.samp.pconst] Yes
791 NAD 26.4.8.5.2 [rand.dist.samp.pconst] piecewise_constant_distribution::densities has wrong name Yes
93 NAD 26.5 [numarray] Incomplete Valarray Subset Definitions Yes
107 NAD 26.5.2 [template.valarray] Valarray constructor is strange Yes
188 NAD 26.5.2.6 [valarray.cassign] valarray helpers missing augmented assignment operators 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
323 NAD 26.7 [c.math] abs() overloads in different headers 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
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
639 NAD 27.6.1.2.3 [istream::extractors] Still problems with exceptions during streambuf IO 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
784 NAD 30.3.3.2.3 [thread.lock.unique.mod] unique_lock::release 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
2 NAD D.9.1.3 [auto.ptr.conv] Auto_ptr conversions effects incorrect Yes

NAD Editorial (40 issues)

Issue Status Section Title Proposed Resolution Duplicates
571 NAD Editorial 1.2 [intro.refs] Update C90 references to C99? Yes
626 NAD Editorial 17.3.1.3 [structure.specifications] new Remark clauses not documented Yes
529 NAD Editorial 17.4.3.8 [res.on.required] The standard encourages redundant and confusing preconditions Yes
591 NAD Editorial 18.2.1.2 [numeric.limits.members] Misleading "built-in Yes
553 NAD Editorial 18.3.1 [cstdint.syn] very minor editorial change intptr_t / uintptr_t Yes
697 NAD Editorial 19.4 [syserr] New <system_error> header leads to name clashes Yes
390 NAD Editorial 20.1.1 [utility.arg.requirements] CopyConstructible requirements too strict Yes
353 NAD Editorial 20.2.3 [pairs] std::pair missing template assignment Yes
482 NAD Editorial 20.2.3 [pairs] Swapping pairs 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
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
633 NAD Editorial 20.5.15.2.5 [func.wrap.func.targ] Return clause mentions undefined "type()" Yes
368 NAD Editorial 21.3.6.6 [string::replace] basic_string::replace has two "Throws" paragraphs Yes
615 NAD Editorial 21.5 [c.strings] Inconsistencies in Section 21.4 Yes
140 NAD Editorial 23.3.1 [map] map<Key, T>::value_type does not satisfy the assignable requirement Yes
558 NAD Editorial 24.1.1 [input.iterators] lib.input.iterators Defect Yes
499 NAD Editorial 25.3.1.2 [stable.sort] Std. doesn't seem to require stable_sort() to be stable! Yes
504 NAD Editorial 26.4.1 [rand.req] Integer types in pseudo-random number engine requirements 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
514 NAD Editorial 26.4.3.3 [rand.eng.sub] Size of state for subtract_with_carry Yes
549 NAD Editorial 26.4.8 [rand.dist] Undefined variable in binomial_distribution Yes
636 NAD Editorial 26.5.2.3 [valarray.access] 26.5.2.3 valarray::operator[] 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
641 NAD Editorial 27.6.4 [ext.manip] Editorial fix for 27.6.4 (N2134) Yes
642 NAD Editorial 27.8.1.9 [ifstream.members] Invalidated fstream footnotes in N2134 Yes
645 NAD Editorial 28.10 [re.results]