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

< cpp‎ | types‎ | type index

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) 若底层 std::type_info 对象表示同一类型则为 true ，否则为 false 。
2) 若底层 std::type_info 对象不表示同一类型则为 true ，否则为 false 。
3-6) 若底层 std::type_info 所表示的类型按对应顺序排列，则为 true ，否则为 false 。
7) 若底层 std::type_info 对象表示同一类型则为 std::strong_ordering::equal ，否则若 *this 的底层 std::type_info 对象在实现定义顺序中前趋 `rhs` 的则为 std::strong_ordering::less ，否则为 std::strong_ordering::greater 。