[libcxx-commits] [libcxx] [libcxx] adds size-based `__split_buffer` representation to unstable ABI (PR #139632)
Christopher Di Bella via libcxx-commits
libcxx-commits at lists.llvm.org
Tue May 27 11:09:29 PDT 2025
================
@@ -78,23 +80,260 @@ public:
__split_buffer,
void>;
- pointer __first_;
- pointer __begin_;
- pointer __end_;
- _LIBCPP_COMPRESSED_PAIR(pointer, __cap_, allocator_type, __alloc_);
+ struct __data {
+ pointer __first_ = nullptr;
+ pointer __begin_ = nullptr;
----------------
cjdb wrote:
I don't think so, or at least, not while `vector` uses it. `vector` uses `__begin_` for its operations, and only refers to `__first` in two places (both swaps). It would be an interesting thing to explore as a potential `deque` optimisation, if we were to drop the `vector` dependency.
https://github.com/llvm/llvm-project/pull/139632
More information about the libcxx-commits
mailing list