Imported Upstream version 1.64.0
[platform/upstream/boost.git] / boost / multi_index / detail / promotes_arg.hpp
index 75cf436..7a11b6e 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright 2003-2014 Joaquin M Lopez Munoz.
+/* Copyright 2003-2017 Joaquin M Lopez Munoz.
  * 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)
 #endif
 
 #include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
-#include <boost/mpl/bool.hpp>
-#include <boost/type_traits/intrinsics.hpp>
+#include <boost/detail/workaround.hpp>
 
 /* Metafunctions to check if f(arg1,arg2) promotes either arg1 to the type of
  * arg2 or viceversa. By default, (i.e. if it cannot be determined), no
  * promotion is assumed.
  */
 
-#if !defined(BOOST_IS_CONVERTIBLE)
+#if BOOST_WORKAROUND(BOOST_MSVC,<1400)
 
 namespace boost{
 
@@ -45,6 +44,7 @@ struct promotes_2nd_arg:mpl::false_{};
 #else
 
 #include <boost/mpl/and.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/mpl/not.hpp>
 #include <boost/multi_index/detail/is_transparent.hpp>
 #include <boost/type_traits/is_convertible.hpp>
@@ -79,5 +79,5 @@ struct promotes_2nd_arg:
 
 } /* namespace boost */
 
-#endif /* defined(BOOST_IS_CONVERTIBLE) */
+#endif
 #endif