cmGeneratorTarget: Remove MSVC7 workaround

Use partial specialization everywhere.
This commit is contained in:
Stephen Kelly 2014-11-20 23:07:22 +01:00
parent 41363c0c61
commit ba74465fbc
1 changed files with 0 additions and 20 deletions

View File

@ -56,7 +56,6 @@ struct ModuleDefinitionFileTag {};
struct AppManifestTag{}; struct AppManifestTag{};
struct CertificatesTag{}; struct CertificatesTag{};
#if !defined(_MSC_VER) || _MSC_VER >= 1310
template<typename Tag, typename OtherTag> template<typename Tag, typename OtherTag>
struct IsSameTag struct IsSameTag
{ {
@ -72,25 +71,6 @@ struct IsSameTag<Tag, Tag>
Result = true Result = true
}; };
}; };
#else
struct IsSameTagBase
{
typedef char (&no_type)[1];
typedef char (&yes_type)[2];
template<typename T> struct Check;
template<typename T> static yes_type check(Check<T>*, Check<T>*);
static no_type check(...);
};
template<typename Tag1, typename Tag2>
struct IsSameTag: public IsSameTagBase
{
enum {
Result = (sizeof(check(static_cast< Check<Tag1>* >(0),
static_cast< Check<Tag2>* >(0))) ==
sizeof(yes_type))
};
};
#endif
template<bool> template<bool>
struct DoAccept struct DoAccept