N1622=04-0062 Matt Austern 24 Mar 2004
In 6.3.3, change "for any valid set of charT, traits, and Alloc" to "for any valid set of charT, traits, and Alloc such that charT is an integer type."
Add the following exception guarantee:
"For unordered associative containers, if an exception is thrown from within a rehash() function other than by the container's hash function or comparison function, the rehash() function has no effect."
To section 6.2.1, Unordered associative container requirements, add:
Unordered associative containers conform to the requirements for Containers (C++ Standard, 23.1, Container requirements), except that the following expressions are not required to be valid, where a and b denote values of a type X, and X is an unordered associative container class:
unsupported expressions a == b a != b a < b a > b a <= b a >= b
Page 117 in requirements table for a.rehash(n) =============================================== change Pre: n > a.size() / a.max_load_factor(). Changes the number of buckets so that it is at least n. to a.bucket_count() > a.size() / a.max_load_factor(). a.bucket_count() >= n.
In clause 6.3.1, after the first sentence of the last paragraph, add: "The insert members shall not affect the validity of iterators if (N+n) < z * B, where N' is the container's size, n is the number of elements inserted, B is the container's bucket count, and z is the container's maximum load factor."