[libcxx-commits] [libcxx] [libc++] Add the __is_replaceable type trait (PR #132408)
Mark de Wever via libcxx-commits
libcxx-commits at lists.llvm.org
Fri Mar 21 12:16:20 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>;
----------------
mordante wrote:
Not related to this patch. How does this affect `std::vector<bool> when `vector_bool.h` is included directly and `vector` is not? I expect this can cause an ODR violation.
https://github.com/llvm/llvm-project/pull/132408
More information about the libcxx-commits
mailing list