std:: hash <std::indirect>
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
| Observers | ||||
| Modifiers | ||||
| Non-member functions | ||||
| Deduction guides | ||||
| Helper classes | ||||
|
hash
<std::indirect>
|
|
Определено в заголовке
<memory>
|
||
|
template
<
class
T,
class
Allocator
>
struct hash < std :: indirect < T, Allocator >> ; |
(начиная с C++26) | |
Частичная специализация
std::hash
для
std::indirect
позволяет пользователям получать хеши объектов, владеемых
indirect
объектами.
Специализация std:: hash < std :: indirect < T, Allocator >> включена если std:: hash < T > включена, и отключена в противном случае.
Если включено, для объекта obj типа std :: indirect < T, Allocator > , std:: hash < std :: indirect < T, Allocator >> ( ) ( obj ) вычисляется как:
- std:: hash < T > ( ) ( * obj ) , если obj не является пустым .
- Определяемое реализацией значение, если obj является пустым.
Функции-члены этой специализации не гарантированно являются
noexcept
, потому что хэш-функция для
T
может генерировать исключение.
Пример
|
Этот раздел не завершён
Причина: отсутствует пример |
Смотрите также
|
(C++11)
|
функциональный объект хеш-функции
(шаблон класса) |