Spec-Zone.ru › C++

std::owner_hash

Определено в заголовке <memory>
struct owner_hash;
(с C++26)

Этот объект функции предоставляет хеширование, основанное на владельце (в отличие от значения), для std::weak_ptr и std::shared_ptr.

Вложенные типы

Вложенный тип Определение
is_transparent неопределённый

Члены-функции

operator()
вычисляет хеш указателя на совместное владение
(функция)

std::owner_less::operator()

template< class T >
std::size_t operator()( const std::shared_ptr<T>& key ) const noexcept;
(1) (с C++26)
template< class T >
std::size_t operator()( const std::weak_ptr<T>& key ) const noexcept;
(2) (с C++26)

Эквивалентно return key.owner_hash();.

Параметры

key - указатель на совместное владение, который нужно хешировать

Значение результата

Значение хеша, которое идентично для любого объекта std::shared_ptr или std::weak_ptr с тем же владением.

Примечания

Макрос проверки наличия функции Значение Std Функция
__cpp_lib_smart_ptr_owner_equality 202306L (C++26) Включение возможности использования std::shared_ptr и std::weak_ptr в качестве ключей в неупорядоченных ассоциативных контейнерах

См. также

owner_hash
(C++26)
предоставляет хеширование, основанное на владельце, для указателей на совместное владение
(публичная функция класса std::shared_ptr<T>)
owner_hash
(C++26)
предоставляет хеширование, основанное на владельце, для слабых указателей
(публичная функция класса std::weak_ptr<T>)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/memory/owner_hash

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API