C++ Standard Library Issues List (Revision R59)

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 (60 issues)

Issue Status Section Title Proposed Resolution Duplicates
873 New 3.9.1 [basic.fundamental] signed integral type and unsigned integral type are not clearly defined Yes
877 New 17 [library] to throw() or to Throw: Nothing. Yes
841 New 18.3.1 [cstdint.syn] cstdint.syn inconsistent with C99 Yes
820 New 18.7.5 [propagation] current_exception()'s interaction with throwing copy ctors Yes
819 New 18.7.6 [except.nested] rethrow_if_nested No
822 New 20.1.1 [utility.arg.requirements] Object with explicit copy constructor no longer CopyConstructible Yes
811 New 20.2.3 [pairs] pair of pointers no longer works with literal 0 No
849 New 20.5.7 [meta.trans.other] missing type traits to compute root class and derived class of types in a class hierachy Yes
856 New 20.5.7 [meta.trans.other] Removal of aligned_union Yes
816 New 20.6.11.1.3 [func.bind.bind] Should bind()'s returned functor have a nofail copy ctor when bind() is nofail? No
817 New 20.6.11.1.3 [func.bind.bind] bind needs to be moved No
843 New 20.6.17.1 [func.referenceclosure.cons] Reference Closure Yes
866 New 20.7.10 [specialized.algorithms] Qualification of placement new-expressions Yes
854 New 20.7.11.1.1 [unique.ptr.dltr.dflt] default_delete converting constructor underspecified Yes
821 New 20.7.11.3.3 [unique.ptr.runtime.modifiers] Minor cleanup : unique_ptr Yes
827 New 20.7.12.2.1 [util.smartptr.shared.const] constexpr shared_ptr::shared_ptr()? No
876 New 21.3 [basic.string] basic_string access operations should give stronger guarantees Yes
847 New 21.3.1 [string.require] string exception safety guarantees Yes
721 New 22.1.3.2.2 [conversions.string] wstring_convert inconsistensies No
836 New 22.2.6.1.2 [locale.money.get.virtuals] effects of money_base::space and money_base::none on money_get Yes 670
868 New 23 [containers] default construction and value-initialization Yes
861 New 23.1 [container.requirements] Incomplete specification of EqualityComparable for std::forward_list Yes
869 New 23.1.5 [unord.req] Bucket (local) iterators and iterating past end Yes
870 New 23.1.5 [unord.req] Do unordered containers not support function pointers for predicate/hasher? Yes
855 New 23.2.2.2 [deque.capacity] capacity() and reserve() for deque? Yes
878 New 23.2.3 [forwardlist] forward_list preconditions Yes
751 New 23.2.7 [vector.bool] change pass-by-reference members of vector<bool> to pass-by-value? No
814 New 23.2.7 [vector.bool] vector<bool>::swap(reference, reference) not defined No
853 New 23.3.5 [template.bitset] to_string needs updating with zero and one Yes
765 New 24.1 [iterator.requirements] more on iterator validity No
872 New 24.4.3.3.12 [move.iter.op.index] move_iterator::operator[] has wrong return type Yes
788 New 24.5.1 [istream.iterator] ambiguity in [istream.iterator] Yes
838 New 24.5.1 [istream.iterator] can an end-of-stream iterator become a non-end-of-stream one? Yes
865 New 25.2.6 [alg.fill] More algorithms that throw away information Yes
812 New 25.3.1 [alg.sort] unsolicited multithreading considered harmful? No
780 New 25.3.4 [alg.merge] std::merge() specification incorrect/insufficient Yes
862 New 25.3.5.1 [includes] Impossible complexity for 'includes' No
860 New 26 [numerics] Floating-Point State No
874 New 26.4.8.5.1 [rand.dist.samp.discrete] Missing initializer_list constructor for discrete_distribution Yes
875 New 26.4.8.5.2 [rand.dist.samp.pconst] Missing initializer_list constructor for piecewise_constant_distribution Yes
867 New 26.5.2.1 [valarray.cons] Valarray and value-initialization Yes
871 New 26.6.5 [numeric.iota] Iota's requirements on T are too strong Yes
835 New 27.4.4.2 [basic.ios.members] tying two streams together (correction to DR 581) Yes
837 New 27.4.4.2 [basic.ios.members] basic_ios::copyfmt() overly loosely specified Yes
696 New 27.6.1.2.2 [istream.formatted.arithmetic] istream::operator>>(int&) broken No
810 New 27.6.4 [ext.manip] Missing traits dependencies in operational semantics of extended manipulators Yes
863 New 27.8.1 [fstreams] What is the state of a stream after close() succeeds No
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
818 New 29.1 [atomics.order] wording for memory ordering Yes
845 New 29.3 [atomics.types] atomics cannot support aggregate initialization Yes
846 New 29.3 [atomics.types] No definition for constructor No
864 New 29.4 [atomics.types.operations] Defect in atomic wording Yes
857 New 30.4.1 [thread.condition.condvar] condition_variable::time_wait return bool error prone No
858 New X [garbage.collection] Wording for Minimal Support for Garbage Collection No
859 New X [datetime] Monotonic Clock is Conditionally Supported? 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 (89 issues)

