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== .

(since 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 .