================ @@ -45,11 +47,232 @@ _LIBCPP_PUSH_MACROS _LIBCPP_BEGIN_NAMESPACE_STD +template <class _SplitBuffer> +class __split_buffer_pointer_layout { +public: // TODO: make private after vector becomes size-based + using reference = typename _SplitBuffer::reference; + using const_reference = typename _SplitBuffer::const_reference; + using pointer = typename _SplitBuffer::pointer; + using const_pointer = typename _SplitBuffer::const_pointer; + using size_type = typename _SplitBuffer::size_type; + using allocator_type = typename _SplitBuffer::allocator_type; + + pointer __first_ = nullptr; + pointer __begin_ = nullptr; + pointer __end_ = nullptr; + _LIBCPP_COMPRESSED_PAIR(pointer, __cap_ = nullptr, allocator_type, __alloc_); + +public: + static const bool __is_size_based = false; ---------------- philnik777 wrote:
This is a bit smelly. Why do we need to inform `__split_buffer` which memory layout it is using? https://github.com/llvm/llvm-project/pull/139632 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits