summaryrefslogtreecommitdiffstats
path: root/libcxx/include/typeindex
diff options
context:
space:
mode:
Diffstat (limited to 'libcxx/include/typeindex')
-rw-r--r--libcxx/include/typeindex16
1 files changed, 13 insertions, 3 deletions
diff --git a/libcxx/include/typeindex b/libcxx/include/typeindex
index cd7e13ed116..2746f863f99 100644
--- a/libcxx/include/typeindex
+++ b/libcxx/include/typeindex
@@ -53,29 +53,39 @@ struct hash<type_index>
_LIBCPP_BEGIN_NAMESPACE_STD
-class type_index
+class _LIBCPP_VISIBLE type_index
{
const type_info* __t_;
public:
+ _LIBCPP_INLINE_VISIBILITY
type_index(const type_info& __y) : __t_(&__y) {}
+ _LIBCPP_INLINE_VISIBILITY
bool operator==(const type_index& __y) const {return *__t_ == *__y.__t_;}
+ _LIBCPP_INLINE_VISIBILITY
bool operator!=(const type_index& __y) const {return *__t_ != *__y.__t_;}
+ _LIBCPP_INLINE_VISIBILITY
bool operator< (const type_index& __y) const {return __t_->before(*__y.__t_);}
+ _LIBCPP_INLINE_VISIBILITY
bool operator<=(const type_index& __y) const {return !__y.__t_->before(*__t_);}
+ _LIBCPP_INLINE_VISIBILITY
bool operator> (const type_index& __y) const {return __y.__t_->before(*__t_);}
+ _LIBCPP_INLINE_VISIBILITY
bool operator>=(const type_index& __y) const {return !__t_->before(*__y.__t_);}
+ _LIBCPP_INLINE_VISIBILITY
size_t hash_code() const {return __t_->hash_code();}
+ _LIBCPP_INLINE_VISIBILITY
const char* name() const {return __t_->name();}
};
-template <class _Tp> struct hash;
+template <class _Tp> struct _LIBCPP_VISIBLE hash;
template <>
-struct hash<type_index>
+struct _LIBCPP_VISIBLE hash<type_index>
: public unary_function<type_index, size_t>
{
+ _LIBCPP_INLINE_VISIBILITY
size_t operator()(type_index __index) const {return __index.hash_code();}
};
OpenPOWER on IntegriCloud