From 6fbfad6b00e8c35346ee59cd32a0d7ccc0d8c19c Mon Sep 17 00:00:00 2001 From: Stephan Bergmann Date: Sat, 22 Feb 2020 17:29:15 +0100 Subject: [PATCH] Adapt o3tl::span to removal of std::span::cbegin et al "span::cbegin/cend methods produce different results than std::[ranges::]cbegin/cend", as implemented now in "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 --- include/o3tl/span.hxx | 7 ------- o3tl/qa/test-span.cxx | 6 ------ 2 files changed, 13 deletions(-) diff --git a/include/o3tl/span.hxx b/include/o3tl/span.hxx index b19d2d847ac7..8af8ba846b65 100644 --- a/include/o3tl/span.hxx +++ b/include/o3tl/span.hxx @@ -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 { diff --git a/o3tl/qa/test-span.cxx b/o3tl/qa/test-span.cxx index 3cb78ace1db2..26eedfc21938 100644 --- a/o3tl/qa/test-span.cxx +++ b/o3tl/qa/test-span.cxx @@ -34,15 +34,9 @@ private: CPPUNIT_ASSERT_EQUAL(1, *v.begin()); CPPUNIT_ASSERT_EQUAL( o3tl::span::difference_type(3), v.end() - v.begin()); - CPPUNIT_ASSERT_EQUAL(1, *v.cbegin()); - CPPUNIT_ASSERT_EQUAL( - o3tl::span::difference_type(3), v.cend() - v.cbegin()); CPPUNIT_ASSERT_EQUAL(3, *v.rbegin()); CPPUNIT_ASSERT_EQUAL( o3tl::span::difference_type(3), v.rend() - v.rbegin()); - CPPUNIT_ASSERT_EQUAL(3, *v.crbegin()); - CPPUNIT_ASSERT_EQUAL( - o3tl::span::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]); -- 2.24.1