Why is std :: hash not defined for std :: weak_ptr in C ++ 0x?

After reading the discussion of the <operator for std :: weak_ptr, I see no reason why defining std :: hash to use the control block for std :: weak_ptr will not work. I also cannot believe that this was ignored by the standards committee. Has anyone read the relevant discussion on this topic?

Edit: Discussion on the <operator for std :: weak_ptr http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1590.html

+5
source share
2 answers

I am a little familiar with the story. There is another additional article that you should also read:

http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2637.pdf

, - , . , shared_ptr - <() - owner_before. weak_ptr .

, - weak_ptr . - _ptr, . ++ 0x , , , , .

weak_ptr, owner_before: - owner_hash shared_ptr weak_ptr. , ++ 0x, TR2.

+3

, (. lwg issue 1406), , . , ( - ).

+2

All Articles