Adapt o3tl::span to removal of std::span::cbegin et al
<https://cplusplus.github.io/LWG/issue3320> "span::cbegin/cend methods produce different results than std::[ranges::]cbegin/cend", as implemented now in <https://gcc.gnu.org/git/gitweb.cgi?p=gcc.git;a=commit; h=247f410b83797a1840573840cc2a539ef9d7f96b> "libstdc++: Remove std::span::cbegin and std::span::cend (LWG 3320)". Turns out we only used the removed member functions in o3tl/qa/test-span.cxx. Change-Id: I6c73797594b4e0e753a88840033d54961e271df5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89261 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
This commit is contained in:
@@ -62,18 +62,11 @@ public:
|
||||
constexpr iterator begin() const noexcept { return data_; }
|
||||
constexpr iterator end() const noexcept { return begin() + size(); }
|
||||
|
||||
constexpr const_iterator cbegin() const noexcept { return begin(); }
|
||||
constexpr const_iterator cend() const noexcept { return end(); }
|
||||
|
||||
reverse_iterator rbegin() const noexcept
|
||||
{ return reverse_iterator(end()); }
|
||||
reverse_iterator rend() const noexcept
|
||||
{ return reverse_iterator(begin()); }
|
||||
|
||||
constexpr const_reverse_iterator crbegin() const noexcept
|
||||
{ return rbegin(); }
|
||||
constexpr const_reverse_iterator crend() const noexcept { return rend(); }
|
||||
|
||||
constexpr size_type size() const noexcept { return size_; }
|
||||
|
||||
constexpr reference operator [](size_type pos) const {
|
||||
|
@@ -34,15 +34,9 @@ private:
|
||||
CPPUNIT_ASSERT_EQUAL(1, *v.begin());
|
||||
CPPUNIT_ASSERT_EQUAL(
|
||||
o3tl::span<int>::difference_type(3), v.end() - v.begin());
|
||||
CPPUNIT_ASSERT_EQUAL(1, *v.cbegin());
|
||||
CPPUNIT_ASSERT_EQUAL(
|
||||
o3tl::span<int>::difference_type(3), v.cend() - v.cbegin());
|
||||
CPPUNIT_ASSERT_EQUAL(3, *v.rbegin());
|
||||
CPPUNIT_ASSERT_EQUAL(
|
||||
o3tl::span<int>::difference_type(3), v.rend() - v.rbegin());
|
||||
CPPUNIT_ASSERT_EQUAL(3, *v.crbegin());
|
||||
CPPUNIT_ASSERT_EQUAL(
|
||||
o3tl::span<int>::difference_type(3), v.crend() - v.crbegin());
|
||||
CPPUNIT_ASSERT_EQUAL(std::size_t(3), v.size());
|
||||
CPPUNIT_ASSERT(!v.empty());
|
||||
CPPUNIT_ASSERT_EQUAL(2, v[1]);
|
||||
|
Reference in New Issue
Block a user