vc-7.1 workarounds

[SVN r33961]
This commit is contained in:
Dave Abrahams
2006-05-08 00:54:00 +00:00
parent 14450b3d5d
commit b087894c08

View File

@@ -27,11 +27,12 @@ struct check
namespace detail 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 // not_satisfied below will have already instantiated the
// constraints() member. // constraints() member.
struct constraint {}; struct constraint {};
} }
template <class Model> template <class Model>
struct require struct require
: mpl::if_c< : mpl::if_c<
@@ -54,13 +55,16 @@ struct require
// //
// The iterator library sees some really strange errors unless we // The iterator library sees some really strange errors unless we
// use partial specialization to extract the model type with // do things this way.
// msvc-7.1
// //
template <class Model> template <class Model>
struct require<void(*)(Model)> struct require<void(*)(Model)>
: require<Model> {
{}; virtual void failed(Model*)
{
require<Model>();
}
};
# define BOOST_CONCEPT_ASSERT_FN( ModelFnPtr ) \ # define BOOST_CONCEPT_ASSERT_FN( ModelFnPtr ) \
enum \ enum \