]> git.lyx.org Git - lyx.git/blobdiff - boost/boost/exception/exception.hpp
boost: update to 1.42.0
[lyx.git] / boost / boost / exception / exception.hpp
index e7faf594c4b3aded37c37f960c8c11fc7fc5feda..79b273999c3a5d59ed8ba409e8aa856f5d978fd6 100755 (executable)
@@ -5,6 +5,12 @@
 
 #ifndef UUID_274DA366004E11DCB1DDFE2E56D89593
 #define UUID_274DA366004E11DCB1DDFE2E56D89593
+#if defined(__GNUC__) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
+#pragma GCC system_header
+#endif
+#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
+#pragma warning(push,1)
+#endif
 
 namespace
 boost
@@ -129,6 +135,15 @@ boost
     template <class E,class Tag,class T>
     E const & operator<<( E const &, error_info<Tag,T> const & );
 
+    template <class E>
+    E const & operator<<( E const &, throw_function const & );
+
+    template <class E>
+    E const & operator<<( E const &, throw_file const & );
+
+    template <class E>
+    E const & operator<<( E const &, throw_line const & );
+
     class exception;
 
     template <class>
@@ -151,7 +166,6 @@ boost
 
             protected:
 
-            virtual
             ~error_info_container() throw()
                 {
                 }
@@ -202,34 +216,19 @@ boost
 #endif
             ;
 
+#if defined(__MWERKS__) && __MWERKS__<=0x3207
+        public:
+#else
         private:
 
         template <class E>
-        friend
-        E const &
-        operator<<( E const & x, throw_function const & y )
-            {
-            x.throw_function_=y.v_;
-            return x;
-            }
+        friend E const & operator<<( E const &, throw_function const & );
 
         template <class E>
-        friend
-        E const &
-        operator<<( E const & x, throw_file const & y )
-            {
-            x.throw_file_=y.v_;
-            return x;
-            }
+        friend E const & operator<<( E const &, throw_file const & );
 
         template <class E>
-        friend
-        E const &
-        operator<<( E const & x, throw_line const & y )
-            {
-            x.throw_line_=y.v_;
-            return x;
-            }
+        friend E const & operator<<( E const &, throw_line const & );
 
         friend char const * exception_detail::get_diagnostic_information( exception const &, char const * );
 
@@ -241,7 +240,7 @@ boost
         friend struct exception_detail::get_info<throw_function>;
         friend struct exception_detail::get_info<throw_file>;
         friend struct exception_detail::get_info<throw_line>;
-
+#endif
         mutable exception_detail::refcount_ptr<exception_detail::error_info_container> data_;
         mutable char const * throw_function_;
         mutable char const * throw_file_;
@@ -254,6 +253,30 @@ boost
         {
         }
 
+    template <class E>
+    E const &
+    operator<<( E const & x, throw_function const & y )
+        {
+        x.throw_function_=y.v_;
+        return x;
+        }
+
+    template <class E>
+    E const &
+    operator<<( E const & x, throw_file const & y )
+        {
+        x.throw_file_=y.v_;
+        return x;
+        }
+
+    template <class E>
+    E const &
+    operator<<( E const & x, throw_line const & y )
+        {
+        x.throw_line_=y.v_;
+        return x;
+        }
+
     ////////////////////////////////////////////////////////////////////////
 
     namespace
@@ -303,7 +326,7 @@ boost
         struct
         enable_error_info_return_type
             {
-            typedef typename enable_error_info_helper<T,sizeof(dispatch((T*)0))>::type type;
+            typedef typename enable_error_info_helper<T,sizeof(exception_detail::dispatch((T*)0))>::type type;
             };
         }
 
@@ -393,4 +416,7 @@ boost
         }
     }
 
+#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
+#pragma warning(pop)
+#endif
 #endif