Fix ambiguity in mp_similar<Y<>, Y<>>

This commit is contained in:
Peter Dimov
2019-12-08 02:07:17 +02:00
parent 4a8a049a3e
commit f14309e92d
2 changed files with 10 additions and 0 deletions
+5
View File
@@ -188,6 +188,11 @@ template<template<class...> class L, class... T1, class... T2> struct mp_similar
using type = mp_true;
};
template<template<class...> class L, class... T> struct mp_similar_impl<L<T...>, L<T...>>
{
using type = mp_true;
};
template<class T1, class T2, class T3, class... T> struct mp_similar_impl<T1, T2, T3, T...>
{
using type = mp_all< typename mp_similar_impl<T1, T2>::type, typename mp_similar_impl<T1, T3>::type, typename mp_similar_impl<T1, T>::type... >;