Namespaces
Variants

std::type_index:: operator==,!=,<,<=,>,>=,<=>

From cppreference.net
Utilities library
std::type_index
Member functions
type_index::operator= type_index::operator!= type_index::operator< type_index::operator<= type_index::operator> type_index::operator>= type_index::operator<=>
(until C++20) (C++20)
Helper classes
bool operator == ( const type_index & rhs ) const noexcept ;
(1) (自 C++11 起)
bool operator ! = ( const type_index & rhs ) const noexcept ;
(2) (自 C++11 起)
(直至 C++20)
bool operator < ( const type_index & rhs ) const noexcept ;
(3) (自 C++11 起)
bool operator <= ( const type_index & rhs ) const noexcept ;
(4) (自 C++11 起)
bool operator > ( const type_index & rhs ) const noexcept ;
(5) (自 C++11 起)
bool operator >= ( const type_index & rhs ) const noexcept ;
(6) (自 C++11 起)
std:: strong_ordering operator <=> ( const type_index & rhs ) const noexcept ;
(7) (自 C++20 起)

比较底层的 std::type_info 对象。

1,2) 检查底层的 std::type_info 对象是否引用同一类型。
3-7) 按照实现定义的顺序比较底层的 std::type_info 对象。该比较通过 type_info::before 完成。

!= 运算符由 operator== 合成生成

(C++20 起)

参数

rhs - 用于比较的另一个 type_index 对象

返回值

1) true 若底层 std::type_info 对象指向相同类型,否则为 false
2) true 若底层 std::type_info 对象指向的不是相同类型,否则为 false
3-6) true 若底层 std::type_info 对象所引用的类型按对应顺序排列,否则为 false
7) std :: strong_ordering :: equal 若底层 std::type_info 对象指向相同类型,否则为 std :: strong_ordering :: less * this 的底层 std::type_info 对象在实现定义的排序中先于 rhs 的底层对象,否则为 std :: strong_ordering :: greater