C++ Standard Library Issues List (Revision R49)

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 (4 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

Section 20 (19 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
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
522 Open 20.3 [tuple] Tuple doesn't define swap No
525 Open 20.4.4 [meta.unary] type traits definitions not clear Yes
658 New 20.5 [function.objects] Two unspecified function comparators in [function.objects] Yes
660 New 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
644 Ready 20.5.14.2.6 [func.wrap.func.undef] Possible typos in 'function' description 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
687 New 20.6.6.2.1 [util.smartptr.shared.const] shared_ptr conversion constructor not constrained Yes

Section 21 (3 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
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
502 Open 22.1.1.1.1 [locale.category] Proposition: Clarification of the interaction between a facet and an iterator Yes
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
662 New 22.2.2.1.2 [facet.num.get.virtuals] Inconsistent handling of incorrectly-placed thousands separators Yes
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 (16 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
579 New 23.1.3 [unord.req] erase(iterator) for unordered containers should not return an iterator Yes
518 Open 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
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
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
691 New 23.4 [unord] const_local_iterator cbegin, cend missing from TR1 No
528 Open 23.4 [unord] TR1: issue 6.19 vs 6.3.4.3/2 (and 6.3.4.5/2) 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 New 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 (7 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Duplicates
631 New 25 [algorithms] conflicting requirements for BinaryPredicate Yes
290 Open 25.1.1 [alg.foreach] Requirements to for_each and its function object No
488 Open 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
577 New 25.3.3.2 [upper.bound] upper_bound(first, last, ...) cannot return last Yes

Section 26 (24 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
551 Ready 26.3.11 [cmplxh] <ccomplex> Yes
546 New 26.4.1 [rand.req] _Longlong and _ULonglong are integer types 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
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
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
583 New 26.7 [c.math] div() for unsigned integral types Yes
584 New 26.7 [c.math] missing int pow(int,int) functionality Yes
637 New 26.7 [c.math] [c.math]/10 inconsistent return values Yes
690 New 26.7 [c.math] abs(long long) should return long long Yes

Section 27 (31 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
531 Ready 27.6.1.3 [istream.unformatted] array forms of unformatted input functions Yes
566 Ready 27.6.1.3 [istream.unformatted] array forms of unformatted input function undefined for zero-element arrays 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
640 Ready 27.6.2.6.2 [ostream.inserters.arithmetic] 27.6.2.5.2 does not handle (unsigned) long long Yes
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
643 Ready 27.8.1.1 [filebuf] Impossible "as if" clauses 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 (12 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
628 Ready 28.8 [re.regex] Inconsistent definition of basic_regex constructor 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
646 Ready 28.10.4 [re.results.form] const incorrect match_result members Yes
647 New 28.11.3 [re.alg.search] Inconsistent regex_search params Yes
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

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

(view all issues)

Issue Status Section Title Proposed Resolution Duplicates
604 Ready TRDecimal 3 [trdec.types] Decimal: Storing a reference to a facet unsafe. Yes
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