Issue Status Section Title Proposed Resolution Duplicates
833 Open 17.4.1.3 [compliance] Freestanding implementations header list needs review for C++0x No
471 Open 18.6.1 [type.info] result of what() implementation-defined Yes
832 Open 19.4 [syserr] Applying constexpr to System error support Yes
825 Open 19.4.2.1 [syserr.errcode.overview] Missing rvalues reference stream insert/extract operators? No
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
801 Open 20.4 [tuple] tuple and pair trivial members No
719 Open 20.5 [meta] std::is_literal type traits should be provided Yes
747 Open 20.5.4.3 [meta.unary.prop] We have 3 separate type traits to identify classes supporting no-throw operations No
750 Open 20.5.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.6.5.1 [refwrap.const] reference_wrapper, cref unsafe, allow binding to rvalues Yes
815 Open 20.6.15.2.4 [func.wrap.func.inv] std::function and reference_closure do not use perfect forwarding No
582 Open 20.7.10.1 [uninitialized.copy] specialized algorithms and volatile storage Yes
834 Open 20.7.11.2 [unique.ptr.single] Unique_ptr::pointer requirements underspecified Yes
711 Open 20.7.12.2.5 [util.smartptr.shared.obs] Contradiction in empty shared_ptr Yes
343 Open 21 [strings] Unspecified library header dependencies Yes
830 Open 21.1 [char.traits] Incomplete list of char_traits specializations Yes
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
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 836
492 Open 23 [containers] Invalid iterator arithmetic expressions Yes
774 Open 23 [containers] Member swap undefined for most 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
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
96 Open 23.2.6 [vector] Vector<bool> is not a container Yes
839 Open 23.3 [associative] Maps and sets missing splice operation No
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.4 [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
793 Open 26.4.8.5.1 [rand.dist.samp.discrete] discrete_distribution missing constructor Yes
794 Open 26.4.8.5.2 [rand.dist.samp.pconst] piecewise_constant_distribution missing constructor Yes
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
539 Open 26.6.3 [partial.sum] partial_sum and adjacent_difference should mention requirements 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
723 Open 28.8 [re.regex] basic_regex should be moveable Yes
726 Open 28.11.4 [re.alg.replace] Missing regex_replace() overloads Yes
463 Open D.9.1 [auto.ptr] auto_ptr usability issues Yes
644 Open X [func.wrap.func.undef] Possible typos in 'function' description 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 (13 issues)

Issue Status Section Title Proposed Resolution Duplicates
804 Review 19.4 [syserr] Some problems with classes error_code/error_condition Yes
698 Review 19.4.5.1 [syserr.syserr.overview] system_error needs const char* constructors Yes
752 Review 20.1.2 [allocator.requirements] Allocator complexity requirement Yes
823 Review 20.2.2 [forward] identity<void> seems broken Yes
758 Review 20.7.12.2 [util.smartptr.shared] shared_ptr and nullptr Yes
709 Review 21.1.3 [char.traits.specializations] char_traits::not_eof has wrong signature Yes
23 Review 22.2.2.1.2 [facet.num.get.virtuals] Num_get overflow result Yes
675 Review 23.1 [container.requirements] Move assignment of containers Yes
851 Review 23.2.1 [array] simplified array construction Yes
803 Review 26.4.7.1 [rand.util.seedseq] Simplification of seed_seq::seq_seq Yes
734 Review 26.4.8.4.3 [rand.dist.norm.chisq] Unnecessary restriction in [rand.dist.norm.chisq] Yes
692 Review 27.6.4 [ext.manip] get_money and put_money should be formatted I/O functions Yes
828 Review 30.3.1.1 [thread.mutex.class] Static initialization for std::mutex? Yes

Ready (30 issues)

Issue Status Section Title Proposed Resolution Duplicates
829 Ready 18.7.5 [propagation] current_exception wording unclear about exception type Yes
805 Ready 19.4 [syserr] posix_error::posix_errno concerns Yes
808 Ready 20.2.2 [forward] [forward] incorrect redundant specification Yes
522 Ready 20.4 [tuple] Tuple doesn't define swap Yes
807 Ready 20.4.1.2 [tuple.cnstr] tuple construction should not fail unless its element's construction fails Yes
769 Ready 20.6.15.2 [func.wrap.func] std::function should use nullptr_t instead of "unspecified-null-pointer-type" Yes
848 Ready 20.6.16 [unord.hash] missing std::hash specializations for std::bitset/std::vector<bool> Yes
762 Ready 20.7.11 [unique.ptr] std::unique_ptr requires complete type? Yes
806 Ready 20.7.11.2.5 [unique.ptr.single.modifiers] unique_ptr::reset effects incorrect, too permissive Yes
813 Ready 20.7.12.2 [util.smartptr.shared] "empty" undefined for shared_ptr Yes
180 Ready 21.3 [basic.string] Container member iterator arguments constness has unintended consequences Yes
824 Ready 21.3.8.9 [string.io] rvalue ref issue with basic_string inserter Yes
771 Ready 21.4 [string.conversions] Impossible throws clause in [string.conversions] Yes
772 Ready 21.4 [string.conversions] Impossible return clause in [string.conversions] Yes
842 Ready 23.1 [container.requirements] ConstructibleAsElement and bit containers Yes
720 Ready 23.2.1 [array] Omissions in constexpr usages Yes
776 Ready 23.2.1 [array] Undescribed assign function of std::array Yes
850 Ready 23.2.2.2 [deque.capacity] Should shrink_to_fit apply to std::deque? Yes
396 Ready 23.3.5.1 [bitset.cons] what are characters zero and one Yes
691 Ready 23.4 [unord] const_local_iterator cbegin, cend missing from TR1 Yes
852 Ready 23.4 [unord] unordered containers begin(n) mistakenly const Yes
714 Ready 25.1.12 [alg.search] search_n complexity is too lax Yes
809 Ready 25.2.3 [alg.swap] std::swap should be overloaded for array types Yes
779 Ready 25.2.8 [alg.remove] Resolution of #283 incomplete Yes
713 Ready 25.3.1.1 [sort] sort() complexity is too lax Yes
787 Ready 25.3.3.4 [binary.search] complexity of binary_search 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
844 Ready 26.3.9 [cmplx.over] complex pow return type is ambiguous Yes
728 Ready 26.4.3.2 [rand.eng.mers] Problem in [rand.eng.mers]/6 Yes

DR (14 issues)

Issue Status Section Title Proposed Resolution Duplicates
533 DR 20.7.12.2.11 [util.smartptr.getdeleter] typo in 2.2.3.10/1 Yes
438 DR 23.1.3 [sequence.reqmts] Ambiguity in the "do the right thing" clause Yes
130 DR 23.1.4 [associative.reqmts] Return type of container::erase(iterator) differs for associative containers Yes 451
469 DR 23.2.6 [vector] vector<bool> ill-formed relational operators Yes
406 DR 23.2.6.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.7.5.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.4 [associative.reqmts] Bug in insert range in associative containers Yes 264
246 Dup 23.1.4 [associative.reqmts] a.insert(p,t) is incorrectly specified Yes 233
451 Dup 23.1.4 [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 (140 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.9 [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
840 NAD 20.2.3 [pairs] pair default template argument Yes
748 NAD 20.5.4.3 [meta.unary.prop] The is_abstract type trait is defined by reference to 10.4. Yes
257 NAD 20.6.3 [base] STL functional object and iterator inheritance. Yes
480 NAD 20.6.3 [base] unary_function and binary_function should have protected nonvirtual destructors Yes
501 NAD 20.6.3 [base] Proposal: strengthen guarantees of lib.comparisons Yes
686 NAD 20.7.11.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.7.12.2.11 [util.smartptr.getdeleter] Const-incorrect get_deleter function for shared_ptr Yes
85 NAD 21 [strings] String char types Yes
570 NAD 21.1 [char.traits] Request adding additional explicit specializations of char_traits 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
826 NAD 22.2.2.2 [locale.nm.put] Equivalent of %'d, or rather, lack thereof? 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.3 [sequence.reqmts] Is it undefined if a function in the standard changes in parameters? Yes
82 NAD 23.1.4 [associative.reqmts] Missing constant for set elements Yes
192 NAD 23.1.4 [associative.reqmts] a.insert(p,t) is inefficient and overconstrained Yes 233
215 NAD 23.1.4 [associative.reqmts] Can a map's key_type be const? Yes
494 NAD 23.1.4 [associative.reqmts] Wrong runtime complexity for associative container's insert and delete Yes
763 NAD 23.1.4 [associative.reqmts] Renaming emplace() overloads Yes
579 NAD 23.1.5 [unord.req] erase(iterator) for unordered containers should not return an iterator Yes
764 NAD 23.1.5 [unord.req] equal_range on unordered containers should return a pair of local_iterators Yes
131 NAD 23.2.4.4 [list.ops] list::splice throws nothing Yes
491 NAD 23.2.4.4 [list.ops] std::list<>::unique incorrectly specified Yes
101 NAD 23.2.6 [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.5 [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
802 NAD 26.4.5 [rand.predef] knuth_b 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 (49 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.specificati