29 #ifndef _GLIBCXX_TYPEINDEX 
   30 #define _GLIBCXX_TYPEINDEX 1 
   32 #pragma GCC system_header 
   34 #if __cplusplus < 201103L 
   40 namespace std _GLIBCXX_VISIBILITY(default)
 
   42 _GLIBCXX_BEGIN_NAMESPACE_VERSION
 
   55     : _M_target(&__rhs) { }
 
   58     operator==(
const type_index& __rhs) 
const noexcept
 
   59     { 
return *_M_target == *__rhs._M_target; }
 
   62     operator!=(
const type_index& __rhs) 
const noexcept
 
   63     { 
return *_M_target != *__rhs._M_target; }
 
   66     operator<(
const type_index& __rhs) 
const noexcept
 
   67     { 
return _M_target->before(*__rhs._M_target); }
 
   70     operator<=(
const type_index& __rhs) 
const noexcept
 
   71     { 
return !__rhs._M_target->before(*_M_target); }
 
   74     operator>(
const type_index& __rhs) 
const noexcept
 
   75     { 
return __rhs._M_target->before(*_M_target); }
 
   78     operator>=(
const type_index& __rhs) 
const noexcept
 
   79     { 
return !_M_target->before(*__rhs._M_target); }
 
   82     hash_code() 
const noexcept
 
   83     { 
return _M_target->hash_code(); }
 
   87     { 
return _M_target->
name(); }
 
   93   template<
typename _Tp> 
struct hash;
 
   99       typedef size_t        result_type;
 
  103       operator()(
const type_index& __ti) 
const noexcept
 
  104       { 
return __ti.hash_code(); }
 
  107 _GLIBCXX_END_NAMESPACE_VERSION
 
  112 #endif  // _GLIBCXX_TYPEINDEX 
Class type_indexThe class type_index provides a simple wrapper for type_info which can be used as an ...
 
const char * name() const noexcept
 
Primary class template hash.