Skip to content

Commit 8631cdd

Browse files
authored
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
1 parent ce603a0 commit 8631cdd

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

libcxx/test/support/MinSequenceContainer.h

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,13 @@ struct MinSequenceContainer {
2828
template <class It>
2929
explicit MinSequenceContainer(It first, It last) : data_(first, last) {}
3030
MinSequenceContainer(std::initializer_list<T> il) : data_(il) {}
31+
32+
template <class It>
33+
void assign(It first, It last) {
34+
data_.assign(first, last);
35+
}
36+
void assign(std::initializer_list<T> il) { data_.assign(il); }
37+
void assign(size_type n, value_type t) { data_.assign(n, t); }
3138
iterator begin() { return iterator(data_.data()); }
3239
const_iterator begin() const { return const_iterator(data_.data()); }
3340
const_iterator cbegin() const { return const_iterator(data_.data()); }
@@ -47,6 +54,11 @@ struct MinSequenceContainer {
4754
return from_vector_iterator(data_.insert(to_vector_iterator(p), std::move(value)));
4855
}
4956

57+
template <class Range>
58+
iterator insert_range(const_iterator p, Range&& rg) {
59+
return from_vector_iterator(data_.insert_range(to_vector_iterator(p), std::forward<Range>(rg)));
60+
}
61+
5062
iterator erase(const_iterator first, const_iterator last) {
5163
return from_vector_iterator(data_.erase(to_vector_iterator(first), to_vector_iterator(last)));
5264
}

0 commit comments

Comments
 (0)