Library Issues List Table of Contents

# C++ Standard Library Issues List (Revision R59)

# 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 (60 issues)

Issue | Status | Section | Title | Proposed Resolution | Duplicates
873 | New | 3.9.1 [basic.fundamental] | signed integral type and unsigned integral type are not clearly defined | Yes |
877 | New | 17 [library] | to `throw()` or to Throw: Nothing. | Yes |
841 | New | 18.3.1 [cstdint.syn] | cstdint.syn inconsistent with C99 | Yes |
820 | New | 18.7.5 [propagation] | `current_exception()`'s interaction with throwing copy ctors | Yes |
819 | New | 18.7.6 [except.nested] | rethrow_if_nested | No |
822 | New | 20.1.1 [utility.arg.requirements] | Object with explicit copy constructor no longer `CopyConstructible` | Yes |
811 | New | 20.2.3 [pairs] | `pair` of pointers no longer works with literal 0 | No |
849 | New | 20.5.7 [meta.trans.other] | missing type traits to compute root class and derived class of types in a class hierachy | Yes |
856 | New | 20.5.7 [meta.trans.other] | Removal of `aligned_union` | Yes |
816 | New | 20.6.11.1.3 [func.bind.bind] | Should `bind()`'s returned functor have a nofail copy ctor when `bind()` is nofail? | No |
817 | New | 20.6.11.1.3 [func.bind.bind] | `bind` needs to be moved | No |
843 | New | 20.6.17.1 [func.referenceclosure.cons] | Reference Closure | Yes |
866 | New | 20.7.10 [specialized.algorithms] | Qualification of placement new-expressions | Yes |
854 | New | 20.7.11.1.1 [unique.ptr.dltr.dflt] | `default_delete` converting constructor underspecified | Yes |
821 | New | 20.7.11.3.3 [unique.ptr.runtime.modifiers] | Minor cleanup : `unique_ptr` | Yes |
827 | New | 20.7.12.2.1 [util.smartptr.shared.const] | `constexpr shared_ptr::shared_ptr()?` | No |
876 | New | 21.3 [basic.string] | `basic_string` access operations should give stronger guarantees | Yes |
847 | New | 21.3.1 [string.require] | string exception safety guarantees | Yes |
721 | New | 22.1.3.2.2 [conversions.string] | `wstring_convert` inconsistensies | No |
836 | New | 22.2.6.1.2 [locale.money.get.virtuals] | effects of `money_base::space` and `money_base::none` on `money_get` | Yes | 670
868 | New | 23 [containers] | default construction and value-initialization | Yes |
861 | New | 23.1 [container.requirements] | Incomplete specification of EqualityComparable for std::forward_list | Yes |
869 | New | 23.1.5 [unord.req] | Bucket (local) iterators and iterating past end | Yes |
870 | New | 23.1.5 [unord.req] | Do unordered containers not support function pointers for predicate/hasher? | Yes |
855 | New | 23.2.2.2 [deque.capacity] | capacity() and reserve() for deque? | Yes |
878 | New | 23.2.3 [forwardlist] | `forward_list` preconditions | Yes |
751 | New | 23.2.7 [vector.bool] | change pass-by-reference members of `vector<bool>` to pass-by-value? | No |
814 | New | 23.2.7 [vector.bool] | `vector<bool>::swap(reference, reference)` not defined | No |
853 | New | 23.3.5 [template.bitset] | `to_string` needs updating with `zero` and `one` | Yes |
765 | New | 24.1 [iterator.requirements] | more on iterator validity | No |
872 | New | 24.4.3.3.12 [move.iter.op.index] | `move_iterator::operator[]` has wrong return type | Yes |
788 | New | 24.5.1 [istream.iterator] | ambiguity in [istream.iterator] | Yes |
838 | New | 24.5.1 [istream.iterator] | can an end-of-stream iterator become a non-end-of-stream one? | Yes |
865 | New | 25.2.6 [alg.fill] | More algorithms that throw away information | Yes |
812 | New | 25.3.1 [alg.sort] | unsolicited multithreading considered harmful? | No |
780 | New | 25.3.4 [alg.merge] | `std::merge()` specification incorrect/insufficient | Yes |
862 | New | 25.3.5.1 [includes] | Impossible complexity for 'includes' | No |
860 | New | 26 [numerics] | Floating-Point State | No |
874 | New | 26.4.8.5.1 [rand.dist.samp.discrete] | Missing `initializer_list` constructor for `discrete_distribution` | Yes |
875 | New | 26.4.8.5.2 [rand.dist.samp.pconst] | Missing `initializer_list` constructor for `piecewise_constant_distribution` | Yes |
867 | New | 26.5.2.1 [valarray.cons] | Valarray and value-initialization | Yes |
871 | New | 26.6.5 [numeric.iota] | Iota's requirements on T are too strong | Yes |
835 | New | 27.4.4.2 [basic.ios.members] | tying two streams together (correction to DR 581) | Yes |
837 | New | 27.4.4.2 [basic.ios.members] | `basic_ios::copyfmt()` overly loosely specified | Yes |
696 | New | 27.6.1.2.2 [istream.formatted.arithmetic] | `istream::operator>>(int&)` broken | No |
810 | New | 27.6.4 [ext.manip] | Missing traits dependencies in operational semantics of extended manipulators | Yes |
863 | New | 27.8.1 [fstreams] | What is the state of a stream after close() succeeds | No |
727 | New | 28.11.4 [re.alg.replace] | `regex_replace()` doesn't accept `basic_string`s with custom traits and allocators | Yes |
716 | New | 28.13 [re.grammar] | Production in [re.grammar] not actually modified | Yes |
818 | New | 29.1 [atomics.order] | wording for memory ordering | Yes |
845 | New | 29.3 [atomics.types] | atomics cannot support aggregate initialization | Yes |
846 | New | 29.3 [atomics.types] | No definition for constructor | No |
864 | New | 29.4 [atomics.types.operations] | Defect in atomic wording | Yes |
857 | New | 30.4.1 [thread.condition.condvar] | `condition_variable::time_wait` return `bool` error prone | No |
858 | New | X [garbage.collection] | Wording for Minimal Support for Garbage Collection | No |
859 | New | X [datetime] | Monotonic Clock is Conditionally Supported? | No |
785 | New | TR1 5.1.4.5 [tr.rand.eng.disc] | Random Number Requirements in TR1 | 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 |
568 | New | TR1 8.16.4 [tr.c99.cmath.over] | log2 overloads missing | Yes |

