Я немного знаком с историей. Есть еще одна статья, которую вы должны прочитать:
http://www.open -std.org / ОТК1 / SC22 / wg21 / документы / документы / 2008 / n2637.pdf
И я полагаю, что этот более поздний документ является тем, что на самом деле находится в текущем проекте. Таким образом, shared_ptr имеет операторы на основе значений <() <em>и функции-члены на основе владения owner_before. Слабый_птр имеет только последнее.
Мое лучшее предположение заключается в том, что хэш-поддержка для weak_ptr просто упала. Насколько мне известно, никто не предлагал поддержку хеш-функции для weak_ptr. Было много, много проблем при приведении C ++ 0x к стандартизации, ограниченное количество времени и ресурсов для решения проблем, и, без сомнения, будут ошибки и упущения.
Я также думаю, что для добавления поддержки хеш-функции для weak_ptr это должно быть сделано аналогично owner_before: добавьте функцию-член owner_hash как к shared_ptr, так и weak_ptr. Я подозреваю, что уже слишком поздно делать это для C ++ 0x, но это кажется правдоподобным предложением TR2.