]> git.lyx.org Git - lyx.git/blobdiff - boost/boost/checked_delete.hpp
Also display the info about BibTeX databases in the TeX info panel.
[lyx.git] / boost / boost / checked_delete.hpp
index 92a3d0a1c050fcb795dfdfbaa7e3f656334dda5e..9bb84e8e1ba9f1aa8c349a34618877c7c2e3ccdf 100644 (file)
@@ -1,20 +1,22 @@
 #ifndef BOOST_CHECKED_DELETE_HPP_INCLUDED
 #define BOOST_CHECKED_DELETE_HPP_INCLUDED
 
-#if _MSC_VER >= 1020
-#pragma once
+// MS compatible compilers support #pragma once
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
 #endif
 
 //
 //  boost/checked_delete.hpp
 //
-//  Copyright (c) 1999, 2000, 2001, 2002 boost.org
 //  Copyright (c) 2002, 2003 Peter Dimov
+//  Copyright (c) 2003 Daniel Frey
+//  Copyright (c) 2003 Howard Hinnant
 //
-//  Permission to copy, use, modify, sell and distribute this software
-//  is granted provided this copyright notice appears in all copies.
-//  This software is provided "as is" without express or implied
-//  warranty, and with no claim as to its suitability for any purpose.
+//  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)
 //
 //  See http://www.boost.org/libs/utility/checked_delete.html for documentation.
 //
@@ -26,13 +28,16 @@ namespace boost
 
 template<class T> inline void checked_delete(T * x)
 {
-    typedef char type_must_be_complete[sizeof(T)];
+    // intentionally complex - simplification causes regressions
+    typedef char type_must_be_complete[ sizeof(T)? 1: -1 ];
+    (void) sizeof(type_must_be_complete);
     delete x;
 }
 
 template<class T> inline void checked_array_delete(T * x)
 {
-    typedef char type_must_be_complete[sizeof(T)];
+    typedef char type_must_be_complete[ sizeof(T)? 1: -1 ];
+    (void) sizeof(type_must_be_complete);
     delete [] x;
 }
 
@@ -43,6 +48,7 @@ template<class T> struct checked_deleter
 
     void operator()(T * x) const
     {
+        // boost:: disables ADL
         boost::checked_delete(x);
     }
 };