Standard library header <typeindex> (C++11)
From cppreference.com
This header is part of the type support library.
Includes | ||
(C++20) |
Three-way comparison operator support | |
Classes | ||
(C++11) |
wrapper around a type_info object, that can be used as index in associative and unordered associative containers (class) | |
(C++11) |
hash support for std::type_index (class template specialization) | |
Forward declarations | ||
Defined in header
<functional> | ||
(C++11) |
hash function object (class template) |
[edit] Synopsis
#include <compare> namespace std { class type_index; template<class T> struct hash; template<> struct hash<type_index>; }
[edit] Class 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; // exposition only // Note that the use of a pointer here, rather than a reference, // means that the default copy/move constructor and assignment // operators will be provided and work as expected. }; }