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.