## Open (89 issues)

Issue | Status | Section | Title | Proposed Resolution | Duplicates
833 | Open | 17.4.1.3 [compliance] | Freestanding implementations header list needs review for C++0x | No |
471 | Open | 18.6.1 [type.info] | result of what() implementation-defined | Yes |
832 | Open | 19.4 [syserr] | Applying constexpr to System error support | Yes |
825 | Open | 19.4.2.1 [syserr.errcode.overview] | Missing rvalues reference stream insert/extract operators? | No |
724 | Open | 20.1.1 [utility.arg.requirements] | `DefaultConstructible` is not defined | Yes |
742 | Open | 20.1.1 [utility.arg.requirements] | Enabling `swap` for proxy iterators | Yes |
753 | Open | 20.1.1 [utility.arg.requirements] | Move constructor in draft | 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 |
801 | Open | 20.4 [tuple] | `tuple` and `pair` trivial members | No |
719 | Open | 20.5 [meta] | `std::is_literal` type traits should be provided | Yes |
747 | Open | 20.5.4.3 [meta.unary.prop] | We have 3 separate type traits to identify classes supporting no-throw operations | No |
750 | Open | 20.5.5 [meta.rel] | The current definition for `is_convertible` requires that the type be implicitly convertible, so explicit constructors are ignored. | No |
688 | Open | 20.6.5.1 [refwrap.const] | reference_wrapper, cref unsafe, allow binding to rvalues | Yes |
815 | Open | 20.6.15.2.4 [func.wrap.func.inv] | `std::function` and `reference_closure` do not use perfect forwarding | No |
582 | Open | 20.7.10.1 [uninitialized.copy] | specialized algorithms and volatile storage | Yes |
834 | Open | 20.7.11.2 [unique.ptr.single] | Unique_ptr::pointer requirements underspecified | Yes |
711 | Open | 20.7.12.2.5 [util.smartptr.shared.obs] | Contradiction in empty `shared_ptr` | Yes |
343 | Open | 21 [strings] | Unspecified library header dependencies | Yes |
830 | Open | 21.1 [char.traits] | Incomplete list of char_traits specializations | Yes |
614 | Open | 21.3 [basic.string] | std::string allocator requirements still inconsistent | No |
718 | Open | 21.3 [basic.string] | `basic_string` is not a sequence | Yes |
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 |
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 | 836
492 | Open | 23 [containers] | Invalid iterator arithmetic expressions | Yes |
774 | Open | 23 [containers] | Member swap undefined for most containers | 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 |
760 | Open | 23.1 [container.requirements] | The emplace issue | Yes |
588 | Open | 23.2.1 [array] | requirements on zero sized tr1::arrays and other details | No |
617 | Open | 23.2.1 [array] | std::array is a sequence that doesn't satisfy the sequence requirements? | No |
96 | Open | 23.2.6 [vector] | Vector<bool> is not a container | Yes |
839 | Open | 23.3 [associative] | Maps and sets missing splice operation | No |
676 | Open | 23.4 [unord] | Moving the unordered containers | 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.4 [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 |
190 | Open | 25.3.7 [alg.min.max] | min() and max() functions should be std::binary_functions | No |
800 | Open | 26.4.7.1 [rand.util.seedseq] | Issues in 26.4.7.1 [rand.util.seedseq](6) | Yes |
793 | Open | 26.4.8.5.1 [rand.dist.samp.discrete] | `discrete_distribution` missing constructor | Yes |
794 | Open | 26.4.8.5.2 [rand.dist.samp.pconst] | `piecewise_constant_distribution` missing constructor | Yes |
732 | Open | 26.4.8.5.3 [rand.dist.samp.genpdf] | Defect in [rand.dist.samp.genpdf] | Yes | 795
630 | Open | 26.5.2.1 [valarray.cons] | arrays of valarray | Yes |
430 | Open | 26.5.2.4 [valarray.sub] | valarray subset operations | Yes |
539 | Open | 26.6.3 [partial.sum] | partial_sum and adjacent_difference should mention requirements | 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 |
128 | Open | 27.7 [string.streams] | Need open_mode() function for file stream, string streams, file buffers, and string buffers | Yes |
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 | 105
523 | Open | 28 [re] | regex case-insensitive character ranges are unimplementable as specified | No |
723 | Open | 28.8 [re.regex] | `basic_regex` should be moveable | Yes |
726 | Open | 28.11.4 [re.alg.replace] | Missing `regex_replace()` overloads | Yes |
463 | Open | D.9.1 [auto.ptr] | auto_ptr usability issues | Yes |
644 | Open | X [func.wrap.func.undef] | Possible typos in 'function' description | Yes |
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 |

## Review (13 issues)

Issue | Status | Section | Title | Proposed Resolution | Duplicates
804 | Review | 19.4 [syserr] | Some problems with classes `error_code`/`error_condition` | Yes |
698 | Review | 19.4.5.1 [syserr.syserr.overview] | `system_error` needs `const char*` constructors | Yes |
752 | Review | 20.1.2 [allocator.requirements] | Allocator complexity requirement | Yes |
823 | Review | 20.2.2 [forward] | `identity<void>` seems broken | Yes |
758 | Review | 20.7.12.2 [util.smartptr.shared] | `shared_ptr` and `nullptr` | Yes |
709 | Review | 21.1.3 [char.traits.specializations] | `char_traits::not_eof` has wrong signature | Yes |
23 | Review | 22.2.2.1.2 [facet.num.get.virtuals] | Num_get overflow result | Yes |
675 | Review | 23.1 [container.requirements] | Move assignment of containers | Yes |
851 | Review | 23.2.1 [array] | simplified array construction | Yes |
803 | Review | 26.4.7.1 [rand.util.seedseq] | Simplification of `seed_seq::seq_seq` | Yes |
734 | Review | 26.4.8.4.3 [rand.dist.norm.chisq] | Unnecessary restriction in [rand.dist.norm.chisq] | Yes |
692 | Review | 27.6.4 [ext.manip] | `get_money` and `put_money` should be formatted I/O functions | Yes |
828 | Review | 30.3.1.1 [thread.mutex.class] | Static initialization for `std::mutex`? | Yes |

## Ready (30 issues)

Issue | Status | Section | Title | Proposed Resolution | Duplicates
829 | Ready | 18.7.5 [propagation] | current_exception wording unclear about exception type | Yes |
805 | Ready | 19.4 [syserr] | `posix_error::posix_errno` concerns | Yes |
808 | Ready | 20.2.2 [forward] | [forward] incorrect redundant specification | Yes |
522 | Ready | 20.4 [tuple] | Tuple doesn't define swap | Yes |
807 | Ready | 20.4.1.2 [tuple.cnstr] | `tuple` construction should not fail unless its element's construction fails | Yes |
769 | Ready | 20.6.15.2 [func.wrap.func] | std::function should use nullptr_t instead of "unspecified-null-pointer-type" | Yes |
848 | Ready | 20.6.16 [unord.hash] | missing `std::hash` specializations for `std::bitset/std::vector<bool>` | Yes |
762 | Ready | 20.7.11 [unique.ptr] | `std::unique_ptr` requires complete type? | Yes |
806 | Ready | 20.7.11.2.5 [unique.ptr.single.modifiers] | `unique_ptr::reset` effects incorrect, too permissive | Yes |
813 | Ready | 20.7.12.2 [util.smartptr.shared] | "empty" undefined for `shared_ptr` | Yes |
180 | Ready | 21.3 [basic.string] | Container member iterator arguments constness has unintended consequences | Yes |
824 | Ready | 21.3.8.9 [string.io] | rvalue ref issue with `basic_string` inserter | Yes |
771 | Ready | 21.4 [string.conversions] | Impossible throws clause in [string.conversions] | Yes |
772 | Ready | 21.4 [string.conversions] | Impossible return clause in [string.conversions] | Yes |
842 | Ready | 23.1 [container.requirements] | ConstructibleAsElement and bit containers | Yes |
720 | Ready | 23.2.1 [array] | Omissions in constexpr usages | Yes |
776 | Ready | 23.2.1 [array] | Undescribed assign function of std::array | Yes |
850 | Ready | 23.2.2.2 [deque.capacity] | Should `shrink_to_fit` apply to `std::deque`? | Yes |
396 | Ready | 23.3.5.1 [bitset.cons] | what are characters zero and one | Yes |
691 | Ready | 23.4 [unord] | const_local_iterator cbegin, cend missing from TR1 | Yes |
852 | Ready | 23.4 [unord] | unordered containers `begin(n)` mistakenly `const` | Yes |
714 | Ready | 25.1.12 [alg.search] | `search_n` complexity is too lax | Yes |
809 | Ready | 25.2.3 [alg.swap] | std::swap should be overloaded for array types | Yes |
779 | Ready | 25.2.8 [alg.remove] | Resolution of #283 incomplete | Yes |
713 | Ready | 25.3.1.1 [sort] | `sort()` complexity is too lax | Yes |
787 | Ready | 25.3.3.4 [binary.search] | complexity of `binary_search` | Yes |
387 | Ready | 26.3 [complex.numbers] | std::complex over-encapsulated | Yes |
629 | Ready | 26.3.6 [complex.ops] | complex insertion and locale dependence | Yes |
844 | Ready | 26.3.9 [cmplx.over] | `complex pow` return type is ambiguous | Yes |
728 | Ready | 26.4.3.2 [rand.eng.mers] | Problem in [rand.eng.mers]/6 | Yes |

## DR (14 issues)

Issue | Status | Section | Title | Proposed Resolution | Duplicates
533 | DR | 20.7.12.2.11 [util.smartptr.getdeleter] | typo in 2.2.3.10/1 | Yes |
438 | DR | 23.1.3 [sequence.reqmts] | Ambiguity in the "do the right thing" clause | Yes |
130 | DR | 23.1.4 [associative.reqmts] | Return type of container::erase(iterator) differs for associative containers | Yes | 451
469 | DR | 23.2.6 [vector] | vector<bool> ill-formed relational operators | Yes |
406 | DR | 23.2.6.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 (34 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
348 | Dup | 20.2.3 [pairs] | Minor issue with std::pair operator< | Yes | 532
350 | Dup | 20.7.5.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.4 [associative.reqmts] | Bug in insert range in associative containers | Yes | 264
246 | Dup | 23.1.4 [associative.reqmts] | `a.insert(p,t)` is incorrectly specified | Yes | 233
451 | Dup | 23.1.4 [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
116 | Dup | 23.3.5 [template.bitset] | bitset cannot be constructed with a const char* | Yes | 778
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
795 | Dup | 26.4.8.5.3 [rand.dist.samp.genpdf] | `general_pdf_distribution` should be dropped | Yes | 732
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
105 | Dup | 27.8 [file.streams] | fstream ctors argument types desired | Yes | 454

## NAD (140 issues)

Issue | Status | Section | Title | Proposed Resolution | Duplicates
653 | NAD | 1.2 [intro.refs] | Library reserved names | Yes |
462 | NAD | 3.6.3 [basic.start.term] | Destroying objects with static storage duration | Yes |
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.9 [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 |
627 | NAD | 18.5.1.1 [new.delete.single] | Low memory and exceptions | 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 |
707 | NAD | 18.7.5 [propagation] | null pointer constant for `exception_ptr` | Yes |
745 | NAD | 18.7.5 [propagation] | copy_exception API slices. | 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 |
840 | NAD | 20.2.3 [pairs] | `pair` default template argument | Yes |
748 | NAD | 20.5.4.3 [meta.unary.prop] | The is_abstract type trait is defined by reference to 10.4. | Yes |
257 | NAD | 20.6.3 [base] | STL functional object and iterator inheritance. | Yes |
480 | NAD | 20.6.3 [base] | unary_function and binary_function should have protected nonvirtual destructors | Yes |
501 | NAD | 20.6.3 [base] | Proposal: strengthen guarantees of lib.comparisons | Yes |
686 | NAD | 20.7.11.2.4 [unique.ptr.single.observers] | Unique_ptr and shared_ptr fail to specify non-convertibility to int for unspecified-bool-type | Yes |
741 | NAD | 20.7.12.2.11 [util.smartptr.getdeleter] | Const-incorrect `get_deleter` function for `shared_ptr` | Yes |
85 | NAD | 21 [strings] | String char types | Yes |
570 | NAD | 21.1 [char.traits] | Request adding additional explicit specializations of char_traits | 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 |
826 | NAD | 22.2.2.2 [locale.nm.put] | Equivalent of `%'d`, or rather, lack thereof? | 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.3 [sequence.reqmts] | Is it undefined if a function in the standard changes in parameters? | Yes |
82 | NAD | 23.1.4 [associative.reqmts] | Missing constant for set elements | Yes |
192 | NAD | 23.1.4 [associative.reqmts] | a.insert(p,t) is inefficient and overconstrained | Yes | 233
215 | NAD | 23.1.4 [associative.reqmts] | Can a map's key_type be const? | Yes |
494 | NAD | 23.1.4 [associative.reqmts] | Wrong runtime complexity for associative container's insert and delete | Yes |
763 | NAD | 23.1.4 [associative.reqmts] | Renaming `emplace()` overloads | Yes |
579 | NAD | 23.1.5 [unord.req] | erase(iterator) for unordered containers should not return an iterator | Yes |
764 | NAD | 23.1.5 [unord.req] | `equal_range` on unordered containers should return a `pair` of `local_iterators` | Yes |
131 | NAD | 23.2.4.4 [list.ops] | list::splice throws nothing | Yes |
491 | NAD | 23.2.4.4 [list.ops] | std::list<>::unique incorrectly specified | Yes |
101 | NAD | 23.2.6 [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.5 [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 |
388 | NAD | 26.3 [complex.numbers] | Use of complex as a key in associative containers | 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 |
729 | NAD | 26.4.1.3 [rand.req.eng] | Problem in [rand.req.eng]/3 | Yes |
730 | NAD | 26.4.1.4 [rand.req.adapt] | Comment on [rand.req.adapt]/3 e) | Yes |
733 | NAD | 26.4.1.5 [rand.req.dist] | Comment on [rand.req.dist]/9 | Yes |
515 | NAD | 26.4.2 [rand.synopsis] | Random number engine traits | Yes |
799 | NAD | 26.4.3.2 [rand.eng.mers] | [tr.rand.eng.mers] and [rand.eng.mers] | Yes |
790 | NAD | 26.4.4.4 [rand.adapt.xor] | `xor_combine::seed` not specified | Yes |
796 | NAD | 26.4.5 [rand.predef] | `ranlux48_base` returns wrong value | Yes |
797 | NAD | 26.4.5 [rand.predef] | `ranlux48` returns wrong value | Yes |
802 | NAD | 26.4.5 [rand.predef] | `knuth_b` returns wrong value | Yes |
548 | NAD | 26.4.6 [rand.device] | May random_device block? | Yes |
731 | NAD | 26.4.7.1 [rand.util.seedseq] | proposal for a customizable `seed_seq` | Yes |
739 | NAD | 26.4.7.2 [rand.util.canonical] | Defect in [rand.util.canonical]/3 | 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 |
773 | NAD | 26.4.8.1 [rand.dist.uni] | issues with random | Yes |
510 | NAD | 26.4.8.2 [rand.dist.bern] | Input_type for bernoulli_distribution | Yes |
735 | NAD | 26.4.8.2.2 [rand.dist.bern.bin] | Unfortunate naming | Yes |
736 | NAD | 26.4.8.5.1 [rand.dist.samp.discrete] | Comment on [rand.dist.samp.discrete] | Yes |
737 | NAD | 26.4.8.5.2 [rand.dist.samp.pconst] | Comment on [rand.dist.samp.pconst] | Yes |
791 | NAD | 26.4.8.5.2 [rand.dist.samp.pconst] | `piecewise_constant_distribution::densities` has wrong name | Yes |
93 | NAD | 26.5 [numarray] | Incomplete Valarray Subset Definitions | Yes |
107 | NAD | 26.5.2 [template.valarray] | Valarray constructor is strange | Yes |
188 | NAD | 26.5.2.6 [valarray.cassign] | valarray helpers missing augmented assignment operators | 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 |
323 | NAD | 26.7 [c.math] | abs() overloads in different headers | 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 |
784 | NAD | 30.3.3.2.3 [thread.lock.unique.mod] | unique_lock::release | 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 |
2 | NAD | D.9.1.3 [auto.ptr.conv] | Auto_ptr conversions effects incorrect | Yes |

## NAD Editorial (49 issues)

Issue | Status | Section | Title | Proposed Resolution | Duplicates
571 | NAD Editorial | 1.2 [intro.refs] | Update C90 references to C99? | Yes |
626 | NAD Editorial | 17.3.1.3 [structure.specifications] | new Remark clauses not documented | Yes |
529 | NAD Editorial | 17.4.3.10 [res.on.required] | The standard encourages redundant and confusing preconditions | Yes |
591 | NAD Editorial | 18.2.1.2 [numeric.limits.members] | Misleading "built-in | Yes |
557 | NAD Editorial | 18.3 [cstdint] | TR1: div(_Longlong, _Longlong) vs div(intmax_t, intmax_t) | Yes |
553 | NAD Editorial | 18.3.1 [cstdint.syn] | very minor editorial change intptr_t / uintptr_t | Yes |
697 | NAD Editorial | 19.4 [syserr] | New `<system_error>` header leads to name clashes | Yes |
390 | NAD Editorial | 20.1.1 [utility.arg.requirements] | CopyConstructible requirements too strict | Yes |
353 | NAD Editorial | 20.2.3 [pairs] | `std::pair` missing template assignment | Yes |
482 | NAD Editorial | 20.2.3 [pairs] | Swapping pairs | Yes |
590 | NAD Editorial | 20.5 [meta] | Type traits implementation latitude should be removed for C++0x | Yes |
525 | NAD Editorial | 20.5.4 [meta.unary] | type traits definitions not clear | Yes |
351 | NAD Editorial | 20.6 [function.objects] | unary_negate and binary_negate: struct or class? | Yes |
658 | NAD Editorial | 20.6 [function.objects] | Two unspecified function comparators in [function.objects] | Yes |
633 | NAD Editorial | 20.6.15.2.5 [func.wrap.func.targ] | Return clause mentions undefined "type()" | Yes |
754 | NAD Editorial | 20.7.10.1 [uninitialized.copy] | Ambiguous return clause for `std::uninitialized_copy` | Yes |
831 | NAD Editorial | 21.1.3 [char.traits.specializations] | wrong type for not_eof() | 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 |
393 | NAD Editorial | 22.2.1.4.2 [locale.codecvt.virtuals] | do_in/do_out operation on state unclear | Yes |
767 | NAD Editorial | 23 [containers] | Forwarding and backward compatibility | Yes |
756 | NAD Editorial | 23.2.5 [container.adaptors] | Container adaptors push | Yes |
757 | NAD Editorial | 23.2.6 [vector] | Typo in the synopsis of vector | Yes |
140 | NAD Editorial | 23.3.1 [map] | map<Key, T>::value_type does not satisfy the assignable requirement | 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 |
592 | NAD Editorial | 27.8.1.9 [ifstream.members] | Incorrect treatment of rdbuf()->close() return type | Yes |
642 | NAD Editorial | 27.8.1.9 [ifstream.members] | Invalidated fstream footnotes in N2134 | Yes |
645 | NAD Editorial | 28.10 [re.results] | Missing members in match_results | Yes |
684 | NAD Editorial | 28.10 [re.results] | Unclear which members of match_results should be used in comparison | 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 |
786 | NAD Editorial | X [datetime.system] | Thread library timed waits, UTC and monotonic clocks | Yes |
555 | NAD Editorial | TR1 8.21 [tr.c99.boolh] | TR1, 8.21/1: typo | Yes |

## NAD Future (4 issues)

Issue | Status | Section | Title | Proposed Resolution | Duplicates
138 | NAD Future | 22.2.1.4 [locale.codecvt] | Class ctype_byname<char> redundant and misleading | Yes |
149 | NAD Future | 23.1.3 [sequence.reqmts] | Insert should return iterator to first element inserted | Yes |
111 | NAD Future | 24.5.3.5 [istreambuf.iterator::equal] | istreambuf_iterator::equal overspecified, inefficient | Yes |
219 | NAD Future | 25.1.5 [alg.find] | find algorithm missing version that takes a binary predicate argument | Yes |

## Pending NAD Editorial (8 issues)

Issue | Status | Section | Title | Proposed Resolution | Duplicates
625 | Pending NAD Editorial | 17 [library] | mixed up Effects and Returns clauses | Yes |
424 | Pending NAD Editorial | 17.3.1.1 [structure.summary] | normative notes | Yes |
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.4.1.6 [tuple.rel] | Tuple comparison | Yes | 348
725 | Pending NAD Editorial | 23.1.3 [sequence.reqmts] | Optional sequence container requirements column label | Yes |
738 | Pending NAD Editorial | 26.4.4.1 [rand.adapt.disc] | Editorial issue in [rand.adapt.disc]/3 | Yes |
717 | Pending NAD Editorial | 26.5.2.3 [valarray.access] | Incomplete `valarray::operator[]` specification in [valarray.access] | Yes |
683 | Pending NAD Editorial | 28.12.2 [re.tokiter] | regex_token_iterator summary error | 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.9 [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.3 [sequence.reqmts] | Optional sequence operation table description unclear | Yes |
151 | TC | 23.1.3 [sequence.reqmts] | Can't currently clear() empty container | Yes |
224 | TC | 23.1.4 [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.4.2 [list.capacity] | list::resize description uses random access iterators | Yes |
69 | TC | 23.2.6 [vector] | Must elements of a vector be contiguous? | Yes |
134 | TC | 23.2.6.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.7 [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 (304 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.2 [reserved.names] | Can an implementor add specializations? | Yes |
226 | WP | 17.4.3.2 [reserved.names] | User supplied specializations or overloads of namespace std function templates | Yes |
232 | WP | 17.4.3.2 [reserved.names] | "depends" poorly defined in 17.4.3.1 | Yes |
422 | WP | 17.4.3.2 [reserved.names] | explicit specializations of member functions of class templates | Yes |
294 | WP | 17.4.3.2.1 [macro.names] | User defined macros and standard headers | Yes |
404 | WP | 17.4.3.5 [replacement.functions] | May a replacement allocation function be declared inline? | Yes |
611 | WP | 17.4.3.7 [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 |
612 | WP | 18.2.1.2 [numeric.limits.members] | numeric_limits::is_modulo insufficiently defined | 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 |
744 | WP | 18.7.5 [propagation] | What is the lifetime of an exception pointed to by an exception_ptr? | Yes |
746 | WP | 18.7.5 [propagation] | current_exception may fail with bad_alloc | Yes |
619 | WP | 18.9 [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 |
672 | WP | 20.1.1 [utility.arg.requirements] | Swappable requirements need updating | 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 |
700 | WP | 20.2.2 [forward] | N1856 defines struct `identity` | Yes |
265 | WP | 20.2.3 [pairs] | std::pair::pair() effects overly restrictive | Yes |
706 | WP | 20.2.3 [pairs] | `make_pair()` should behave as `make_tuple()` wrt. `reference_wrapper()` | Yes |
775 | WP | 20.4.1.4 [tuple.helper] | Tuple indexing should be unsigned? | Yes |
749 | WP | 20.5.4.3 [meta.unary.prop] | Currently `has_nothrow_copy_constructor<T>::value` is true if T has 'a' nothrow copy constructor. | Yes |
705 | WP | 20.5.7 [meta.trans.other] | type-trait `decay` incompletely specified | Yes |
185 | WP | 20.6 [function.objects] | Questionable use of term "inline" | Yes |
660 | WP | 20.6 [function.objects] | Missing Bitwise Operations | Yes |
521 | WP | 20.6.5 [refwrap] | Garbled requirements for argument_type in reference_wrapper | Yes |
689 | WP | 20.6.5.1 [refwrap.const] | reference_wrapper constructor overly constrained | Yes |
284 | WP | 20.6.7 [comparisons] | unportable example in 20.3.7, p6 | Yes |
297 | WP | 20.6.8 [logical.operations] | const_mem_fun_t<>::argument_type should be const T* | Yes |
520 | WP | 20.6.11.1 [func.bind] | Result_of and pointers to data members | Yes |
527 | WP | 20.6.11.1.3 [func.bind.bind] | tr1::bind has lost its Throws clause | Yes |
770 | WP | 20.6.15 [func.wrap] | std::function should use rvalue swap | Yes |
610 | WP | 20.6.15.2.1 [func.wrap.func.con] | Suggested non-normative note for C++0x | Yes |
234 | WP | 20.7.5.1 [allocator.members] | Typos in allocator definition | Yes |
400 | WP | 20.7.5.1 [allocator.members] | redundant type cast in lib.allocator.members | Yes |
578 | WP | 20.7.5.1 [allocator.members] | purpose of hint to allocator::allocate() | Yes |
634 | WP | 20.7.5.1 [allocator.members] | `allocator.address()` doesn't work for types overloading `operator&` | Yes | 350
425 | WP | 20.7.8 [temporary.buffer] | return value of std::get_temporary_buffer | Yes |
673 | WP | 20.7.11 [unique.ptr] | `unique_ptr` update | Yes |
740 | WP | 20.7.11.4 [unique.ptr.compiletime] | Please remove `*_ptr<T[N]>` | Yes |
541 | WP | 20.7.12.2 [util.smartptr.shared] | shared_ptr template assignment and void | Yes |
674 | WP | 20.7.12.2 [util.smartptr.shared] | `shared_ptr` interface changes for consistency with N1856 | Yes |
710 | WP | 20.7.12.2 [util.smartptr.shared] | Missing postconditions | Yes |
687 | WP | 20.7.12.2.1 [util.smartptr.shared.const] | shared_ptr conversion constructor not constrained | Yes |
575 | WP | 20.7.12.2.2 [util.smartptr.shared.dest] | the specification of ~shared_ptr is MT-unfriendly, makes implementation assumptions | Yes |
540 | WP | 20.7.12.2.5 [util.smartptr.shared.obs] | shared_ptr<void>::operator*() | Yes |
542 | WP | 20.7.12.2.5 [util.smartptr.shared.obs] | shared_ptr observers | Yes |
743 | WP | 20.7.12.2.9 [util.smartptr.shared.spec] | rvalue `swap` for `shared_ptr` | Yes |
545 | WP | 20.7.12.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 |
695 | WP | 22.2.1.3 [facet.ctype.special] | ctype<char>::classic_table() not accessible | 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 |
664 | WP | 22.2.1.4.2 [locale.codecvt.virtuals] | `do_unshift` for `codecvt<char, char, mbstate_t>` | Yes |
665 | WP | 22.2.1.4.2 [locale.codecvt.virtuals] | `do_unshift` return value | 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 |
666 | WP | 22.2.6.3.2 [locale.moneypunct.virtuals] | `moneypunct::do_curr_symbol()` | 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
759 | WP | 23.1 [container.requirements] | A reference is not an object | Yes |
766 | WP | 23.1 [container.requirements] | Inconsistent exception guarantees between ordered and unordered associative containers | Yes |
355 | WP | 23.1.3 [sequence.reqmts] | Operational semantics for a.back() | Yes |
103 | WP | 23.1.4 [associative.reqmts] | set::iterator is required to be modifiable, but this allows modification of keys | Yes |
233 | WP | 23.1.4 [associative.reqmts] | Insertion hints in associative containers | Yes | 192, 246
264 | WP | 23.1.4 [associative.reqmts] | Associative container `insert(i, j)` complexity requirements are not feasible. | Yes | 102
316 | WP | 23.1.4 [associative.reqmts] | Vague text in Table 69 | Yes |
354 | WP | 23.1.4 [associative.reqmts] | Associative container lower/upper bound requirements | Yes |
518 | WP | 23.1.5 [unord.req] | Are insert and erase stable for unordered_multiset and unordered_multimap? | Yes |
679 | WP | 23.2 [sequences] | resize parameter by value | Yes |
519 | WP | 23.2.1 [array] | Data() undocumented | Yes |
237 | WP | 23.2.2.1 [deque.cons] | Undefined expression in complexity specification | Yes |
638 | WP | 23.2.2.3 [deque.modifiers] | deque end invalidation during erase | Yes |
307 | WP | 23.2.4 [list] | Lack of reference typedefs in container adaptors | Yes |
320 | WP | 23.2.4.1 [list.cons] | list::assign overspecified | Yes |
410 | WP | 23.2.4.1 [list.cons] | Missing semantics for stack and queue comparison operators | Yes |
250 | WP | 23.2.4.4 [list.ops] | splicing invalidates iterators | Yes |
278 | WP | 23.2.4.4 [list.ops] | What does iterator validity mean? | Yes |
300 | WP | 23.2.4.4 [list.ops] | list::merge() specification incomplete | Yes |
315 | WP | 23.2.4.4 [list.ops] | Bad "range" in list::unique complexity | Yes |
464 | WP | 23.2.6 [vector] | Suggestion for new member functions in standard containers | Yes |
496 | WP | 23.2.6 [vector] | Illegal use of "T" in vector<bool> | Yes |
329 | WP | 23.2.6.2 [vector.capacity] | vector capacity, reserve and reallocation | Yes |
341 | WP | 23.2.6.2 [vector.capacity] | Vector reallocation and swap | Yes |
755 | WP | 23.2.6.2 [vector.capacity] | `std::vector` and `std:string` lack explicit shrink-to-fit operations | Yes |
247 | WP | 23.2.6.4 [vector.modifiers] | `vector`, `deque::insert` complexity | Yes |
414 | WP | 23.2.6.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 |
703 | WP | 23.3.1.2 [map.access] | `map::at()` need a complexity specification | Yes |
214 | WP | 23.3.3 [set] | set::find() missing const overload | Yes | 450
693 | WP | 23.3.5 [template.bitset] | `std::bitset::all()` missing | Yes |
694 | WP | 23.3.5 [template.bitset] | `std::bitset` and `long long` | Yes |
778 | WP | 23.3.5.1 [bitset.cons] | std::bitset does not have any constructor taking a string literal | Yes | 116
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 |
761 | WP | 23.4.1.2 [unord.map.elem] | `unordered_map` needs an `at()` member function | 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 |
685 | WP | 24.4.1.3.19 [reverse.iter.opdiff] | reverse_iterator/move_iterator difference has invalid signatures | Yes |
561 | WP | 24.4.2.6.5 [inserter] | inserter overly generic | Yes |
680 | WP | 24.4.3.1 [move.iterator] | move_iterator operator-> return | 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.4 [alg.foreach] | May the function object passed to for_each modify the elements of the iterated sequence? | Yes |
576 | WP | 25.1.7 [alg.find.first.of] | find_first_of is overconstrained | Yes |
240 | WP | 25.1.8 [alg.adjacent.find] | Complexity of adjacent_find() is meaningless | Yes |
426 | WP | 25.1.12 [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
715 | WP | 25.3.7 [alg.min.max] | `minmax_element` complexity is too lax | Yes |
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 |
595 | WP | 26.3.7 [complex.value.ops] | TR1/C++0x: fabs(complex<T>) redundant / wrongly specified | Yes |
781 | WP | 26.3.7 [complex.value.ops] | `std::complex` should add missing C99 functions | 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 |
654 | WP | 26.4.1.3 [rand.req.eng] | Missing IO roundtrip for random number engines | 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 |
789 | WP | 26.4.4.4 [rand.adapt.xor] | `xor_combine_engine(result_type)` should be explicit | Yes |
508 | WP | 26.4.5 [rand.predef] | Bad parameters for ranlux64_base_01 | Yes |
607 | WP | 26.4.7.1 [rand.util.seedseq] | Concern about short seed vectors | Yes |
608 | WP | 26.4.7.1 [rand.util.seedseq] | Unclear seed_seq construction details | Yes |
677 | WP | 26.4.7.1 [rand.util.seedseq] | Weaknesses in seed_seq::randomize [rand.util.seedseq] | Yes |
712 | WP | 26.4.7.1 [rand.util.seedseq] | `seed_seq::size` no longer useful | Yes |
782 | WP | 26.4.7.1 [rand.util.seedseq] | Extended `seed_seq` constructor is useless | Yes |
655 | WP | 26.4.7.2 [rand.util.canonical] | Signature of generate_canonical not useful | Yes |
792 | WP | 26.4.8.5.2 [rand.dist.samp.pconst] | `piecewise_constant_distribution` is undefined for a range with just one endpoint | Yes |
621 | WP | 26.5 [numarray] | non-const copy assignment operators of helper arrays | Yes |
253 | WP | 26.5.2.1 [valarray.cons] | valarray helper functions are almost entirely useless | Yes |
620 | WP | 26.5.2.1 [valarray.cons] | valid uses of empty valarrays | Yes |
624 | WP | 26.5.2.2 [valarray.assign] | `valarray` assignment and arrays of unequal length | Yes |
389 | WP | 26.5.2.3 [valarray.access] | Const overload of valarray::operator[] returns by value | Yes | 77
618 | WP | 26.5.2.7 [valarray.members] | valarray::cshift() effects on empty array | Yes |
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 |
550 | WP | 26.7 [c.math] | What should the return type of pow(float,int) be? | Yes |
722 | WP | 26.7 [c.math] | Missing [c.math] functions `nanf` and `nanl` | 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 |
623 | WP | 27.1.1 [iostream.limits.imbue] | `pubimbue` forbidden to call `imbue` | Yes |
369 | WP | 27.3 [iostream.objects] | io stream objects and static ctors | Yes |
574 | WP | 27.3 [iostream.objects] | DR 369 Contradicts Text | 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 |
567 | WP | 27.6 [iostream.format] | streambuf inserter and extractor should be unformatted | 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 |
661 | WP | 27.6.1.2.2 [istream.formatted.arithmetic] | New 27.6.1.2.2 changes make special extractions useless | 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 |
581 | WP | 27.6.2.7 [ostream.unformatted] | `flush()` not unformatted function | 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 |
562 | WP | 27.7 [string.streams] | stringbuf ctor inefficient | 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 |
563 | WP | 27.7.1.4 [stringbuf.virtuals] | stringbuf seeking from end | 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 |
596 | WP | 27.8.1.4 [filebuf.members] | 27.8.1.3 Table 112 omits "a+" and "a+b" modes | 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 |
622 | WP | 27.8.1.17 [fstream.members] | behavior of `filebuf` dtor and `close` on error | 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 |
682 | WP | 28.8.2 [re.regex.construct] | basic_regex ctor takes InputIterator or ForwardIterator? | 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 |
768 | WP | 29.3.3 [atomics.types.generic] | Typos in [atomics]? | Yes |
777 | WP | 29.4 [atomics.types.operations] | Atomics Library Issue | Yes |
783 | WP | 30.2.1.1 [thread.thread.id] | `thread::id` reuse | 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 |
798 | WP | D.8 [depr.lib.binders] | Refactoring of binders lead to interface breakage | Yes |