[libcxx-commits] [libcxx] 8631cdd - libc++ test: update MinSequenceContainer.h to make some tests pass on MSVC STL (#140287)
via libcxx-commits
libcxx-commits at lists.llvm.org
Mon Jun 9 03:35:31 PDT 2025
Author: Alex Guteniev
Date: 2025-06-09T18:35:27+08:00
New Revision: 8631cddd6959866ca14602b0b05841ab730c6d7d
URL: https://github.com/llvm/llvm-project/commit/8631cddd6959866ca14602b0b05841ab730c6d7d
DIFF: https://github.com/llvm/llvm-project/commit/8631cddd6959866ca14602b0b05841ab730c6d7d.diff
LOG: libc++ test: update MinSequenceContainer.h to make some tests pass on MSVC STL (#140287)
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
Added:
Modified:
libcxx/test/support/MinSequenceContainer.h
Removed:
################################################################################
diff --git a/libcxx/test/support/MinSequenceContainer.h b/libcxx/test/support/MinSequenceContainer.h
index 6e61aff06344b..ccc17b79288bc 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,11 @@ struct MinSequenceContainer {
return from_vector_iterator(data_.insert(to_vector_iterator(p), std::move(value)));
}
+ template <class Range>
+ iterator insert_range(const_iterator p, Range&& rg) {
+ return from_vector_iterator(data_.insert_range(to_vector_iterator(p), std::forward<Range>(rg)));
+ }
+
iterator erase(const_iterator first, const_iterator last) {
return from_vector_iterator(data_.erase(to_vector_iterator(first), to_vector_iterator(last)));
}
More information about the libcxx-commits
mailing list