Standard library header <typeindex> (C++11)
From cppreference.net
C++
Standard library headers
Этот заголовок является частью библиотеки поддержки типов .
Включения |
||
|
(C++20)
|
Поддержка оператора трёхстороннего сравнения | |
Классы |
||
|
(C++11)
|
обёртка вокруг объекта
type_info
, которая может использоваться как индекс в ассоциативных и неупорядоченных ассоциативных контейнерах
(класс) |
|
|
(C++11)
|
поддержка хеширования для
std::type_index
(специализация шаблона класса) |
|
Предварительные объявления |
||
|
Определено в заголовочном файле
<functional>
|
||
|
(C++11)
|
функциональный объект хеширования
(шаблон класса) |
|
Синопсис
#include <compare> namespace std { class type_index; template<class T> struct hash; template<> struct hash<type_index>; }
Класс std::type_index
namespace std { class type_index { public: type_index(const type_info& rhs) noexcept; bool operator==(const type_index& rhs) const noexcept; bool operator< (const type_index& rhs) const noexcept; bool operator> (const type_index& rhs) const noexcept; bool operator<=(const type_index& rhs) const noexcept; bool operator>=(const type_index& rhs) const noexcept; strong_ordering operator<=>(const type_index& rhs) const noexcept; size_t hash_code() const noexcept; const char* name() const noexcept; private: const type_info* target; // только для демонстрации // Обратите внимание, что использование указателя здесь, а не ссылки, // означает, что конструкторы копирования/перемещения и операторы присваивания // по умолчанию будут предоставлены и будут работать как ожидается. }; }