Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions libcxx/test/support/MinSequenceContainer.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,13 +29,23 @@ struct MinSequenceContainer {
template <class It>
explicit TEST_CONSTEXPR_CXX20 MinSequenceContainer(It first, It last) : data_(first, last) {}
TEST_CONSTEXPR_CXX20 MinSequenceContainer(std::initializer_list<T> il) : data_(il) {}
template <class Range>
TEST_CONSTEXPR_CXX20 MinSequenceContainer(std::from_range_t, Range&& rg)
: data_(std::from_range, std::forward<Range>(rg)) {}
Comment on lines +32 to +34
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems to me that this should be guard with TEST_STD_VER >= 23 and unconditionally constexpr. Ditto assign_range.

No change requested as there's no new error, and perhaps we can do clean-up in the future. CI failures are unrelated.

TEST_CONSTEXPR_CXX20 MinSequenceContainer(size_type n, T value) : data_(n, value) {}

MinSequenceContainer& operator=(std::initializer_list<T> il) { data_ = il; }

template <class It>
TEST_CONSTEXPR_CXX20 void assign(It first, It last) {
data_.assign(first, last);
}
TEST_CONSTEXPR_CXX20 void assign(std::initializer_list<T> il) { data_.assign(il); }
TEST_CONSTEXPR_CXX20 void assign(size_type n, value_type t) { data_.assign(n, t); }
template <class Range>
TEST_CONSTEXPR_CXX20 void assign_range(Range&& rg) {
data_.assign_range(std::forward<Range>(rg));
}
TEST_CONSTEXPR_CXX20 iterator begin() { return iterator(data_.data()); }
TEST_CONSTEXPR_CXX20 const_iterator begin() const { return const_iterator(data_.data()); }
TEST_CONSTEXPR_CXX20 const_iterator cbegin() const { return const_iterator(data_.data()); }
Expand All @@ -55,6 +65,14 @@ struct MinSequenceContainer {
return from_vector_iterator(data_.insert(to_vector_iterator(p), std::move(value)));
}

TEST_CONSTEXPR_CXX20 iterator insert(const_iterator p, size_type n, T value) {
return from_vector_iterator(data_.insert(to_vector_iterator(p), n, value));
}

TEST_CONSTEXPR_CXX20 iterator insert(const_iterator p, std::initializer_list<T> il) {
return from_vector_iterator(data_.insert(to_vector_iterator(p), il));
}

template <class Range>
TEST_CONSTEXPR_CXX20 iterator insert_range(const_iterator p, Range&& rg) {
return from_vector_iterator(data_.insert_range(to_vector_iterator(p), std::forward<Range>(rg)));
Expand Down
Loading