diff --git a/include/boost/concept/detail/msvc.hpp b/include/boost/concept/detail/msvc.hpp index 9fbd250..078dd22 100644 --- a/include/boost/concept/detail/msvc.hpp +++ b/include/boost/concept/detail/msvc.hpp @@ -6,12 +6,17 @@ # include # include +# include # ifdef BOOST_OLD_CONCEPT_SUPPORT # include # include # endif +# ifdef BOOST_MSVC +# pragma warning(push) +# pragma warning(disable:4100) +# endif namespace boost { namespace concepts { @@ -111,4 +116,8 @@ enum \ # endif }} +# ifdef BOOST_MSVC +# pragma warning(pop) +# endif + #endif // BOOST_CONCEPT_CHECK_MSVC_DWA2006429_HPP diff --git a/include/boost/concept_check.hpp b/include/boost/concept_check.hpp index 19a5d23..97d704b 100644 --- a/include/boost/concept_check.hpp +++ b/include/boost/concept_check.hpp @@ -32,6 +32,12 @@ # include # include +#if (defined _MSC_VER) +# pragma warning( push ) +# pragma warning( disable : 4510 ) // default constructor could not be generated +# pragma warning( disable : 4610 ) // object 'class' can never be instantiated - user-defined constructor required +#endif + namespace boost { @@ -175,11 +181,6 @@ namespace boost TT b; }; -#if (defined _MSC_VER) -# pragma warning( push ) -# pragma warning( disable : 4510 ) // default constructor could not be generated -# pragma warning( disable : 4610 ) // object 'class' can never be instantiated - user-defined constructor required -#endif // The SGI STL version of Assignable requires copy constructor and operator= BOOST_concept(SGIAssignable,(TT)) { @@ -202,9 +203,6 @@ namespace boost TT a; TT b; }; -#if (defined _MSC_VER) -# pragma warning( pop ) -#endif BOOST_concept(Convertible,(X)(Y)) { @@ -1077,6 +1075,10 @@ namespace boost }; } // namespace boost +#if (defined _MSC_VER) +# pragma warning( pop ) +#endif + # include #endif // BOOST_CONCEPT_CHECKS_HPP