]> git.lyx.org Git - lyx.git/blobdiff - boost/boost/exception/enable_error_info.hpp
boost: update to 1.42.0
[lyx.git] / boost / boost / exception / enable_error_info.hpp
index fe1e5ad96e0ff8d90afc848cefb69e2f9542a337..988105378cc7e67af18ea4c834f9f078a087b9d8 100755 (executable)
@@ -1,106 +1,6 @@
-//Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc.
+//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc.
 
 //Distributed under the Boost Software License, Version 1.0. (See accompanying
 //file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 
-#ifndef UUID_0C5D492E909711DCB658AD4556D89593
-#define UUID_0C5D492E909711DCB658AD4556D89593
-
 #include <boost/exception/exception.hpp>
-#include <boost/detail/workaround.hpp>
-#include <boost/config.hpp>
-#include <stddef.h>
-
-namespace
-boost
-    {
-    namespace
-    exception_detail
-        {
-        template <class T>
-        struct
-        error_info_injector:
-            public T,
-            public exception
-            {
-            explicit
-            error_info_injector( T const & x ):
-                T(x)
-                {
-                }
-
-            ~error_info_injector() throw()
-                {
-                }
-
-            char const *
-            diagnostic_information() const throw()
-                {
-                return boost::exception::_diagnostic_information(T::what());
-                }
-            };
-
-        struct large_size { char c[256]; };
-        large_size dispatch( exception * );
-
-        struct small_size { };
-        small_size dispatch( void * );
-
-        template <class,size_t>
-        struct enable_error_info_helper;
-
-        template <class T>
-        struct
-        enable_error_info_helper<T,sizeof(large_size)>
-            {
-            typedef T type;
-            };
-
-        template <class T>
-        struct
-        enable_error_info_helper<T,sizeof(small_size)>
-            {
-            typedef error_info_injector<T> type;
-            };
-
-#if BOOST_WORKAROUND(__BORLANDC__,BOOST_TESTED_AT(0x582))
-        template <class T>
-        struct
-        sizeof_dispatch
-            {
-            BOOST_STATIC_CONSTANT(int, value = sizeof(dispatch((T*)0)) );
-            };
-
-        template <class T>
-        struct
-        enable_error_info_return_type
-            {
-            typedef typename enable_error_info_helper<T,sizeof_dispatch<T>::value>::type type;
-            };
-#else
-        template <class T>
-        struct
-        enable_error_info_return_type
-            {
-            typedef typename enable_error_info_helper<T,sizeof(dispatch((T*)0))>::type type;
-            };
-#endif
-        }
-
-    template <class T>
-    inline
-#if !BOOST_WORKAROUND(__BORLANDC__,BOOST_TESTED_AT(0x582))
-    typename
-#endif
-    exception_detail::enable_error_info_return_type<T>::type
-    enable_error_info( T const & x )
-        {
-        return
-#if !BOOST_WORKAROUND(__BORLANDC__,BOOST_TESTED_AT(0x582))
-        typename
-#endif
-        exception_detail::enable_error_info_return_type<T>::type(x);
-        }
-    }
-
-#endif