Заголовочный файл стандартной библиотеки <typeindex> (C++11)
Материал из cppreference.com
Этот заголовочный файл является частью библиотеки поддержки типов.
Включает | |
(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; // только для описания
// Обратите внимание, что использование здесь указателя, а не ссылки, означает,
// что конструктор копирования/перемещения по умолчанию и операторы присваивания
// будут предоставлены и будут работать должным образом.
};
}