namespace std {class type_index {public:
type_index(const type_info& rhs)noexcept;
booloperator==(const type_index& rhs)constnoexcept;
booloperator<(const type_index& rhs)constnoexcept;
booloperator>(const type_index& rhs)constnoexcept;
booloperator<=(const type_index& rhs)constnoexcept;
booloperator>=(const type_index& rhs)constnoexcept;
strong_ordering operator<=>(const type_index& rhs)constnoexcept;
size_t hash_code()constnoexcept;
constchar* name()constnoexcept;
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.};
}