#ifndef IS_INCREMENTABLE_DWA200415_HPP
# define IS_INCREMENTABLE_DWA200415_HPP
-# include <boost/type_traits/detail/bool_trait_def.hpp>
# include <boost/type_traits/detail/template_arity_spec.hpp>
# include <boost/type_traits/remove_cv.hpp>
# include <boost/mpl/aux_/lambda_support.hpp>
# include <boost/mpl/bool.hpp>
# include <boost/detail/workaround.hpp>
+// Must be the last include
+# include <boost/type_traits/detail/bool_trait_def.hpp>
+
namespace boost { namespace detail {
// is_incrementable<T> metafunction
tag operator,(tag,int);
# define BOOST_comma(a,b) (a,b)
# endif
-
+
+# if defined(BOOST_MSVC)
+# pragma warning(push)
+# pragma warning(disable:4913) // Warning about operator,
+# endif
+
// two check overloads help us identify which operator++ was picked
char (& check(tag) )[2];
, value = sizeof(is_incrementable_::check(BOOST_comma(x++,0))) == 1
);
};
+
+# if defined(BOOST_MSVC)
+# pragma warning(pop)
+# endif
+
}
# undef BOOST_comma
} // namespace boost
+# include <boost/type_traits/detail/bool_trait_undef.hpp>
#endif // IS_INCREMENTABLE_DWA200415_HPP