[libcxx-commits] [libcxx] [libc++] Opt `std::*set` out of map key extraction optimization (PR #220452)

Nikolas Klauser via libcxx-commits libcxx-commits at lists.llvm.org
Thu Sep 3 01:49:57 PDT 2026


================
@@ -101,11 +106,11 @@ _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX26 _Ret __try_key_extraction_im
 // arguments. Otherwise it calls the `__without_key` function with all of the arguments.
 //
 // Both `__with_key` and `__without_key` must take all arguments by reference.
-template <class _KeyT, class _WithKey, class _WithoutKey, class... _Args>
+template <class _KeyT, class _ValT, class _WithKey, class _WithoutKey, class... _Args>
----------------
philnik777 wrote:

Can we just pass an NTTP `__is_map` instead? AFAICT that's what we're really asking. (Maybe just into the _impl version from here)

https://github.com/llvm/llvm-project/pull/220452


More information about the libcxx-commits mailing list