aboutsummaryrefslogtreecommitdiff
path: root/libcxx/include/utility
diff options
context:
space:
mode:
authorNikolas Klauser <nikolasklauser@berlin.de>2022-02-01 21:36:50 +0100
committerNikolas Klauser <nikolasklauser@berlin.de>2022-02-02 10:47:04 +0100
commit598983d7a96e19bb84200bed6d8c7e1968123dbe (patch)
treef354eddaa91e23f8285ebe172a69315ceab276ce /libcxx/include/utility
parent11cf80779654f90faa4e44bda24c7eab049c4a3b (diff)
downloadllvm-598983d7a96e19bb84200bed6d8c7e1968123dbe.zip
llvm-598983d7a96e19bb84200bed6d8c7e1968123dbe.tar.gz
llvm-598983d7a96e19bb84200bed6d8c7e1968123dbe.tar.bz2
[libc++][P2321R2] Add specializations of basic_common_reference and common_type for pair
Add specializations of basic_common_reference and common_type for pair Reviewed By: Quuxplusone, Mordante, #libc Spies: libcxx-commits Differential Revision: https://reviews.llvm.org/D117506
Diffstat (limited to 'libcxx/include/utility')
-rw-r--r--libcxx/include/utility6
1 files changed, 6 insertions, 0 deletions
diff --git a/libcxx/include/utility b/libcxx/include/utility
index 9dd7905..db68181 100644
--- a/libcxx/include/utility
+++ b/libcxx/include/utility
@@ -95,6 +95,12 @@ struct pair
is_nothrow_swappable_v<T2>); // constexpr in C++20
};
+template<class T1, class T2, class U1, class U2, template<class> class TQual, template<class> class UQual>
+struct basic_common_reference<pair<T1, T2>, pair<U1, U2>, TQual, UQual>; // since C++23
+
+template<class T1, class T2, class U1, class U2>
+struct common_type<pair<T1, T2>, pair<U1, U2>>; // since C++23
+
template<class T1, class T2> pair(T1, T2) -> pair<T1, T2>;
template <class T1, class T2> bool operator==(const pair<T1,T2>&, const pair<T1,T2>&); // constexpr in C++14