C++ Standard Library Issues List (Revision R47)

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

(view all issues)

Issue Status Section Title Proposed Resolution Duplicates
653 New 1.2 [intro.refs] Library reserved names No
571 Tentatively Ready 1.2 [intro.refs] Update C90 references to C99? Yes

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

(view all issues)

Issue Status Section Title Proposed Resolution Duplicates
625 Open 17 [library] mixed up Effects and Returns clauses No
385 Tentatively Ready 17 [library] Does call by value imply the CopyConstructible requirement? Yes
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
456 Tentatively Ready 17.4.1.2 [headers] Traditional C header files are overspecified Yes
422 Tentatively Ready 17.4.3.1 [reserved.names] explicit specializations of member functions of class templates Yes
611 Tentatively Ready 17.4.3.6 [res.on.functions] Standard library templates and incomplete types Yes
529 Open 17.4.3.8 [res.on.required] The standard encourages redundant and confusing preconditions Yes

Section 18 (13 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Duplicates
201 Tentatively Ready 18.2.1 [limits] Numeric limits terminology wrong Yes
559 Tentatively Ready 18.2.1 [limits] numeric_limits<const T> Yes
612 Open 18.2.1.2 [numeric.limits.members] numeric_limits::is_modulo insufficently defined Yes
591 Tentatively Ready 18.2.1.2 [numeric.limits.members] Misleading "built-in Yes
613 Tentatively Ready 18.2.1.5 [numeric.special] max_digits10 missing from numeric_limits Yes
416 Tentatively Ready 18.2.2 [c.limits] definitions of XXX_MIN and XXX_MAX macros in climits Yes
557 Open 18.3 [cstdint] TR1: div(_Longlong, _Longlong) vs div(intmax_t, intmax_t) No
593 Tentatively Ready 18.3 [cstdint] __STDC_CONSTANT_MACROS Yes
553 Tentatively Ready 18.3.1 [cstdint.syn] very minor editorial change intptr_t / uintptr_t Yes
627 New 18.5.1.1 [new.delete.single] Low memory and exceptions No
206 Tentatively Ready 18.5.1.1 [new.delete.single] operator new(size_t, nothrow) may become unlinked to ordinary operator new if ordinary version replaced Yes
471 Tentatively Ready 18.6.1 [type.info] result of what() implementation-defined Yes
619 Tentatively Ready 18.8 [support.runtime] Longjmp wording problem Yes

Section 19 (1 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Duplicates
254 Tentatively Ready 19.1 [std.exceptions] Exception types in clause 19 are constructed from std::string Yes

Section 20 (23 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Duplicates
594 Tentatively Ready 20.1.4 [swappable] Disadvantages of defining Swappable in terms of CopyConstructible and Assignable Yes
635 New 20.1.6 [allocator.requirements] domain of allocator::address Yes
401 Open 20.1.6 [allocator.requirements] incorrect type casts in table 32 in lib.allocator.requirements Yes
431 Open 20.1.6 [allocator.requirements] Swapping containers with unequal allocators No
580 Open 20.1.6 [allocator.requirements] unused allocator members Yes 479
258 Tentatively Ready 20.1.6 [allocator.requirements] Missing allocator requirement Yes
560 Tentatively Ready 20.1.6 [allocator.requirements] User-defined allocators without default constructor No
482 Tentatively Ready 20.2.2 [pairs] Swapping pairs Yes
522 Open 20.3 [tuple] Tuple doesn't define swap No
532 Tentatively Ready 20.3.1.5 [tuple.rel] Tuple comparison Yes
525 Open 20.4.5 [meta.unary] type traits definitions not clear Yes
590 Open 20.4.9 [meta.req] Type traits implementation latitude should be removed for C++0x Yes
527 Open 20.5.10.1.3 [func.bind.bind] tr1::bind has lost its Throws clause Yes
610 Tentatively Ready 20.5.14.2.1 [func.wrap.func.con] Suggested non-normative note for C++0x Yes
633 New 20.5.14.2.5 [func.wrap.func.targ] Return clause mentions undefined "type()" Yes
644 New 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
578 Tentatively Ready 20.6.1.1 [allocator.members] purpose of hint to allocator::allocate() Yes
582 Open 20.6.4.1 [uninitialized.copy] specialized algorithms and volatile storage Yes
463 Tentatively Ready 20.6.5 [auto.ptr] auto_ptr usability issues Yes
545 Ready 20.6.6.2.2 [util.smartptr.shared.dest] When is a deleter deleted? Yes
575 Tentatively Ready 20.6.6.2.2 [util.smartptr.shared.dest] the specification of ~shared_ptr is MT-unfriendly, makes implementation assumptions Yes
542 Tentatively Ready 20.6.6.2.5 [util.smartptr.shared.obs] shared_ptr observers Yes

Section 21 (7 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
534 Tentatively Ready 21.3 [basic.string] Missing basic_string members Yes
466 Tentatively Ready 21.3.1 [string.require] basic_string ctor should prevent null pointer error No
586 Tentatively Ready 21.3.8.9 [string.io] string inserter not a formatted function Yes
615 Tentatively Ready 21.4 [c.strings] Inconsistencies in Section 21.4 No

Section 22 (11 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
616 Tentatively Ready 22.2.1.2 [locale.ctype.byname] missing 'typename' in ctype_byname 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
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

Section 23 (16 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Duplicates
492 Open 23 [containers] Invalid iterator arithmetic expressions Yes
470 Tentatively Ready 23 [containers] accessing containers from their elements' special functions Yes
632 New 23.1 [container.requirements] Time complexity of size() for std::set No
479 Tentatively Ready 23.1 [container.requirements] Container requirements and placement new Yes 580
536 Tentatively Ready 23.1 [container.requirements] Container iterator constructor and explicit convertibility Yes 589
589 Tentatively Ready 23.1 [container.requirements] Requirements on iterators of member template functions of containers Yes 536
526 Tentatively Ready 23.1.1 [sequence.reqmts] Is it undefined if a function in the standard changes in parameters? No
233 Tentatively Ready 23.1.2 [associative.reqmts] Insertion hints in associative containers Yes 192, 246
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
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
396 Open 23.3.5.1 [bitset.cons] what are characters zero and one Yes
528 Open 23.4 [unord] TR1: issue 6.19 vs 6.3.4.3/2 (and 6.3.4.5/2) Yes

Section 24 (7 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
561 New 24.4.2.6.5 [inserter] inserter overly generic Yes

Section 25 (8 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
576 Tentatively Ready 25.1.4 [alg.find.first.of] find_first_of is overconstrained Yes
488 Open 25.2.10 [alg.rotate] rotate throws away useful information Yes
552 New 25.2.11 [alg.random.shuffle] random_shuffle and its generator No
498 Open 25.2.12 [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 (29 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 Review 26.3.11 [cmplxh] <ccomplex> Yes
547 Tentatively Ready 26.4 [rand] division should be floating-point, not integer No
572 Tentatively Ready 26.4 [rand] Oops, we gave 507 WP status 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
656 New 26.4.2 [rand.synopsis] Typo in subtract_with_carry_engine declaration Yes
515 Tentatively Ready 26.4.2 [rand.synopsis] Random number engine traits Yes
609 Tentatively Ready 26.4.4.2 [rand.adapt.ibits] missing static const 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
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
636 New 26.5.2.3 [valarray.access] 26.5.2.3 valarray::operator[] No
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
543 Ready 26.5.4 [class.slice] valarray slice default constructor 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
568 New 26.7 [c.math] log2 overloads missing Yes
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

Section 27 (30 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.2 [istream::sentry] istream extractors not setting failbit if eofbit is already set Yes
639 New 27.6.1.2.3 [istream::extractors] Still problems with exceptions during streambuf IO Yes
566 New 27.6.1.3 [istream.unformatted] array forms of unformatted input function undefined for zero-element arrays Yes
342 Open 27.6.1.3 [istream.unformatted] seek and eofbit Yes
531 Review 27.6.1.3 [istream.unformatted] array forms of unformatted input functions Yes
397 Open 27.6.2.3 [ostream::sentry] ostream::sentry dtor throws exceptions No
398 Open 27.6.2.3 [ostream::sentry] effects of end-of-file on unformatted input functions No
394 Open 27.6.2.5.1 [ostream.formatted.reqmts] behavior of formatted output on failure No
640 New 27.6.2.5.2 [ostream.inserters.arithmetic] 27.6.2.5.2 does not handle (unsigned) long long Yes
581 New 27.6.2.6 [ostream.unformatted] flush() not unformatted function Yes
641 New 27.6.4 [ext.manip] Editorial fix for 27.6.4 (N2134) Yes
562 New 27.7 [string.streams] stringbuf ctor inefficient Yes
563 New 27.7.1.3 [stringbuf.virtuals] stringbuf seeking from end Yes
564 New 27.7.1.3 [stringbuf.virtuals] stringbuf seekpos underspecified Yes
643 New 27.8.1.1 [filebuf] Impossible "as if" clauses Yes
596 New 27.8.1.3 [filebuf.members] 27.8.1.3 Table 112 omits "a+" and "a+b" modes No
454 Open 27.8.1.3 [filebuf.members] basic_filebuf::open should accept wchar_t names Yes
592 New 27.8.1.7 [ifstream.members] Incorrect treatment of rdbuf()->close() return type Yes
642 New 27.8.1.7 [ifstream.members] Invalidated fstream footnotes in N2134 Yes
622 New 27.8.1.13 [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
628 New 28.8 [re.regex] Inconsistent definition of basic_regex constructor Yes
645 New 28.10 [re.results] Missing members in match_results No
646 New 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
648 New 28.12.1.1 [re.regiter.cnstr] regex_iterator c'tor needs clarification/editorial fix Yes
650 New 28.12.2 [re.tokiter] regex_token_iterator and const correctness Yes
649 New 28.12.2.1 [re.tokiter.cnstr] Several typos in regex_token_iterator constructors Yes
651 New 28.12.2.1 [re.tokiter.cnstr] Missing preconditions for regex_token_iterator c'tors Yes

Section D (1 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Duplicates
587 New D.7.2.1 [depr.istrstream.cons] iststream ctor missing description Yes

Section TRDecimal 3 (10 issues)

(view all issues)

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