From b087894c0842f5016e0e4b5902188af1a8ec9a55 Mon Sep 17 00:00:00 2001 From: Dave Abrahams Date: Mon, 8 May 2006 00:54:00 +0000 Subject: [PATCH] vc-7.1 workarounds [SVN r33961] --- include/boost/concept/detail/msvc.hpp | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/include/boost/concept/detail/msvc.hpp b/include/boost/concept/detail/msvc.hpp index 7165d44..3aadb79 100755 --- a/include/boost/concept/detail/msvc.hpp +++ b/include/boost/concept/detail/msvc.hpp @@ -27,11 +27,12 @@ struct check namespace detail { - // No need for a virtual function here, since evaluatiing + // No need for a virtual function here, since evaluating // not_satisfied below will have already instantiated the // constraints() member. struct constraint {}; } + template struct require : mpl::if_c< @@ -54,19 +55,22 @@ struct require // // The iterator library sees some really strange errors unless we -// use partial specialization to extract the model type with -// msvc-7.1 -// +// do things this way. +// template struct require - : require -{}; +{ + virtual void failed(Model*) + { + require(); + } +}; # define BOOST_CONCEPT_ASSERT_FN( ModelFnPtr ) \ enum \ { \ BOOST_PP_CAT(boost_concept_check,__LINE__) = \ - sizeof(::boost::concept::require) \ + sizeof(::boost::concept::require) \ } # else // Not vc-7.1