1#ifndef _STDEX_TYPEINDEX_H
2#define _STDEX_TYPEINDEX_H
18#ifdef _STDEX_NATIVE_CPP11_SUPPORT
20#define _STDEX_DELETED_FUNCTION =delete
21#define _STDEX_NOEXCEPT_FUNCTION noexcept
25#define _STDEX_DELETED_FUNCTION
26#define _STDEX_NOEXCEPT_FUNCTION throw()
36 type_index(
const stdex::type_info& _tinfo) _STDEX_NOEXCEPT_FUNCTION
37 : _type_info_obj(&_tinfo)
41 operator==(
const type_index& _other)
const _STDEX_NOEXCEPT_FUNCTION
42 {
return *_type_info_obj == *_other._type_info_obj; }
45 operator!=(
const type_index& _other)
const _STDEX_NOEXCEPT_FUNCTION
46 {
return *_type_info_obj != *_other._type_info_obj; }
49 operator<(
const type_index& _other)
const _STDEX_NOEXCEPT_FUNCTION
50 {
return !!_type_info_obj->before(*_other._type_info_obj); }
53 operator<=(
const type_index& _other)
const _STDEX_NOEXCEPT_FUNCTION
54 {
return !_other._type_info_obj->before(*_type_info_obj); }
57 operator>(
const type_index& _other)
const _STDEX_NOEXCEPT_FUNCTION
58 {
return !!_other._type_info_obj->before(*_type_info_obj); }
61 operator>=(
const type_index& _other)
const _STDEX_NOEXCEPT_FUNCTION
62 {
return !_type_info_obj->before(*_other._type_info_obj); }
65 name() const _STDEX_NOEXCEPT_FUNCTION
66 {
return _type_info_obj->name(); }
73 const stdex::type_info* _type_info_obj;
92#undef _STDEX_DELETED_FUNCTION
93#undef _STDEX_NOEXCEPT_FUNCTION