std::type_index::operator==,!=,<,<=,>,>=,<=> - cppreference.com (original) (raw)

bool operator==( const type_index& rhs ) const noexcept; (1) (since C++11)
bool operator!=( const type_index& rhs ) const noexcept; (2) (since C++11) (until C++20)
bool operator<( const type_index& rhs ) const noexcept; (3) (since C++11)
bool operator<=( const type_index& rhs ) const noexcept; (4) (since C++11)
bool operator>( const type_index& rhs ) const noexcept; (5) (since C++11)
bool operator>=( const type_index& rhs ) const noexcept; (6) (since C++11)
std::strong_ordering operator<=>( const type_index& rhs ) const noexcept; (7) (since C++20)

Compares the underlying std::type_info objects.

1,2) Checks whether the underlying std::type_info objects refer to the same type.

The != operator is synthesized from operator==. (since C++20)

[edit] Parameters

rhs - another type_index object to compare to

[edit] Return value

  1. true if the underlying std::type_info objects refer to the same type, false otherwise.

  2. true if the underlying std::type_info objects refer not to the same type, false otherwise.

3-6) true if the types referred by the underlying std::type_info objects are ordered by corresponding order, false otherwise.

  1. std::strong_ordering::equal if the underlying std::type_info objects refer to the same type, otherwise std::strong_ordering::less if *this's underlying std::type_info object precedes rhs's in the implementation-defined ordering, otherwise std::strong_ordering::greater.