[libcxx-commits] [libcxx] [libc++] Add the __is_replaceable type trait (PR #132408)

Nikolas Klauser via libcxx-commits libcxx-commits at lists.llvm.org
Thu Mar 27 10:48:39 PDT 2025


================
@@ -120,6 +121,10 @@ class _LIBCPP_TEMPLATE_VIS vector {
       __libcpp_is_trivially_relocatable<pointer>::value && __libcpp_is_trivially_relocatable<allocator_type>::value,
       vector,
       void>;
+  using __replaceable _LIBCPP_NODEBUG =
+      __conditional_t<__is_replaceable<pointer>::value && __container_allocator_is_replaceable<__alloc_traits>::value,
+                      vector,
+                      void>;
----------------
philnik777 wrote:

The value isn't different. If you query `__is_replacable` on an incomplete type you will get a compilation error: https://godbolt.org/z/chGxx5jxG

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


More information about the libcxx-commits mailing list