C++ Standard Library Issues List (Revision R51)

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 New 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 (6 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
663 New 17.3.1.3 [structure.specifications] Complexity Requirements No
626 Open 17.3.1.3 [structure.specifications] new Remark clauses not documented No
657 New 17.4.2.1 [using.headers] unclear requirement about header inclusion No
529 Open 17.4.3.8 [res.on.required] The standard encourages redundant and confusing preconditions Yes

Section 18 (5 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 New 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 New 18.7.1 [exception] null pointer constant for exception_ptr 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.3.1 [syserr.syserr.overview] Some system_error issues No

Section 20 (23 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Duplicates
672 New 20.1.1 [utility.arg.requirements] Swappable requirements need updating Yes
635 New 20.1.2 [allocator.requirements] domain of allocator::address Yes
258 Open 20.1.2 [allocator.requirements] Missing allocator requirement Yes
401 Open 20.1.2 [allocator.requirements] incorrect type casts in table 32 in lib.allocator.requirements 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
700 New 20.2.2 [forward] N1856 defines struct identity Yes
706 New 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
705 New 20.4.7 [meta.trans.other] type-trait decay incompletely specified Yes
660 Ready 20.5 [function.objects] Missing Bitwise Operations Yes
688 New 20.5.5.1 [refwrap.const] reference_wrapper, cref unsafe, allow binding to rvalues Yes
689 New 20.5.5.1 [refwrap.const] reference_wrapper constructor overly constrained Yes
527 Open 20.5.10.1.3 [func.bind.bind] tr1::bind has lost its Throws clause Yes
634 New 20.6.1.1 [allocator.members] allocator.address() doesn't work for types overloading operator& Yes 350
582 Open 20.6.4.1 [uninitialized.copy] specialized algorithms and volatile storage Yes
673 New 20.6.5 [unique.ptr] unique_ptr update Yes
686 New 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
674 New 20.6.6.2 [util.smartptr.shared] shared_ptr interface changes for consistency with N1856 Yes
710 New 20.6.6.2 [util.smartptr.shared] Missing postconditions Yes
687 New 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

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

(view all issues)

Issue Status Section Title Proposed Resolution Duplicates
708 New 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
585 New 22.2 [locale.categories] facet error reporting Yes
503 Open 22.2 [locale.categories] more on locales No
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 New 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
393 New 22.2.1.4.2 [locale.codecvt.virtuals] do_in/do_out operation on state unclear Yes
664 New 22.2.1.4.2 [locale.codecvt.virtuals] do_unshift for codecvt<char, char, mbstate_t> No
665 New 22.2.1.4.2 [locale.codecvt.virtuals] do_unshift return value No
23 Open 22.2.2.1.2 [facet.num.get.virtuals] Num_get overflow 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 New 22.2.2.2.2 [facet.num.put.virtuals] precision of hexfloat No
667 New 22.2.6.1.2 [locale.money.get.virtuals] money_get's widened minus sign No
668 New 22.2.6.1.2 [locale.money.get.virtuals] money_get's empty minus sign No
669 New 22.2.6.1.2 [locale.money.get.virtuals] Equivalent postive and negative signs in money_get No
670 New 22.2.6.3 [locale.moneypunct] money_base::pattern and space No
666 New 22.2.6.3.2 [locale.moneypunct.virtuals] moneypunct::do_curr_symbol() No

Section 23 (17 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Duplicates
492 Open 23 [containers] Invalid iterator arithmetic expressions Yes
632 New 23.1 [container.requirements] Time complexity of size() for std::set No
675 New 23.1 [container.requirements] Move assignment of containers Yes
704 New 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
518 Review 23.1.3 [unord.req] Are insert and erase stable for unordered_multiset and unordered_multimap? Yes
679 New 23.2 [sequences] resize parameter by value Yes
588 New 23.2.1 [array] requirements on zero sized tr1::arrays and other details No
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
638 New 23.2.2.3 [deque.modifiers] deque end invalidation during erase No
96 Open 23.2.5 [vector] Vector<bool> is not a container Yes
703 New 23.3.1.2 [map.access] map::at() need a complexity specification Yes
693 New 23.3.5 [template.bitset] std::bitset::all() missing Yes
694 New 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 New 23.4 [unord] Moving the unordered containers 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 New 24.4.1.3.19 [reverse.iter.opdiff] reverse_iterator/move_iterator difference has invalid signatures No
561 New 24.4.2.6.5 [inserter] inserter overly generic Yes
680 Open 24.4.3.1 [move.iterator] move_iterator operator-> return Yes
659 New 24.5.3 [istreambuf.iterator] istreambuf_iterator should have an operator->() Yes

Section 25 (10 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
488 Ready 25.2.11 [alg.rotate] rotate throws away useful information Yes
552 New 25.2.12 [alg.random.shuffle] random_shuffle and its generator 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
713 New 25.3.1.1 [sort] sort() complexity is too lax Yes
577 Ready 25.3.3.2 [upper.bound] upper_bound(first, last, ...) cannot return last Yes
715 New 25.3.7 [alg.min.max] minmax_element complexity is too lax Yes

Section 26 (22 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Duplicates
595 New 26.3 [complex.numbers] TR1/C++0x: fabs(complex<T>) redundant / wrongly specified Yes
387 Open 26.3 [complex.numbers] std::complex over-encapsulated Yes
629 New 26.3.6 [complex.ops] complex insertion and locale dependence No
699 New 26.4 [rand] N2111 changes min/max No
654 New 26.4.1.3 [rand.req.eng] Missing IO roundtrip for random number engines Yes
678 New 26.4.1.3 [rand.req.eng] Changes for [rand.req.eng] Yes
548 Open 26.4.6 [rand.device] May random_device block? No
607 New 26.4.7.1 [rand.util.seedseq] Concern about short seed vectors Yes
608 New 26.4.7.1 [rand.util.seedseq] Unclear seed_seq construction details Yes
677 New 26.4.7.1 [rand.util.seedseq] Weaknesses in seed_seq::randomize [rand.util.seedseq] Yes
712 New 26.4.7.1 [rand.util.seedseq] seed_seq::size no longer useful Yes
655 New 26.4.7.2 [rand.util.canonical] Signature of generate_canonical not useful Yes
621 New 26.5 [numarray] non-const copy assignment operators of helper arrays Yes
620 New 26.5.2.1 [valarray.cons] valid uses of empty valarrays Yes
630 New 26.5.2.1 [valarray.cons] arrays of valarray Yes
624 New 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 New 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
550 New 26.7 [c.math] What should the return type of pow(float,int) be? No
722 New 26.7 [c.math] Missing [c.math] functions nanf and nanl Yes

Section 27 (27 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Duplicates
423 Open 27 [input.output] effects of negative streamsize in iostreams Yes
623 New 27.1.1 [iostream.limits.imbue] pubimbue forbidden to call imbue Yes
574 New 27.3 [iostream.objects] DR 369 Contradicts Text No
418 Open 27.4.2.1.6 [ios::Init] exceptions thrown during iostream cleanup No
573 New 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 New 27.5.2.4.5 [streambuf.virt.put] xsputn inefficient Yes
567 New 27.6 [iostream.format] streambuf inserter and extractor should be unformatted 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
661 New 27.6.1.2.2 [istream.formatted.arithmetic] New 27.6.1.2.2 changes make special extractions useless Yes
696 New 27.6.1.2.2 [istream.formatted.arithmetic] istream::operator>>(int&) broken No
639 New 27.6.1.2.3 [istream::extractors] Still problems with exceptions during streambuf IO 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 New 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 New 27.7 [string.streams] stringbuf ctor inefficient Yes
563 New 27.7.1.4 [stringbuf.virtuals] stringbuf seeking from end Yes
564 New 27.7.1.4 [stringbuf.virtuals] stringbuf seekpos underspecified Yes
596 New 27.8.1.4 [filebuf.members] 27.8.1.3 Table 112 omits "a+" and "a+b" modes No
454 Open 27.8.1.4 [filebuf.members] basic_filebuf::open should accept wchar_t names Yes
592 New 27.8.1.9 [ifstream.members] Incorrect treatment of rdbuf()->close() return type Yes
622 New 27.8.1.17 [fstream.members] behavior of filebuf dtor and close on error Yes

Section 28 (11 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
524 Open 28 [re] regex named character classes and case-insensitivity don't mix No
723 New 28.8 [re.regex] basic_regex should be moveable Yes
682 New 28.8.2 [re.regex.construct] basic_regex ctor takes InputIterator or ForwardIterator? No
681 New 28.9.2 [re.submatch.op] Operator functions impossible to compare are defined in [re.submatch.op] No
645 New 28.10 [re.results] Missing members in match_results No
684 New 28.10 [re.results] Unclear which members of match_results should be used in comparison No
652 New 28.12.1 [re.regiter] regex_iterator and const correctness Yes
650 New 28.12.2 [re.tokiter] regex_token_iterator and const correctness Yes
651 New 28.12.2.1 [re.tokiter.cnstr] Missing preconditions for regex_token_iterator c'tors 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 New 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 6 (1 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Duplicates
691 New TR1 6.3 [tr.hash] const_local_iterator cbegin, cend missing from TR1 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