[libcxx-commits] [libcxx] libc++ test: update MinSequenceContainer.h to make some tests pass on MSVC STL (PR #140287)
via libcxx-commits
libcxx-commits at lists.llvm.org
Fri May 16 10:54:13 PDT 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-libcxx
Author: Alex Guteniev (AlexGuteniev)
<details>
<summary>Changes</summary>
Per [sequence.reqmts] there are these member functions.
I did not audit if any other member functions are missing. Adding these is enough for MSVC STL
---
Full diff: https://github.com/llvm/llvm-project/pull/140287.diff
1 Files Affected:
- (modified) libcxx/test/support/MinSequenceContainer.h (+9)
``````````diff
diff --git a/libcxx/test/support/MinSequenceContainer.h b/libcxx/test/support/MinSequenceContainer.h
index 6e61aff06344b..b17ced6dfc2ff 100644
--- a/libcxx/test/support/MinSequenceContainer.h
+++ b/libcxx/test/support/MinSequenceContainer.h
@@ -28,6 +28,13 @@ struct MinSequenceContainer {
template <class It>
explicit MinSequenceContainer(It first, It last) : data_(first, last) {}
MinSequenceContainer(std::initializer_list<T> il) : data_(il) {}
+
+ template <class It>
+ void assign(It first, It last) {
+ data_.assign(first, last);
+ }
+ void assign(std::initializer_list<T> il) { data_.assign(il); }
+ void assign(size_type n, value_type t) { data_.assign(n, t); }
iterator begin() { return iterator(data_.data()); }
const_iterator begin() const { return const_iterator(data_.data()); }
const_iterator cbegin() const { return const_iterator(data_.data()); }
@@ -47,6 +54,8 @@ struct MinSequenceContainer {
return from_vector_iterator(data_.insert(to_vector_iterator(p), std::move(value)));
}
+ iterator insert_range(const_iterator p, auto rg) { return data_.insert_range((to_vector_iterator(p), rg); }
+
iterator erase(const_iterator first, const_iterator last) {
return from_vector_iterator(data_.erase(to_vector_iterator(first), to_vector_iterator(last)));
}
``````````
</details>
https://github.com/llvm/llvm-project/pull/140287
More information about the libcxx-commits
mailing list