diff options
-rw-r--r-- | libcxx/include/typeindex | 47 |
1 files changed, 27 insertions, 20 deletions
diff --git a/libcxx/include/typeindex b/libcxx/include/typeindex index 8f32ad56e06..7fb1513c906 100644 --- a/libcxx/include/typeindex +++ b/libcxx/include/typeindex @@ -21,24 +21,24 @@ namespace std class type_index { public: - type_index(const type_info& rhs); + type_index(const type_info& rhs) noexcept; - bool operator==(const type_index& rhs) const; - bool operator!=(const type_index& rhs) const; - bool operator< (const type_index& rhs) const; - bool operator<=(const type_index& rhs) const; - bool operator> (const type_index& rhs) const; - bool operator>=(const type_index& rhs) const; + bool operator==(const type_index& rhs) const noexcept; + bool operator!=(const type_index& rhs) const noexcept; + bool operator< (const type_index& rhs) const noexcept; + bool operator<=(const type_index& rhs) const noexcept; + bool operator> (const type_index& rhs) const noexcept; + bool operator>=(const type_index& rhs) const noexcept; - size_t hash_code() const; - const char* name() const; + size_t hash_code() const noexcept; + const char* name() const noexcept; }; template <> struct hash<type_index> : public unary_function<type_index, size_t> { - size_t operator()(type_index index) const; + size_t operator()(type_index index) const noexcept; }; } // std @@ -58,25 +58,31 @@ class _LIBCPP_VISIBLE type_index const type_info* __t_; public: _LIBCPP_INLINE_VISIBILITY - type_index(const type_info& __y) : __t_(&__y) {} + type_index(const type_info& __y) _NOEXCEPT : __t_(&__y) {} _LIBCPP_INLINE_VISIBILITY - bool operator==(const type_index& __y) const {return *__t_ == *__y.__t_;} + bool operator==(const type_index& __y) const _NOEXCEPT + {return *__t_ == *__y.__t_;} _LIBCPP_INLINE_VISIBILITY - bool operator!=(const type_index& __y) const {return *__t_ != *__y.__t_;} + bool operator!=(const type_index& __y) const _NOEXCEPT + {return *__t_ != *__y.__t_;} _LIBCPP_INLINE_VISIBILITY - bool operator< (const type_index& __y) const {return __t_->before(*__y.__t_);} + bool operator< (const type_index& __y) const _NOEXCEPT + {return __t_->before(*__y.__t_);} _LIBCPP_INLINE_VISIBILITY - bool operator<=(const type_index& __y) const {return !__y.__t_->before(*__t_);} + bool operator<=(const type_index& __y) const _NOEXCEPT + {return !__y.__t_->before(*__t_);} _LIBCPP_INLINE_VISIBILITY - bool operator> (const type_index& __y) const {return __y.__t_->before(*__t_);} + bool operator> (const type_index& __y) const _NOEXCEPT + {return __y.__t_->before(*__t_);} _LIBCPP_INLINE_VISIBILITY - bool operator>=(const type_index& __y) const {return !__t_->before(*__y.__t_);} + bool operator>=(const type_index& __y) const _NOEXCEPT + {return !__t_->before(*__y.__t_);} _LIBCPP_INLINE_VISIBILITY - size_t hash_code() const {return __t_->hash_code();} + size_t hash_code() const _NOEXCEPT {return __t_->hash_code();} _LIBCPP_INLINE_VISIBILITY - const char* name() const {return __t_->name();} + const char* name() const _NOEXCEPT {return __t_->name();} }; template <class _Tp> struct _LIBCPP_VISIBLE hash; @@ -86,7 +92,8 @@ 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();} + size_t operator()(type_index __index) const _NOEXCEPT + {return __index.hash_code();} }; _LIBCPP_END_NAMESPACE_STD |