forked from boostorg/unordered
Add some notes on the active issues relevant to the unordered associative
containers. [SVN r2922]
This commit is contained in:
@ -27,4 +27,38 @@ range. This leaves the more expensive methods, such as Knuth's Multiplicative
|
||||
Method which don't tend to work as well as taking the modulous of a prime,
|
||||
have little efficiency advantage and don't work well for (TODO: what are they called?).
|
||||
|
||||
[h2 Active Issues]
|
||||
|
||||
[h3 [@http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#258
|
||||
258. Missing allocator requirement]]
|
||||
|
||||
Need to look into this one.
|
||||
|
||||
[h3 [@http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#431
|
||||
431. Swapping containers with unequal allocators]]
|
||||
|
||||
In a fit of probably unwise enthusiasm, I implemented all the three versions
|
||||
with a macro (BOOST_UNORDERED_SWAP_METHOD) to pick which one is used. As
|
||||
suggested by Howard Hinnant, I set option 3 as the default. I'll probably remove
|
||||
the alternative implementations before review.
|
||||
|
||||
[h3 [@http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#518
|
||||
518. Are insert and erase stable for unordered_multiset and unordered_multimap?]]
|
||||
|
||||
In this implementation, erase is stable but insert is not. As long as a rehash
|
||||
can change the order of the elements, insert can't be.
|
||||
|
||||
[h3 [@http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#528
|
||||
528. TR1: issue 6.19 vs 6.3.4.3/2 (and 6.3.4.5/2)]]
|
||||
|
||||
In the current implementation, for unordered_set and
|
||||
unordered_multiset, iterator and const_iterator have the same type and
|
||||
local_iterator and const_local_iterator also have the same type. This makes it
|
||||
impossible to implement the header exactly as described in the synopsis, as
|
||||
some member functions are overloaded by the same type.
|
||||
According to the proposed resolution,
|
||||
[:If they are the same type, those signatures that become otherwise indistinguishable collapse into a single signature.]
|
||||
So I'm following that - although this means that the header and documentation
|
||||
are currently inconsistent. This will be fixed before review submission.
|
||||
|
||||
[endsect]
|
||||
|
Reference in New Issue
Block a user