[cfe-commits] [libcxx] r132267 - /libcxx/trunk/include/typeindex

Howard Hinnant hhinnant at apple.com
Sat May 28 11:57:25 PDT 2011


Author: hhinnant
Date: Sat May 28 13:57:24 2011
New Revision: 132267

URL: http://llvm.org/viewvc/llvm-project?rev=132267&view=rev
Log:
noexcept for <typeindex>.  This completes Chapter 20 [utilities].

Modified:
    libcxx/trunk/include/typeindex

Modified: libcxx/trunk/include/typeindex
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/typeindex?rev=132267&r1=132266&r2=132267&view=diff
==============================================================================
--- libcxx/trunk/include/typeindex (original)
+++ libcxx/trunk/include/typeindex Sat May 28 13:57:24 2011
@@ -21,24 +21,24 @@
 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 @@
     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 @@
     : 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





More information about the cfe-commits mailing list