std::weak_ptr<T>::owner_hash
std::size_t owner_hash() const noexcept; | (с C++26) |
Возвращает неопределённое значение, такое что для любого объекта other, где owner_equal(other) является true, owner_hash() == other.owner_hash() является true.
Эта хеш-функция позволяет использовать разделяемые и слабые указатели в качестве ключей в неупорядоченных ассоциативных контейнерах, обычно с помощью std::owner_hash.
Возвращаемое значение
Значение, одинаковое для любых объектов std::shared_ptr или std::weak_ptr, совместно использующих одно и то же владение.
Примечания
| Макрос для проверки поддержки возможности | Значение | Стандарт | Возможность |
|---|---|---|---|
__cpp_lib_smart_ptr_owner_equality | 202306L | (C++26) | Возможность использовать std::weak_ptr в качестве ключей в неупорядоченных ассоциативных контейнерах |
Пример
См. также
|
(C++26) | предоставляет хеширование разделяемых и слабых указателей на основе владельца (класс) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/memory/weak_ptr/owner_hash