1111// template <class... Types> class tuple;
1212
1313// template<class... TTypes, class... UTypes>
14- // constexpr bool operator==(const tuple<TTypes...>&, const tuple<UTypes...>&); // constexpr since C++14
15-
16- // constexpr bool operator==(const tuple<TTypes...>&, const UTuple&);
17- // template<class... TTypes, class... UTypes> // Since C++23
14+ // bool
15+ // operator==(const tuple<TTypes...>& t, const tuple<UTypes...>& u);
1816
1917// UNSUPPORTED: c++03
2018
2927
3028// Test SFINAE.
3129
32- // ==(const tuple<>&, const tuple<>&);
33-
3430static_assert (std::equality_comparable<std::tuple<EqualityComparable>>);
3531static_assert (std::equality_comparable<std::tuple<EqualityComparable, EqualityComparable>>);
3632
@@ -43,29 +39,10 @@ static_assert(!std::equality_comparable_with<std::tuple<NonComparable>, std::tup
4339static_assert (!std::equality_comparable_with<std::tuple<EqualityComparable>, std::tuple<EqualityComparable, EqualityComparable>>);
4440static_assert (!std::equality_comparable_with<std::tuple<EqualityComparable, EqualityComparable>, std::tuple<EqualityComparable>>);
4541
46- // ==(const tuple<>&, const tuple-like&);
47-
48- // static_assert(std::equality_comparable_with<std::tuple<EqualityComparable, EqualityComparable>, std::pair<EqualityComparable, EqualityComparable>>);
49- // static_assert(std::equality_comparable_with<std::tuple<EqualityComparable, EqualityComparable>, std::array<EqualityComparable, 2>>);
50-
51- // static_assert(!std::equality_comparable_with<std::tuple<EqualityComparable, NonComparable>, std::pair<EqualityComparable, NonComparable>>);
52- // static_assert(!std::equality_comparable_with<std::tuple<EqualityComparable, NonComparable>, std::array<EqualityComparable, 2>>);
53- // // Size mismatch.
54- // static_assert(!std::equality_comparable_with<std::tuple<EqualityComparable>, std::pair<EqualityComparable, EqualityComparable>>);
55- // static_assert(!std::equality_comparable_with<std::tuple<EqualityComparable, EqualityComparable>, std::array<EqualityComparable, 94>>);
56-
5742#endif
5843
5944int main (int , char **)
6045{
61- // {
62- // using T1 = std::tuple<int>;
63- // using T2 = std::array<int, 1>;
64- // const T1 t1(1);
65- // const T2 t2{1};
66- // assert(t1 == t2);
67- // assert(!(t1 != t2));
68- // }
6946 {
7047 typedef std::tuple<> T1;
7148 typedef std::tuple<> T2;
0 commit comments