--- /dev/null
+/////////////////////////////////////////////////////////////////////////////\r
+//\r
+// (C) Copyright Ion GaztaƱaga 2006-2007\r
+//\r
+// Distributed under the Boost Software License, Version 1.0.\r
+// (See accompanying file LICENSE_1_0.txt or copy at\r
+// http://www.boost.org/LICENSE_1_0.txt)\r
+//\r
+// See http://www.boost.org/libs/intrusive for documentation.\r
+//\r
+/////////////////////////////////////////////////////////////////////////////\r
+#ifdef _MSC_VER\r
+ #pragma warning (push)\r
+ //\r
+ //'function' : resolved overload was found by argument-dependent lookup\r
+ //A function found by argument-dependent lookup (Koenig lookup) was eventually \r
+ //chosen by overload resolution.\r
+ //\r
+ //In Visual C++ .NET and earlier compilers, a different function would have \r
+ //been called. To pick the original function, use an explicitly qualified name.\r
+ //\r
+\r
+ //warning C4275: non dll-interface class 'x' used as base for\r
+ //dll-interface class 'Y'\r
+ #pragma warning (disable : 4275)\r
+ //warning C4251: 'x' : class 'y' needs to have dll-interface to\r
+ //be used by clients of class 'z'\r
+ #pragma warning (disable : 4251)\r
+ #pragma warning (disable : 4675)\r
+ #pragma warning (disable : 4996)\r
+ #pragma warning (disable : 4503)\r
+ #pragma warning (disable : 4284) // odd return type for operator->\r
+ #pragma warning (disable : 4244) // possible loss of data\r
+ #pragma warning (disable : 4521) ////Disable "multiple copy constructors specified"\r
+ #pragma warning (disable : 4522)\r
+ #pragma warning (disable : 4146)\r
+ #pragma warning (disable : 4267) //conversion from 'X' to 'Y', possible loss of data\r
+#endif\r
+\r
+#include <boost/config.hpp>\r
+#include <boost/detail/workaround.hpp>\r
+\r
+#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))\r
+# pragma warn -8026 // shut up warning "cannot inline function because ..."\r
+# pragma warn -8027 // shut up warning "cannot inline function because ..."\r
+#endif\r