C++ Standard Library Issues List (Revision R52)

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

Issue Status Section Title Proposed Resolution Duplicates
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 No
697 New 19.4 [syserr] New <system_error> header leads to name clashes No
698 New 19.4.5.1 [syserr.syserr.overview] Some system_error issues No
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
752 New 20.1.2 [allocator.requirements] Allocator complexity requirement Yes
719 New 20.4 [meta] std::is_literal type traits should be provided 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
754 New 20.6.4.1 [uninitialized.copy] Ambiguous return clause for std::uninitialized_copy 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
711 New 20.6.6.2.5 [util.smartptr.shared.obs] Contradiction in empty shared_ptr 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
709 New 21.1.3 [char.traits.specializations] char_traits::not_eof has wrong signature Yes
718 New 21.3 [basic.string] basic_string is not a sequence Yes
721 New 22.1.3.2.2 [conversions.string] wstring_convert inconsistensies No
725 New 23.1.1 [sequence.reqmts] Optional sequence container requirements column label 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
751 New 23.2.6 [vector.bool] change pass-by-reference members of vector<bool> to pass-by-value? No
714 New 25.1.9 [alg.search] search_n complexity is too lax Yes
713 New 25.3.1.1 [sort] sort() complexity is too lax Yes
715 New 25.3.7 [alg.min.max] minmax_element complexity is too lax Yes
729 New 26.4.1.3 [rand.req.eng] Problem in [rand.req.eng]/3 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
728 New 26.4.3.2 [rand.eng.mers] Problem in [rand.eng.mers]/6 Yes
738 New 26.4.4.1 [rand.adapt.disc] Editorial issue in [rand.adapt.disc]/3 Yes
731 New 26.4.7.1 [rand.util.seedseq] proposal for a customizable seed_seq Yes
739 New 26.4.7.2 [rand.util.canonical] Defect in [rand.util.canonical]/3 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
717 New 26.5.2.3 [valarray.access] Incomplete valarray::operator[] specification in [valarray.access] Yes
722 New 26.7 [c.math] Missing [c.math] functions nanf and nanl Yes
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
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
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 (79 issues)

Issue Status Section Title Proposed Resolution Duplicates
653 Open 1.2 [intro.refs] Library reserved names No
462 Open 3.6.3 [basic.start.term] Destroying objects with static storage duration No
625 Open 17 [library] mixed up Effects and Returns clauses No
424 Open 17.3.1.1 [structure.summary] normative notes Yes
626 Open 17.3.1.3 [structure.specifications] new Remark clauses not documented No
529 Open 17.4.3.8 [res.on.required] The standard encourages redundant and confusing preconditions Yes
612 Open 18.2.1.2 [numeric.limits.members] numeric_limits::is_modulo insufficently defined Yes
557 Open 18.3 [cstdint] TR1: div(_Longlong, _Longlong) vs div(intmax_t, intmax_t) No
627 Open 18.5.1.1 [new.delete.single] Low memory and exceptions No
471 Open 18.6.1 [type.info] result of what() implementation-defined Yes
707 Open 18.7.1 [exception] null pointer constant for exception_ptr No
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 No
527 Open 20.5.11.1.3 [func.bind.bind] tr1::bind has lost its Throws clause Yes
582 Open 20.6.4.1 [uninitialized.copy] specialized algorithms and volatile storage Yes
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
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
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
492 Open 23 [containers] Invalid iterator arithmetic expressions 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
579 Open 23.1.3 [unord.req] erase(iterator) for unordered containers should not return an iterator Yes
588 Open 23.2.1 [array] requirements on zero sized tr1::arrays and other details No
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
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
387 Open 26.3 [complex.numbers] std::complex over-encapsulated Yes
629 Open 26.3.6 [complex.ops] complex insertion and locale dependence No
630 Open 26.5.2.1 [valarray.cons] arrays of valarray Yes
430 Open 26.5.2.4 [valarray.sub] valarray subset operations No
539 Open 26.6.3 [partial.sum] partial_sum and adjacent_difference should mention requirements No
550 Open 26.7 [c.math] What should the return type of pow(float,int) be? 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
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
523 Open 28 [re] regex case-insensitive character ranges are unimplementable as specified No
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

Ready (30 issues)

Issue Status Section Title Proposed Resolution Duplicates
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
705 Ready 20.4.7 [meta.trans.other] type-trait decay incompletely specified 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
674 Ready 20.6.6.2 [util.smartptr.shared] shared_ptr interface changes for consistency with N1856 Yes
687 Ready 20.6.6.2.1 [util.smartptr.shared.const] shared_ptr conversion constructor not constrained Yes
695 Ready 22.2.1.3 [facet.ctype.special] ctype<char>::classic_table() not accessible 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
666 Ready 22.2.6.3.2 [locale.moneypunct.virtuals] moneypunct::do_curr_symbol() Yes
675 Ready 23.1 [container.requirements] Move assignment of containers Yes
679 Ready 23.2 [sequences] resize parameter by value Yes
703 Ready 23.3.1.2 [map.access] map::at() need a complexity specification Yes
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
676 Ready 23.4 [unord] Moving the unordered containers 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
595 Ready 26.3.7 [complex.value.ops] TR1/C++0x: fabs(complex<T>) redundant / wrongly specified Yes
621 Ready 26.5 [numarray] non-const copy assignment operators of helper arrays Yes
620 Ready 26.5.2.1 [valarray.cons] valid uses of empty valarrays Yes
624 Ready 26.5.2.2 [valarray.assign] valarray assignment and arrays of unequal length Yes
623 Ready 27.1.1 [iostream.limits.imbue] pubimbue forbidden to call imbue Yes
567 Ready 27.6 [iostream.format] streambuf inserter and extractor should be unformatted Yes
661 Ready 27.6.1.2.2 [istream.formatted.arithmetic] New 27.6.1.2.2 changes make special extractions useless Yes
581 Ready 27.6.2.7 [ostream.unformatted] flush() not unformatted function Yes
562 Ready 27.7 [string.streams] stringbuf ctor inefficient Yes
563 Ready 27.7.1.4 [stringbuf.virtuals] stringbuf seeking from end Yes
622 Ready 27.8.1.17 [fstream.members] behavior of filebuf dtor and close on error Yes

Review (10 issues)

