cmGeneratorTarget: Remove MSVC7 workaround
Use partial specialization everywhere.
This commit is contained in:
parent
41363c0c61
commit
ba74465fbc
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue