Skip to content

Commit f34dd6b

Browse files
authored
Merge 2022-07 LWG Motion 13
P2278R4 cbegin should always return a constant iterator
2 parents d2940b0 + 75b8299 commit f34dd6b

File tree

4 files changed

+796
-31
lines changed

4 files changed

+796
-31
lines changed

source/containers.tex

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17373,7 +17373,9 @@
1737317373
using reference = element_type&;
1737417374
using const_reference = const element_type&;
1737517375
using iterator = @\impdefx{type of \tcode{span::iterator}}@; // see \ref{span.iterators}
17376+
using const_iterator = std::const_iterator<iterator>;
1737617377
using reverse_iterator = std::reverse_iterator<iterator>;
17378+
using const_reverse_iterator = std::const_iterator<reverse_iterator>;
1737717379
static constexpr size_type extent = Extent;
1737817380

1737917381
// \ref{span.cons}, constructors, copy, and assignment
@@ -17425,8 +17427,12 @@
1742517427
// \ref{span.iterators}, iterator support
1742617428
constexpr iterator begin() const noexcept;
1742717429
constexpr iterator end() const noexcept;
17430+
constexpr const_iterator cbegin() const noexcept { return begin(); }
17431+
constexpr const_iterator cend() const noexcept { return end(); }
1742817432
constexpr reverse_iterator rbegin() const noexcept;
1742917433
constexpr reverse_iterator rend() const noexcept;
17434+
constexpr const_reverse_iterator crbegin() const noexcept { return rbegin(); }
17435+
constexpr const_reverse_iterator crend() const noexcept { return rend(); }
1743017436

1743117437
private:
1743217438
pointer data_; // \expos

0 commit comments

Comments
 (0)