Issue Status Section Title Proposed Resolution Duplicates
672 Review 20.1.1 [utility.arg.requirements] Swappable requirements need updating Yes
518 Review 23.1.3 [unord.req] Are insert and erase stable for unordered_multiset and unordered_multimap? Yes
638 Review 23.2.2.3 [deque.modifiers] deque end invalidation during erase Yes
691 Review 23.4 [unord] const_local_iterator cbegin, cend missing from TR1 Yes
685 Review 24.4.1.3.19 [reverse.iter.opdiff] reverse_iterator/move_iterator difference has invalid signatures Yes
618 Review 26.5.2.7 [valarray.members] valarray::cshift() effects on empty array Yes
574 Review 27.3 [iostream.objects] DR 369 Contradicts Text Yes
596 Review 27.8.1.4 [filebuf.members] 27.8.1.3 Table 112 omits "a+" and "a+b" modes Yes
645 Review 28.10 [re.results] Missing members in match_results Yes
684 Review 28.10 [re.results] Unclear which members of match_results should be used in comparison 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 (30 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
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
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
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

NAD (108 issues)

Issue Status Section Title Proposed Resolution Duplicates
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
269 NAD 18.7 [support.exception] cstdarg and unnamed parameters Yes
433 NAD 18.7.2.4 [unexpected] Contradiction in specification of unexpected() Yes
313 NAD 18.7.3.3 [terminate] set_terminate and set_unexpected question Yes
314 NAD 18.7.3.3 [terminate] Is the stack unwound when terminate() is called? Yes
12 NAD 20.1.2 [allocator.requirements] Way objects hold allocators unclear Yes
197 NAD 20.1.2 [allocator.requirements] max_size() underspecified Yes
277 NAD 20.1.2 [allocator.requirements] Normative encouragement in allocator requirements unclear Yes
487 NAD 20.1.2 [allocator.requirements] Allocator::construct is too limiting Yes
560 NAD 20.1.2 [allocator.requirements] User-defined allocators without default constructor Yes
296 NAD 20.2.3 [pairs] Missing descriptions and requirements of pair operators Yes
257 NAD 20.5.3 [base] STL functional object and iterator inheritance. Yes
480 NAD 20.5.3 [base] unary_function and binary_function should have protected nonvirtual destructors Yes
501 NAD 20.5.3 [base] Proposal: strengthen guarantees of lib.comparisons Yes
85 NAD 21 [strings] String char types Yes
4 NAD 21.3 [basic.string] Basic_string size_type and difference_type should be implementation defined Yes
466 NAD 21.3.1 [string.require] basic_string ctor should prevent null pointer error Yes
104 NAD 21.3.4 [string.capacity] Description of basic_string::operator[] is unclear Yes
84 NAD 21.3.5 [string.access] Ambiguity with string::insert() Yes
88 NAD 21.3.6.4 [string::insert] Inconsistency between string::insert() and string::append() Yes
377 NAD 21.3.6.4 [string::insert] basic_string::insert and length_error Yes
330 NAD 22.1.1 [locale] Misleading "exposition only" value in class locale definition Yes
121 NAD 22.1.1.1.1 [locale.category] Detailed definition for ctype<wchar_t> specialization Yes
452 NAD 22.1.1.3 [locale.members] locale::combine should be permitted to generate a named locale Yes
439 NAD 22.2 [locale.categories] Should facets be copyable? Yes
356 NAD 22.2.1 [category.ctype] Meaning of ctype_base::mask enumerators Yes
302 NAD 22.2.1.5 [locale.codecvt.byname] Need error indication from codecvt<>::do_length Yes
500 NAD 22.2.1.5 [locale.codecvt.byname] do_length cannot be implemented correctly Yes
344 NAD 22.2.2 [category.numeric] grouping + showbase Yes
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
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
177 NAD 26.3.6 [complex.ops] Complex operators cannot be explicitly instantiated Yes
440 NAD 26.3.8 [complex.transcendentals] Should std::complex use unqualified transcendentals? Yes
506 NAD 26.4 [rand] Requirements of Distribution parameter for variate_generator Yes
547 NAD 26.4 [rand] division should be floating-point, not integer Yes
572 NAD 26.4 [rand] Oops, we gave 507 WP status Yes
517 NAD 26.4.1 [rand.req] Should include name in external representation Yes
515 NAD 26.4.2 [rand.synopsis] Random number engine traits Yes
548 NAD 26.4.6 [rand.device] May random_device block? Yes
511 NAD 26.4.8 [rand.dist] Input_type for binomial_distribution Yes
509 NAD 26.4.8.1 [rand.dist.uni] Uniform_int template parameters Yes
510 NAD 26.4.8.2 [rand.dist.bern] Input_type for bernoulli_distribution Yes
93 NAD 26.5 [numarray] Incomplete Valarray Subset Definitions Yes
107 NAD 26.5.2 [template.valarray] Valarray constructor is strange Yes
81 NAD 26.5.5 [template.slice.array] Wrong declaration of slice operations Yes
213 NAD 26.7 [c.math] Math function overloads ambiguous Yes
289 NAD 26.7 [c.math] <cmath> requirements missing C float and long double versions Yes
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
143 NAD D.5 [depr.c.headers] C .h header wording unclear Yes
65 NAD D.7.1.3 [depr.strstreambuf.virtuals] Underspecification of strstreambuf::seekoff Yes
267 NAD D.7.1.3 [depr.strstreambuf.virtuals] interaction of strstreambuf::overflow() and seekoff() Yes
249 NAD D.9.1 [auto.ptr] Return Type of auto_ptr::operator= Yes
463 NAD D.9.1 [auto.ptr] auto_ptr usability issues Yes
2 NAD D.9.1.3 [auto.ptr.conv] Auto_ptr conversions effects incorrect Yes

NAD Editorial (32 issues)

Issue Status Section Title Proposed Resolution Duplicates
571 NAD Editorial 1.2 [intro.refs] Update C90 references to C99? 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
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
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
647 NAD Editorial 28.11.3 [re.alg.search] Inconsistent regex_search params Yes
648 NAD Editorial 28.12.1.1 [re.regiter.cnstr] regex_iterator c'tor needs clarification/editorial fix Yes
649 NAD Editorial 28.12.2.1 [re.tokiter.cnstr] Several typos in regex_token_iterator constructors Yes
544 NAD Editorial C.2 [diff.library] minor NULL problems in C.2 Yes
587 NAD Editorial D.7.2.1 [depr.istrstream.cons] iststream ctor missing description Yes
555 NAD Editorial TR1 8.21 [tr.c99.boolh] TR1, 8.21/1: typo Yes

NAD Future (16 issues)

Issue Status Section Title Proposed Resolution Duplicates
390 NAD Future 20.1.1 [utility.arg.requirements] CopyConstructible requirements too strict Yes
348 NAD Future 20.2.3 [pairs] Minor issue with std::pair operator< Yes
353 NAD Future 20.2.3 [pairs] std::pair missing template assignment Yes
138 NAD Future 22.2.1.4 [locale.codecvt] Class ctype_byname<char> redundant and misleading Yes
180 NAD Future 23 [containers] Container member iterator arguments constness has unintended consequences Yes
149 NAD Future 23.1.1 [sequence.reqmts] Insert should return iterator to first element inserted Yes
140 NAD Future 23.3.1 [map] map<Key, T>::value_type does not satisfy the assignable requirement Yes
116 NAD Future 23.3.5 [template.bitset] bitset cannot be constructed with a const char* Yes
111 NAD Future 24.5.3.5 [istreambuf.iterator::equal] istreambuf_iterator::equal overspecified, inefficient Yes
219 NAD Future 25.1.2 [alg.find] find algorithm missing version that takes a binary predicate argument Yes
190 NAD Future 25.3.7 [alg.min.max] min() and max() functions should be std::binary_functions Yes
388 NAD Future 26.3 [complex.numbers] Use of complex as a key in associative containers Yes
188 NAD Future 26.5.2.6 [valarray.cassign] valarray helpers missing augmented assignment operators Yes
323 NAD Future 26.7 [c.math] abs() overloads in different headers Yes
128 NAD Future 27.7 [string.streams] Need open_mode() function for file stream, string streams, file buffers, and string  buffers Yes
105 NAD Future 27.8 [file.streams] fstream ctors argument types desired Yes

Pending NAD Editorial (5 issues)

Issue Status Section Title Proposed Resolution Duplicates
594 Pending NAD Editorial 20.1.1 [utility.arg.requirements] Disadvantages of defining Swappable in terms of CopyConstructible and Assignable Yes
532 Pending NAD Editorial 20.3.1.5 [tuple.rel] Tuple comparison Yes
393 Pending NAD Editorial 22.2.1.4.2 [locale.codecvt.virtuals] do_in/do_out operation on state unclear Yes
592 Pending NAD Editorial 27.8.1.9 [ifstream.members] Incorrect treatment of rdbuf()->close() return type Yes
683 Pending NAD Editorial 28.12.2 [re.tokiter] regex_token_iterator summary error Yes

Pending WP (7 issues)

Issue Status Section Title Proposed Resolution Duplicates
654 Pending WP 26.4.1.3 [rand.req.eng] Missing IO roundtrip for random number engines Yes
607 Pending WP 26.4.7.1 [rand.util.seedseq] Concern about short seed vectors Yes
608 Pending WP 26.4.7.1 [rand.util.seedseq] Unclear seed_seq construction details Yes
677 Pending WP 26.4.7.1 [rand.util.seedseq] Weaknesses in seed_seq::randomize [rand.util.seedseq] Yes
655 Pending WP 26.4.7.2 [rand.util.canonical] Signature of generate_canonical not useful Yes
682 Pending WP 28.8.2 [re.regex.construct] basic_regex ctor takes InputIterator or ForwardIterator? Yes
644 Pending WP X [func.wrap.func.undef] Possible typos in 'function' description Yes

TC (125 issues)

Issue Status Section Title Proposed Resolution Duplicates
222 TC 17.3.1.3 [structure.specifications] Are throw clauses necessary if a throw is already implied by the effects clause? Yes
1 TC 17.4.2.2 [using.linkage] C library linkage editing oversight Yes
147 TC 17.4.4.3 [global.functions] Library Intro refers to global functions that aren't global Yes
119 TC 17.4.4.8 [res.on.exception.handling] Should virtual functions be allowed to strengthen the exception specification? Yes
3 TC 18.4 [support.start.term] Atexit registration during atexit() call is not described Yes
9 TC 18.5.1 [new.delete] Operator new(0) calls should not yield the same pointer Yes
114 TC 18.5.1.3 [new.delete.placement] Placement forms example in error twice Yes 196
108 TC 18.6.1 [type.info] Lifetime of exception::what() return unspecified Yes
70 TC 18.7 [support.exception] Uncaught_exception() missing throw() specification Yes
199 TC 20.1.2 [allocator.requirements] What does allocate(0) return? Yes
181 TC 20.2.3 [pairs] make_pair() unintended behavior Yes
7 TC 21 [strings] String clause minor problems Yes
57 TC 21.1.3.4 [char.traits.specializations.wchar.t] Mistake in char_traits Yes
42 TC 21.3 [basic.string] String ctors specify wrong default allocator Yes
83 TC 21.3 [basic.string] String::npos vs. string::max_size() Yes 89
209 TC 21.3 [basic.string] basic_string declarations inconsistent Yes
86 TC 21.3.1 [string.require] String constructors don't describe exceptions Yes
141 TC 21.3.6.4 [string::insert] basic_string::find_last_of, find_last_not_of say pos instead of xpos Yes
27 TC 21.3.6.5 [string::erase] String::erase(range) yields wrong iterator Yes
5 TC 21.3.6.8 [string::swap] String::compare specification questionable Yes 87
25 TC 21.3.8.9 [string.io] String operator<< uses width() value wrong Yes 67
90 TC 21.3.8.9 [string.io] Incorrect description of operator >> for strings Yes
211 TC 21.3.8.9 [string.io] operator>>(istream&, string&) doesn't set failbit Yes
31 TC 22.1.1 [locale] Immutable locale values Yes 378
37 TC 22.1.1 [locale] Leftover "global" reference Yes
137 TC 22.1.1 [locale] Do use_facet and has_facet look in the global locale? Yes
21 TC 22.1.1.1.1 [locale.category] Codecvt_byname<> instantiations Yes
30 TC 22.1.1.1.1 [locale.category] Wrong header for LC_* Yes
14 TC 22.1.1.3 [locale.members] Locale::combine should be const Yes
15 TC 22.1.1.3 [locale.members] Locale::name requirement inconsistent Yes
8 TC 22.1.1.5 [locale.statics] Locale::global lacks guarantee Yes
38 TC 22.1.2 [locale.global.templates] Facet definition incomplete Yes
126 TC 22.2.1.1.2 [locale.ctype.virtuals] typos in Effects clause of ctype::do_narrow() Yes
152 TC 22.2.1.1.2 [locale.ctype.virtuals] Typo in scan_is() semantics Yes
124 TC 22.2.1.2 [locale.ctype.byname] ctype_byname<charT>::do_scan_is & do_scan_not return type should be const charT* Yes
28 TC 22.2.1.3.2 [facet.ctype.char.members] Ctype<char>is ambiguous Yes 236
16 TC 22.2.1.4 [locale.codecvt] Bad ctype_byname<char> decl Yes
19 TC 22.2.1.4 [locale.codecvt] "Noconv" definition too vague Yes 10
24 TC 22.2.1.4 [locale.codecvt] "do_convert" doesn't exist Yes 72
33 TC 22.2.1.4 [locale.codecvt] Codecvt<> mentions from_type Yes 43
74 TC 22.2.1.4 [locale.codecvt] Garbled text for codecvt::do_max_length Yes
75 TC 22.2.1.4 [locale.codecvt] Contradiction in codecvt::length's argument types Yes
18 TC 22.2.2.1.1 [facet.num.get.members] Get(...bool&) omitted Yes
17 TC 22.2.2.1.2 [facet.num.get.virtuals] Bad bool parsing Yes
154 TC 22.2.2.1.2 [facet.num.get.virtuals] Missing double specifier for do_get() Yes
34 TC 22.2.2.2.2 [facet.num.put.virtuals] True/falsename() not in ctype<> Yes
20 TC 22.2.3.1.2 [facet.numpunct.virtuals] Thousands_sep returns wrong type Yes
71 TC 22.2.5.1 [locale.time.get] Do_get_monthname synopsis missing argument Yes
164 TC 22.2.5.3.2 [locale.time.put.virtuals] do_put() has apparently unused fill argument Yes
40 TC 22.2.8 [facets.examples] Meaningless normative paragraph in examples Yes
148 TC 22.2.8 [facets.examples] Functions in the example facet BoolNames should be const Yes
217 TC 22.2.8 [facets.examples] Facets example (Classifying Japanese characters) contains errors Yes
51 TC 23.1 [container.requirements] Requirement to not invalidate iterators missing Yes
139 TC 23.1.1 [sequence.reqmts] Optional sequence operation table description unclear Yes
151 TC 23.1.1 [sequence.reqmts] Can't currently clear() empty container Yes
224 TC 23.1.2 [associative.reqmts] clear() complexity for associative containers refers to undefined N Yes
144 TC 23.2.2.1 [deque.cons] Deque constructor complexity wrong Yes
132 TC 23.2.3.2 [list.capacity] list::resize description uses random access iterators Yes
69 TC 23.2.5 [vector] Must elements of a vector be contiguous? Yes
134 TC 23.2.5.1 [vector.cons] vector constructors over specified Yes
133 TC 23.3.1 [map] map missing get_allocator() Yes
11 TC 23.3.5 [template.bitset] Bitset minor problems Yes
208 TC 24.1 [iterator.requirements] Unnecessary restriction on past-the-end iterators Yes
110 TC 24.5.3 [istreambuf.iterator] istreambuf_iterator::equal not const Yes
39 TC 24.5.3.4 [istreambuf.iterator::op++] istreambuf_iterator<>::operator++(int) definition garbled Yes
112 TC 24.5.4.1 [ostreambuf.iter.cons] Minor typo in ostreambuf_iterator constructor Yes
210 TC 25 [algorithms] distance first and last confused Yes
150 TC 25.1.4 [alg.find.first.of] Find_first_of says integer instead of iterator Yes
227 TC 25.2.3 [alg.swap] std::swap() should require CopyConstructible or DefaultConstructible arguments Yes
223 TC 25.2.10 [alg.reverse] reverse algorithm should use iter_swap rather than swap Yes
193 TC 25.3.6 [alg.heap.operations] Heap operations description incorrect Yes 216
212 TC 25.3.7 [alg.min.max] Empty range behavior unclear for several algorithms Yes
142 TC 25.3.8 [alg.lex.comparison] lexicographical_compare complexity wrong Yes
79 TC 26.3.1 [complex.synopsis] Inconsistent declaration of polar() Yes
80 TC 26.3.1 [complex.synopsis] Global Operators of complex declared twice Yes
146 TC 26.3.6 [complex.ops] complex<T> Inserter and Extractor need sentries Yes
125 TC 26.5.2 [template.valarray] valarray<T>::operator!() return type is inconsistent Yes
106 TC 26.5.5 [template.slice.array] Numeric library private members are implementation defined Yes
55 TC 27 [input.output] Invalid stream position is undefined Yes
155 TC 27.3 [iostream.objects] Typo in naming the class defining the class Init Yes
29 TC 27.3.1 [narrow.stream.objects] Ios_base::init doesn't exist Yes
35 TC 27.4 [iostreams.base] No manipulator unitbuf in synopsis Yes
41 TC 27.4.2 [ios.base] Ios_base needs clear(), exceptions() Yes 157
50 TC 27.4.2 [ios.base] Copy constructor and assignment operator of ios_base Yes
78 TC 27.4.2 [ios.base] Typo: event_call_back Yes
48 TC 27.4.2.1.1 [ios::failure] Use of non-existent exception constructor Yes
189 TC 27.4.2.2 [fmtflags.state] setprecision() not specified correctly Yes
47 TC 27.4.2.3 [ios.base.locales] Imbue() and getloc() Returns clauses swapped Yes
156 TC 27.4.2.3 [ios.base.locales] Typo in imbue() description Yes
36 TC 27.4.2.5 [ios.base.storage] Iword & pword storage lifetime omitted Yes
220 TC 27.4.2.7 [ios.base.cons] ~ios_base() usage valid? Yes
52 TC 27.4.3.2 [fpos.operations] Small I/O problems Yes
53 TC 27.4.4.1 [basic.ios.cons] Basic_ios destructor unspecified Yes
56 TC 27.5.2 [streambuf] Showmanyc's return type Yes
122 TC 27.5.2 [streambuf] streambuf/wstreambuf description should not say they are specializations Yes
54 TC 27.5.2.1 [streambuf.cons] Basic_streambuf's destructor Yes
59 TC 27.5.2.3.2 [streambuf.get.area] Ambiguity in specification of gbump Yes
158 TC 27.5.2.4.2 [streambuf.virt.buffer] Underspecified semantics for setbuf() Yes
159 TC 27.5.2.4.3 [streambuf.virt.get] Strange use of underflow() Yes
32 TC 27.5.2.4.4 [streambuf.virt.pback] Pbackfail description inconsistent Yes
160 TC 27.6.1.1 [istream] Typo: Use of non-existing function exception() Yes
26 TC 27.6.1.1.3 [istream::sentry] Bad sentry example Yes
195 TC 27.6.1.1.3 [istream::sentry] Should basic_istream::sentry's constructor ever set eofbit? Yes
60 TC 27.6.1.2.1 [istream.formatted.reqmts] What is a formatted input function? Yes 162, 163, 166
161 TC 27.6.1.2.2 [istream.formatted.arithmetic] Typo: istream_iterator vs. istreambuf_iterator Yes
13 TC 27.6.1.2.3 [istream::extractors] Eos refuses to die Yes
64 TC 27.6.1.2.3 [istream::extractors] Exception handling in basic_istream::operator>>(basic_streambuf*) Yes
68 TC 27.6.1.2.3 [istream::extractors] Extractors for char* should store null at end Yes
61 TC 27.6.1.3 [istream.unformatted] Ambiguity in iostreams exception policy Yes
62 TC 27.6.1.3 [istream.unformatted] Sync's return value Yes
129 TC 27.6.1.3 [istream.unformatted] Need error indication from seekp() and seekg() Yes
172 TC 27.6.1.3 [istream.unformatted] Inconsistent types for basic_istream::ignore() Yes
63 TC 27.6.2.7 [ostream.unformatted] Exception-handling policy for unformatted output Yes
168 TC 27.6.2.7 [ostream.unformatted] Typo: formatted vs. unformatted Yes
169 TC 27.7.1.4 [stringbuf.virtuals] Bad efficiency of overflow() mandated Yes
170 TC 27.7.4 [stringstream] Inconsistent definition of traits_type Yes
173 TC 27.8.1.5 [filebuf.virtuals] Inconsistent types for basic_filebuf::setbuf() Yes
22 TC 27.8.1.9 [ifstream.members] Member open vs. flags Yes
174 TC D.6 [depr.ios.members] Typo: OFF_T vs. POS_T Yes
175 TC D.6 [depr.ios.members] Ambiguity for basic_streambuf::pubseekpos() and a few other functions. Yes
176 TC D.6 [depr.ios.members] exceptions() in ios_base...? Yes
46 TC D.7 [depr.str.strstreams] Minor Annex D errors Yes
66 TC D.7.1.3 [depr.strstreambuf.virtuals] Strstreambuf::setbuf Yes
115 TC D.7.4.1 [depr.strstream.cons] Typo in strstream constructors Yes
127 TC D.9.1 [auto.ptr] auto_ptr<> conversion issues Yes

TRDec (8 issues)

Issue Status Section Title Proposed Resolution Duplicates
602 TRDec TRDecimal 3 [trdec.types] Decimal: "generic floating type" not defined. Yes
603 TRDec TRDecimal 3 [trdec.types] Decimal: Trivially simplifying decimal classes. Yes
604 TRDec TRDecimal 3 [trdec.types] Decimal: Storing a reference to a facet unsafe. Yes
599 TRDec TRDecimal 3.1 [trdec.types.encodings] Decimal: Say "octets" instead of "bytes." Yes
598 TRDec TRDecimal 3.2 [trdec.types.types] Decimal: Conversion to integral should truncate, not round. Yes
601 TRDec TRDecimal 3.3 [trdec.types.limits] Decimal: numeric_limits typos Yes
605 TRDec TRDecimal 3.4 [trdec.types.cdecfloat] Decimal: <decfloat.h> doesn't live here anymore. Yes
600 TRDec TRDecimal 3.9 [trdec.types.cwchar] Decimal: Wrong parameters for wcstod* functions Yes

WP (237 issues)

Issue Status Section Title Proposed Resolution Duplicates
182 WP 17 [library] Ambiguous references to size_t Yes
230 WP 17 [library] Assignable specified without also specifying CopyConstructible Yes
336 WP 17 [library] Clause 17 lack of references to deprecated headers Yes
262 WP 17.3.2.1.2 [bitmask.types] Bitmask operator ~ specified incorrectly Yes
229 WP 17.4.1.1 [contents] Unqualified references of other library entities Yes
310 WP 17.4.1.2 [headers] Is errno a macro? Yes
456 WP 17.4.1.2 [headers] Traditional C header files are overspecified Yes
465 WP 17.4.1.2 [headers] Contents of <ciso646> Yes
120 WP 17.4.3.1 [reserved.names] Can an implementor add specializations? Yes
226 WP 17.4.3.1 [reserved.names] User supplied specializations or overloads of namespace std function templates Yes
232 WP 17.4.3.1 [reserved.names] "depends" poorly defined in 17.4.3.1 Yes
422 WP 17.4.3.1 [reserved.names] explicit specializations of member functions of class templates Yes
294 WP 17.4.3.1.1 [macro.names] User defined macros and standard headers Yes
404 WP 17.4.3.4 [replacement.functions] May a replacement allocation function be declared inline? Yes
611 WP 17.4.3.6 [res.on.functions] Standard library templates and incomplete types Yes
225 WP 17.4.4.3 [global.functions] std:: algorithms use of other unqualified algorithms Yes
306 WP 18.1 [support.types] offsetof macro and non-POD types Yes
449 WP 18.1 [support.types] Library Issue 306 Goes Too Far Yes
201 WP 18.2.1 [limits] Numeric limits terminology wrong Yes
559 WP 18.2.1 [limits] numeric_limits<const T> Yes
497 WP 18.2.1.2 [numeric.limits.members] meaning of numeric_limits::traps for floating point types Yes
184 WP 18.2.1.5 [numeric.special] numeric_limits<bool> wording problems Yes
613 WP 18.2.1.5 [numeric.special] max_digits10 missing from numeric_limits Yes
416 WP 18.2.2 [c.limits] definitions of XXX_MIN and XXX_MAX macros in climits Yes
593 WP 18.3 [cstdint] __STDC_CONSTANT_MACROS Yes
206 WP 18.5.1.1 [new.delete.single] operator new(size_t, nothrow) may become unlinked to ordinary operator new if ordinary version replaced Yes
319 WP 18.5.1.1 [new.delete.single] Storage allocation wording confuses "Required behavior", "Requires" Yes
298 WP 18.5.1.2 [new.delete.array] ::operator delete[] requirement incorrect/insufficient Yes
266 WP 18.7.2.1 [bad.exception] bad_exception::~bad_exception() missing Effects clause Yes
619 WP 18.8 [support.runtime] Longjmp wording problem Yes
254 WP 19.1 [std.exceptions] Exception types in clause 19 are constructed from std::string Yes
288 WP 19.3 [errno] <cerrno> requirements missing macro EILSEQ Yes
312 WP 20 [utilities] Table 27 is missing headers Yes
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
265 WP 20.2.3 [pairs] std::pair::pair() effects overly restrictive Yes
185 WP 20.5 [function.objects] Questionable use of term "inline" Yes
660 WP 20.5 [function.objects] Missing Bitwise Operations Yes
521 WP 20.5.5 [refwrap] Garbled requirements for argument_type in reference_wrapper Yes
284 WP 20.5.7 [comparisons] unportable example in 20.3.7, p6 Yes
297 WP 20.5.8 [logical.operations] const_mem_fun_t<>::argument_type should be const T* Yes
520 WP 20.5.11.1 [func.bind] Result_of and pointers to data members Yes
610 WP 20.5.15.2.1 [func.wrap.func.con] Suggested non-normative note for C++0x Yes
234 WP 20.6.1.1 [allocator.members] Typos in allocator definition Yes
400 WP 20.6.1.1 [allocator.members] redundant type cast in lib.allocator.members Yes
578 WP 20.6.1.1 [allocator.members] purpose of hint to allocator::allocate() Yes
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
541 WP 20.6.6.2 [util.smartptr.shared] shared_ptr template assignment and void Yes
575 WP 20.6.6.2.2 [util.smartptr.shared.dest] the specification of ~shared_ptr is MT-unfriendly, makes implementation assumptions Yes
540 WP 20.6.6.2.5 [util.smartptr.shared.obs] shared_ptr<void>::operator*() Yes
542 WP 20.6.6.2.5 [util.smartptr.shared.obs] shared_ptr observers Yes
545 WP 20.6.6.2.11 [util.smartptr.getdeleter] When is a deleter deleted? Yes
335 WP 21.1.1 [char.traits.require] minor issue with char_traits, table 37 Yes
352 WP 21.1.2 [char.traits.typedefs] missing fpos requirements Yes
467 WP 21.1.3.1 [char.traits.specializations.char] char_traits::lt(), compare(), and memcmp() Yes
263 WP 21.3 [basic.string] Severe restriction on basic_string reference counting Yes
530 WP 21.3 [basic.string] Must elements of a string be contiguous? Yes
534 WP 21.3 [basic.string] Missing basic_string members Yes
301 WP 21.3.1 [string.require] basic_string template ctor effects clause omits allocator argument Yes
259 WP 21.3.4 [string.capacity] basic_string::operator[] and const correctness Yes
428 WP 21.3.6.5 [string::erase] string::erase(iterator) validity Yes
403 WP 21.3.6.8 [string::swap] basic_string::swap should not throw exceptions Yes
535 WP 21.3.6.8 [string::swap] std::string::swap specification poorly worded Yes
91 WP 21.3.8.9 [string.io] Description of operator>> and getline() for string<> might cause endless loop Yes
435 WP 21.3.8.9 [string.io] bug in DR 25 Yes
586 WP 21.3.8.9 [string.io] string inserter not a formatted function Yes
345 WP 21.5 [c.strings] type tm in <cwchar> Yes
317 WP 22 [localization] Instantiation vs. specialization of facets Yes
495 WP 22 [localization] Clause 22 template parameter requirements Yes
268 WP 22.1.1 [locale] Typo in locale synopsis Yes
360 WP 22.1.1 [locale] locale mandates inefficient implementation Yes
327 WP 22.1.1.1.1 [locale.category] Typo in time_get facet in table 52 Yes 447
340 WP 22.1.1.1.1 [locale.category] interpretation of has_facet<Facet>(loc) Yes
347 WP 22.1.1.1.1 [locale.category] locale::category and bitmask requirements Yes
436 WP 22.1.1.1.2 [locale.facet] are cv-qualified facet types valid facets? Yes
391 WP 22.1.3.2 [conversions] non-member functions specified as const Yes
228 WP 22.2 [locale.categories] Incorrect specification of "..._byname" facets Yes
338 WP 22.2 [locale.categories] is whitespace allowed between `-' and a digit? Yes
339 WP 22.2.1 [category.ctype] definition of bitmask type restricted to clause 27 Yes
379 WP 22.2.1.1.2 [locale.ctype.virtuals] nonsensical ctype::do_widen() requirement Yes
616 WP 22.2.1.2 [locale.ctype.byname] missing 'typename' in ctype_byname Yes
153 WP 22.2.1.3.2 [facet.ctype.char.members] Typo in narrow() semantics Yes 207
76 WP 22.2.1.4 [locale.codecvt] Can a codecvt facet always convert one internal character at a time? Yes
305 WP 22.2.1.5 [locale.codecvt.byname] Default behavior of codecvt<wchar_t, char, mbstate_t>::length() Yes
380 WP 22.2.1.5 [locale.codecvt.byname] typos in codecvt tables 53 and 54 Yes
381 WP 22.2.1.5 [locale.codecvt.byname] detection of invalid mbstate_t in codecvt Yes
275 WP 22.2.2.1.1 [facet.num.get.members] Wrong type in num_get::get() overloads Yes
221 WP 22.2.2.1.2 [facet.num.get.virtuals] num_get<>::do_get stage 2 processing broken Yes
321 WP 22.2.2.1.2 [facet.num.get.virtuals] Typo in num_get Yes
358 WP 22.2.2.1.2 [facet.num.get.virtuals] interpreting thousands_sep after a decimal_point Yes
359 WP 22.2.2.2.1 [facet.num.put.members] num_put<>::do_put (..., bool) undocumented Yes
231 WP 22.2.2.2.2 [facet.num.put.virtuals] Precision in iostream? Yes
282 WP 22.2.2.2.2 [facet.num.put.virtuals] What types does numpunct grouping refer to? Yes
318 WP 22.2.3.2 [locale.numpunct.byname] Misleading comment in definition of numpunct_byname Yes
248 WP 22.2.5 [category.time] time_get fails to set eofbit Yes
461 WP 22.2.5.1.2 [locale.time.get.virtuals] time_get hard or impossible to implement Yes
328 WP 22.2.6.2.2 [locale.money.put.virtuals] Bad sprintf format modifier in money_put<>::do_put() Yes
325 WP 22.2.6.3.2 [locale.moneypunct.virtuals] Misleading text in moneypunct<>::do_grouping Yes
179 WP 23.1 [container.requirements] Comparison of const_iterators to iterators doesn't work Yes
276 WP 23.1 [container.requirements] Assignable requirement for container value type overly strict Yes
322 WP 23.1 [container.requirements] iterator and const_iterator should have the same value type Yes
371 WP 23.1 [container.requirements] Stability of multiset and multimap member functions Yes
589 WP 23.1 [container.requirements] Requirements on iterators of member template functions of containers Yes 536
355 WP 23.1.1 [sequence.reqmts] Operational semantics for a.back() Yes
103 WP 23.1.2 [associative.reqmts] set::iterator is required to be modifiable, but this allows modification of keys Yes
233 WP 23.1.2 [associative.reqmts] Insertion hints in associative containers Yes 192, 246
264 WP 23.1.2 [associative.reqmts] Associative container insert(i, j) complexity requirements are not feasible. Yes 102
316 WP 23.1.2 [associative.reqmts] Vague text in Table 69 Yes
354 WP 23.1.2 [associative.reqmts] Associative container lower/upper bound requirements Yes
519 WP 23.2.1 [array] Data() undocumented Yes
237 WP 23.2.2.1 [deque.cons] Undefined expression in complexity specification Yes
307 WP 23.2.3 [list] Lack of reference typedefs in container adaptors Yes
320 WP 23.2.3.1 [list.cons] list::assign overspecified Yes
410 WP 23.2.3.1 [list.cons] Missing semantics for stack and queue comparison operators Yes
250 WP 23.2.3.4 [list.ops] splicing invalidates iterators Yes
278 WP 23.2.3.4 [list.ops] What does iterator validity mean? Yes
300 WP 23.2.3.4 [list.ops] list::merge() specification incomplete Yes
315 WP 23.2.3.4 [list.ops] Bad "range" in list::unique complexity Yes
464 WP 23.2.5 [vector] Suggestion for new member functions in standard containers Yes
496 WP 23.2.5 [vector] Illegal use of "T" in vector<bool> Yes
329 WP 23.2.5.2 [vector.capacity] vector capacity, reserve and reallocation Yes
341 WP 23.2.5.2 [vector.capacity] Vector reallocation and swap Yes
247 WP 23.2.5.4 [vector.modifiers] vector, deque::insert complexity Yes
414 WP 23.2.5.4 [vector.modifiers] Which iterators are invalidated by v.erase()? Yes
334 WP 23.3.1.2 [map.access] map::operator[] specification forces inefficient implementation Yes
214 WP 23.3.3 [set] set::find() missing const overload Yes 450
186 WP 23.3.5.2 [bitset.members] bitset::set() second parameter should be bool Yes
303 WP 23.3.5.3 [bitset.operators] Bitset input operator underspecified Yes
198 WP 24.1 [iterator.requirements] Validity of pointers and references unspecified after iterator destruction Yes
346 WP 24.1 [iterator.requirements] Some iterator member functions should be const Yes
407 WP 24.1 [iterator.requirements] Can singular iterators be destroyed? Yes
98 WP 24.1.1 [input.iterators] Input iterator requirements are badly written Yes
324 WP 24.1.2 [output.iterators] Do output iterators have value types? Yes
200 WP 24.1.3 [forward.iterators] Forward iterator requirements don't allow constant iterators Yes
478 WP 24.1.3 [forward.iterators] Should forward iterator requirements table have a line for r->m? Yes 477
383 WP 24.1.4 [bidirectional.iterators] Bidirectional iterator assertion typo Yes
448 WP 24.1.5 [random.access.iterators] Random Access Iterators over abstract classes Yes
280 WP 24.4.1 [reverse.iterators] Comparison of reverse_iterator to const reverse_iterator Yes
235 WP 24.4.1.1 [reverse.iterator] No specification of default ctor for reverse_iterator Yes
260 WP 24.5.1.2 [istream.iterator.ops] Inconsistent return type of istream_iterator::operator++(int) Yes
261 WP 24.5.1.2 [istream.iterator.ops] Missing description of istream_iterator::operator!= Yes
349 WP 24.5.2 [ostream.iterator] Minor typographical error in ostream_iterator Yes
92 WP 25 [algorithms] Incomplete Algorithm Requirements Yes
475 WP 25.1.1 [alg.foreach] May the function object passed to for_each modify the elements of the iterated sequence? Yes
576 WP 25.1.4 [alg.find.first.of] find_first_of is overconstrained Yes
240 WP 25.1.5 [alg.adjacent.find] Complexity of adjacent_find() is meaningless Yes
426 WP 25.1.9 [alg.search] search_n(), fill_n(), and generate_n() with negative n Yes
187 WP 25.2.3 [alg.swap] iter_swap underspecified Yes
242 WP 25.2.4 [alg.transform] Side effects of function objects Yes
283 WP 25.2.5 [alg.replace] std::replace() requirement incorrect/insufficient Yes 483
337 WP 25.2.5 [alg.replace] replace_copy_if's template parameter should be InputIterator Yes
202 WP 25.2.9 [alg.unique] unique() effects unclear when predicate not an equivalence relation Yes
239 WP 25.2.9 [alg.unique] Complexity of unique() and/or unique_copy incorrect Yes
241 WP 25.2.9 [alg.unique] Does unique_copy() require CopyConstructible and Assignable? Yes
538 WP 25.2.9 [alg.unique] 241 again: Does unique_copy() require CopyConstructible and Assignable? Yes
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
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
384 WP 25.3.3.3 [equal.range] equal_range has unimplementable runtime complexity Yes
291 WP 25.3.5 [alg.set.operations] Underspecification of set algorithms Yes
411 WP 25.3.5 [alg.set.operations] Wrong names of set member functions Yes
281 WP 25.3.7 [alg.min.max] std::min() and max() requirements overly restrictive Yes 486
286 WP 25.4 [alg.c.library] <cstdlib> requirements missing size_t typedef Yes
405 WP 25.4 [alg.c.library] qsort and POD Yes
551 WP 26.3.11 [cmplxh] <ccomplex> Yes
507 WP 26.4 [rand] Missing requirement for variate_generator::operator() Yes
699 WP 26.4 [rand] N2111 changes min/max Yes
505 WP 26.4.1 [rand.req] Result_type in random distribution requirements Yes
678 WP 26.4.1.3 [rand.req.eng] Changes for [rand.req.eng] 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
712 WP 26.4.7.1 [rand.util.seedseq] seed_seq::size no longer useful Yes
253 WP 26.5.2.1 [valarray.cons] valarray helper functions are almost entirely useless Yes
389 WP 26.5.2.3 [valarray.access] Const overload of valarray::operator[] returns by value Yes 77
543 WP 26.5.4 [class.slice] valarray slice default constructor Yes
123 WP 26.5.5.3 [slice.arr.fill] Should valarray helper arrays fill functions be const? Yes
295 WP 26.7 [c.math] Is abs defined in <cmath>? Yes
395 WP 26.7 [c.math] inconsistencies in the definitions of rand() and random_shuffle() Yes
44 WP 27 [input.output] Iostreams use operator== on int_type values Yes
273 WP 27 [input.output] Missing ios_base qualification on members of a dependent class Yes
308 WP 27 [input.output] Table 82 mentions unrelated headers Yes
365 WP 27 [input.output] Lack of const-qualification in clause 27 Yes
369 WP 27.3 [iostream.objects] io stream objects and static ctors Yes
331 WP 27.4.2.1.1 [ios::failure] bad declaration of destructor for ios_base::failure Yes
363 WP 27.4.2.1.1 [ios::failure] Missing exception specification in 27.4.2.1.1 Yes
49 WP 27.4.2.4 [ios.members.static] Underspecification of ios_base::sync_with_stdio Yes
441 WP 27.4.3 [fpos] Is fpos::state const? Yes
256 WP 27.4.4.2 [basic.ios.members] typo in 27.4.4.2, p17: copy_event does not exist Yes
292 WP 27.4.4.2 [basic.ios.members] effects of a.copyfmt (a) Yes
272 WP 27.4.4.3 [iostate.flags] Missing parentheses around subexpression Yes 569
412 WP 27.4.4.3 [iostate.flags] Typo in 27.4.4.3 Yes 429
468 WP 27.4.4.3 [iostate.flags] unexpected consequences of ios_base::operator void*() Yes
364 WP 27.5.2.4.2 [streambuf.virt.buffer] Inconsistent wording in 27.5.2.4.2 Yes
373 WP 27.6.1.2.1 [istream.formatted.reqmts] Are basic_istream and basic_ostream to use (exceptions()&badbit) != 0 ? Yes
118 WP 27.6.1.2.2 [istream.formatted.arithmetic] basic_istream uses nonexistent num_get member functions Yes
136 WP 27.6.1.3 [istream.unformatted] seekp, seekg setting wrong streams? Yes
243 WP 27.6.1.3 [istream.unformatted] get and getline when sentry reports failure Yes
370 WP 27.6.1.3 [istream.unformatted] Minor error in basic_istream::get Yes
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
165 WP 27.6.2.1 [ostream] xsputn(), pubsync() never called by basic_ostream members? Yes
311 WP 27.6.2.1 [ostream] Incorrect wording in basic_ostream class synopsis Yes
442 WP 27.6.2.4 [ostream::sentry] sentry::operator bool() inconsistent signature Yes
117 WP 27.6.2.6.2 [ostream.inserters.arithmetic] basic_ostream uses nonexistent num_put member functions Yes
640 WP 27.6.2.6.2 [ostream.inserters.arithmetic] 27.6.2.5.2 does not handle (unsigned) long long Yes
167 WP 27.6.2.6.4 [ostream.inserters.character] Improper use of traits_type::length() Yes
474 WP 27.6.2.6.4 [ostream.inserters.character] confusing Footnote 297 Yes
333 WP 27.6.2.8 [ostream.manip] does endl imply synchronization with the device? Yes
183 WP 27.6.3 [std.manip] I/O stream manipulators don't work for wide character streams Yes
252 WP 27.7 [string.streams] missing casts/C-style casts used in iostreams Yes
251 WP 27.7.1 [stringbuf] basic_stringbuf missing allocator_type Yes
238 WP 27.7.1.1 [stringbuf.cons] Contradictory results of stringbuf initialization. Yes
375 WP 27.7.1.4 [stringbuf.virtuals] basic_ios should be ios_base in 27.7.1.3 Yes
376 WP 27.7.1.4 [stringbuf.virtuals] basic_streambuf semantics Yes
432 WP 27.7.1.4 [stringbuf.virtuals] stringbuf::overflow() makes only one write position available Yes
453 WP 27.7.1.4 [stringbuf.virtuals] basic_stringbuf::seekoff need not always fail for an empty stream 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
443 WP 27.8.1.4 [filebuf.members] filebuf::close() inconsistent use of EOF Yes
171 WP 27.8.1.5 [filebuf.virtuals] Strange seekpos() semantics due to joint position Yes
285 WP 27.8.1.7 [ifstream.cons] minor editorial errors in fstream ctors Yes
524 WP 28 [re] regex named character classes and case-insensitivity don't mix Yes
628 WP 28.8 [re.regex] Inconsistent definition of basic_regex constructor Yes
681 WP 28.9.2 [re.submatch.op] Operator functions impossible to compare are defined in [re.submatch.op] Yes
646 WP 28.10.4 [re.results.form] const incorrect match_result members Yes
652 WP 28.12.1 [re.regiter] regex_iterator and const correctness Yes
650 WP 28.12.2 [re.tokiter] regex_token_iterator and const correctness Yes
651 WP 28.12.2.1 [re.tokiter.cnstr] Missing preconditions for regex_token_iterator c'tors Yes
109 WP D.8 [depr.lib.binders] Missing binders for non-const sequence elements Yes
362 WP D.8 [depr.lib.binders] bind1st/bind2nd type safety Yes