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 Section (active issues only)

(view all issues)

Section 1 (1 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Duplicates
653 Open 1.2 [intro.refs] Library reserved names No

Section 3 (1 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Duplicates
462 Open 3.6.3 [basic.start.term] Destroying objects with static storage duration No

Section 17 (4 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Duplicates
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

Section 18 (8 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Duplicates
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
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

Section 19 (2 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Duplicates
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

Section 20 (31 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Duplicates
724 New 20.1.1 [utility.arg.requirements] DefaultConstructible is not defined Yes
742 New 20.1.1 [utility.arg.requirements] Enabling swap for proxy iterators Yes
753 New 20.1.1 [utility.arg.requirements] Move constructor in draft No
672 Review 20.1.1 [utility.arg.requirements] Swappable requirements need updating Yes
752 New 20.1.2 [allocator.requirements] Allocator complexity requirement Yes
431 Open 20.1.2 [allocator.requirements] Swapping containers with unequal allocators No
580 Open 20.1.2 [allocator.requirements] unused allocator members Yes 479
635 Open 20.1.2 [allocator.requirements] domain of allocator::address Yes
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
522 Open 20.3 [tuple] Tuple doesn't define swap No
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
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
527 Open 20.5.11.1.3 [func.bind.bind] tr1::bind has lost its Throws clause Yes
754 New 20.6.4.1 [uninitialized.copy] Ambiguous return clause for std::uninitialized_copy Yes
582 Open 20.6.4.1 [uninitialized.copy] specialized algorithms and volatile storage Yes
673 Open 20.6.5 [unique.ptr] unique_ptr update Yes
686 Open 20.6.5.2.4 [unique.ptr.single.observers] Unique_ptr and shared_ptr fail to specify non-convertibility to int for unspecified-bool-type Yes
740 New 20.6.5.4 [unique.ptr.compiletime] Please remove *_ptr<T[N]> Yes
710 New 20.6.6.2 [util.smartptr.shared] Missing postconditions Yes
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
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

Section 21 (5 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Duplicates
343 Open 21 [strings] Unspecified library header dependencies Yes
570 Open 21.1 [char.traits] Request adding additional explicit specializations of char_traits 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
614 Open 21.3 [basic.string] std::string allocator requirements still inconsistent No

Section 22 (20 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Duplicates
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
721 New 22.1.3.2.2 [conversions.string] wstring_convert inconsistensies No
503 Open 22.2 [locale.categories] more on locales No
585 Open 22.2 [locale.categories] facet error reporting Yes
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
695 Ready 22.2.1.3 [facet.ctype.special] ctype<char>::classic_table() not accessible Yes
382 Open 22.2.1.4 [locale.codecvt] codecvt do_in/out result No
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
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
666 Ready 22.2.6.3.2 [locale.moneypunct.virtuals] moneypunct::do_curr_symbol() Yes

Section 23 (20 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Duplicates
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
675 Ready 23.1 [container.requirements] Move assignment of containers Yes
725 New 23.1.1 [sequence.reqmts] Optional sequence container requirements column label Yes
579 Open 23.1.3 [unord.req] erase(iterator) for unordered containers should not return an iterator Yes
518 Review 23.1.3 [unord.req] Are insert and erase stable for unordered_multiset and unordered_multimap? Yes
679 Ready 23.2 [sequences] resize parameter by value Yes
617 New 23.2.1 [array] std::array is a sequence that doesn't satisfy the sequence requirements? No
720 New 23.2.1 [array] Omissions in constexpr usages Yes
588 Open 23.2.1 [array] requirements on zero sized tr1::arrays and other details No
638 Review 23.2.2.3 [deque.modifiers] deque end invalidation during erase Yes
96 Open 23.2.5 [vector] Vector<bool> is not a container Yes
751 New 23.2.6 [vector.bool] change pass-by-reference members of vector<bool> to pass-by-value? No
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
396 Open 23.3.5.1 [bitset.cons] what are characters zero and one Yes
676 Ready 23.4 [unord] Moving the unordered containers Yes
691 Review 23.4 [unord] const_local_iterator cbegin, cend missing from TR1 Yes

Section 24 (10 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Duplicates
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
685 Review 24.4.1.3.19 [reverse.iter.opdiff] reverse_iterator/move_iterator difference has invalid signatures 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
659 Open 24.5.3 [istreambuf.iterator] istreambuf_iterator should have an operator->() Yes

Section 25 (7 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Duplicates
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
714 New 25.1.9 [alg.search] search_n complexity is too lax Yes
498 Open 25.2.13 [alg.partitions] Requirements for partition() and stable_partition() too strong Yes
556 Open 25.3 [alg.sorting] is Compare a BinaryPredicate? Yes
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

Section 26 (25 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Duplicates
387 Open 26.3 [complex.numbers] std::complex over-encapsulated Yes
629 Open 26.3.6 [complex.ops] complex insertion and locale dependence No
595 Ready 26.3.7 [complex.value.ops] TR1/C++0x: fabs(complex<T>) redundant / wrongly specified 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
621 Ready 26.5 [numarray] non-const copy assignment operators of helper arrays Yes
630 Open 26.5.2.1 [valarray.cons] arrays of valarray Yes
620 Ready 26.5.2.1 [valarray.cons] valid uses of empty valarrays Yes
624 Ready 26.5.2.2 [valarray.assign] valarray assignment and arrays of unequal length Yes
717 New 26.5.2.3 [valarray.access] Incomplete valarray::operator[] specification in [valarray.access] Yes
430 Open 26.5.2.4 [valarray.sub] valarray subset operations No
618 Review 26.5.2.7 [valarray.members] valarray::cshift() effects on empty array Yes
539 Open 26.6.3 [partial.sum] partial_sum and adjacent_difference should mention requirements No
722 New 26.7 [c.math] Missing [c.math] functions nanf and nanl Yes
550 Open 26.7 [c.math] What should the return type of pow(float,int) be? Yes

Section 27 (25 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Duplicates
423 Open 27 [input.output] effects of negative streamsize in iostreams Yes
623 Ready 27.1.1 [iostream.limits.imbue] pubimbue forbidden to call imbue Yes
574 Review 27.3 [iostream.objects] DR 369 Contradicts Text Yes
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
567 Ready 27.6 [iostream.format] streambuf inserter and extractor should be unformatted Yes
419 Open 27.6.1.1.3 [istream::sentry] istream extractors not setting failbit if eofbit is already set Yes
696 New 27.6.1.2.2 [istream.formatted.arithmetic] istream::operator>>(int&) broken No
661 Ready 27.6.1.2.2 [istream.formatted.arithmetic] New 27.6.1.2.2 changes make special extractions useless Yes
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
581 Ready 27.6.2.7 [ostream.unformatted] flush() not unformatted function Yes
692 New 27.6.4 [ext.manip] get_money and put_money should be formatted I/O functions Yes
562 Ready 27.7 [string.streams] stringbuf ctor inefficient Yes
564 Open 27.7.1.4 [stringbuf.virtuals] stringbuf seekpos underspecified Yes
563 Ready 27.7.1.4 [stringbuf.virtuals] stringbuf seeking from end Yes
454 Open 27.8.1.4 [filebuf.members] basic_filebuf::open should accept wchar_t names Yes
596 Review 27.8.1.4 [filebuf.members] 27.8.1.3 Table 112 omits "a+" and "a+b" modes Yes
622 Ready 27.8.1.17 [fstream.members] behavior of filebuf dtor and close on error Yes

Section 28 (7 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Duplicates
523 Open 28 [re] regex case-insensitive character ranges are unimplementable as specified No
723 New 28.8 [re.regex] basic_regex should be moveable 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
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

Section TR1 5 (3 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Duplicates
546 Open TR1 5.1.1 [tr.rand.req] _Longlong and _ULonglong are integer types 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

Section TR1 8 (1 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Duplicates
568 New TR1 8.16.4 [tr.c99.cmath.over] log2 overloads missing Yes

Section TRDecimal 3 (2 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Duplicates
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