[PATCH] D54485: [libcxx] Implement P0318R1: unwrap_ref_decay and unwrap_reference

Louis Dionne via Phabricator reviews at reviews.llvm.org
Tue Nov 13 13:48:32 PST 2018

ldionne added inline comments.

Comment at: libcxx/include/functional:2536
+#if _LIBCPP_STD_VER > 17
+using __detail::unwrap_reference;
+using __detail::unwrap_ref_decay;
Is this a viable implementation strategy? The nice part is that this allows us to reuse these metafunctions to implement `make_tuple` and `make_pair` before C++20, but IDK whether the standard allows us to bring these names into namespace `std` with a `using` declaration?

Is that observable (e.g. through ADL associated namespaces)?

Comment at: libcxx/include/utility:619
-#ifndef _LIBCPP_CXX03_LANG
+namespace __detail {
+    template <class _Tp>
This is hardly the "right" place to implement this, however this is the only way I could find not to create another header.

  rCXX libc++


More information about the libcxx-commits mailing list