std:: owner_hash
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Определено в заголовочном файле
<memory>
|
||
|
struct
owner_hash
;
|
(начиная с C++26) | |
Этот функциональный объект обеспечивает владельце-ориентированное (в отличие от значению-ориентированного) хеширование как std::weak_ptr , так и std::shared_ptr .
Содержание |
Вложенные типы
| Вложенный тип | Определение |
is_transparent
|
unspecified |
Функции-члены
|
operator()
|
вычисляет хеш указателя с разделяемым владением
(функция) |
std::owner_hash:: operator()
|
template
<
class
T
>
std:: size_t operator ( ) ( const std:: shared_ptr < T > & key ) const noexcept ; |
(1) | (since C++26) |
|
template
<
class
T
>
std:: size_t operator ( ) ( const std:: weak_ptr < T > & key ) const noexcept ; |
(2) | (since C++26) |
Эквивалентно return key. owner_hash ( ) ; .
Параметры
| key | - | указатель с разделяемым владением для хеширования |
Возвращаемое значение
Хеш-значение, которое идентично для любого объекта std::shared_ptr или std::weak_ptr с тем же владением.
Примечания
| Макрос тестирования возможностей | Значение | Стандарт | Возможность |
|---|---|---|---|
__cpp_lib_smart_ptr_owner_equality
|
202306L
|
(C++26) |
Включение использования
std::shared_ptr
и
std::weak_ptr
в качестве ключей в
неупорядоченных ассоциативных контейнерах
|
Смотрите также
|
(C++26)
|
предоставляет владельческое хеширование shared указателей
(публичная функция-член
std::shared_ptr<T>
)
|
|
(C++26)
|
предоставляет владельческое хеширование weak указателей
(публичная функция-член
std::weak_ptr<T>
)
|