Skip to content

Commit 38e5d6d

Browse files
authored
Merge 2019-11 LWG Motion 4
P1872R0 span should have size_type, not index_type
2 parents 707c922 + c2dea2e commit 38e5d6d

File tree

1 file changed

+17
-17
lines changed

1 file changed

+17
-17
lines changed

source/containers.tex

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -10557,7 +10557,7 @@
1055710557
// constants and types
1055810558
using element_type = ElementType;
1055910559
using value_type = remove_cv_t<ElementType>;
10560-
using index_type = size_t;
10560+
using size_type = size_t;
1056110561
using difference_type = ptrdiff_t;
1056210562
using pointer = element_type*;
1056310563
using const_pointer = const element_type*;
@@ -10567,11 +10567,11 @@
1056710567
using const_iterator = @\impdefx{type of \tcode{span::const_iterator}}@;
1056810568
using reverse_iterator = std::reverse_iterator<iterator>;
1056910569
using const_reverse_iterator = std::reverse_iterator<const_iterator>;
10570-
static constexpr index_type extent = Extent;
10570+
static constexpr size_type extent = Extent;
1057110571

1057210572
// \ref{span.cons}, constructors, copy, and assignment
1057310573
constexpr span() noexcept;
10574-
constexpr span(pointer ptr, index_type count);
10574+
constexpr span(pointer ptr, size_type count);
1057510575
constexpr span(pointer first, pointer last);
1057610576
template<size_t N>
1057710577
constexpr span(element_type (&arr)[N]) noexcept;
@@ -10599,18 +10599,18 @@
1059910599
template<size_t Offset, size_t Count = dynamic_extent>
1060010600
constexpr span<element_type, @\seebelow@> subspan() const;
1060110601

10602-
constexpr span<element_type, dynamic_extent> first(index_type count) const;
10603-
constexpr span<element_type, dynamic_extent> last(index_type count) const;
10602+
constexpr span<element_type, dynamic_extent> first(size_type count) const;
10603+
constexpr span<element_type, dynamic_extent> last(size_type count) const;
1060410604
constexpr span<element_type, dynamic_extent> subspan(
10605-
index_type offset, index_type count = dynamic_extent) const;
10605+
size_type offset, size_type count = dynamic_extent) const;
1060610606

1060710607
// \ref{span.obs}, observers
10608-
constexpr index_type size() const noexcept;
10609-
constexpr index_type size_bytes() const noexcept;
10608+
constexpr size_type size() const noexcept;
10609+
constexpr size_type size_bytes() const noexcept;
1061010610
[[nodiscard]] constexpr bool empty() const noexcept;
1061110611

1061210612
// \ref{span.elem}, element access
10613-
constexpr reference operator[](index_type idx) const;
10613+
constexpr reference operator[](size_type idx) const;
1061410614
constexpr reference front() const;
1061510615
constexpr reference back() const;
1061610616
constexpr pointer data() const noexcept;
@@ -10630,7 +10630,7 @@
1063010630

1063110631
private:
1063210632
pointer data_; // \expos
10633-
index_type size_; // \expos
10633+
size_type size_; // \expos
1063410634
};
1063510635

1063610636
template<class T, size_t N>
@@ -10669,7 +10669,7 @@
1066910669

1067010670
\indexlibraryctor{span}%
1067110671
\begin{itemdecl}
10672-
constexpr span(pointer ptr, index_type count);
10672+
constexpr span(pointer ptr, size_type count);
1067310673
\end{itemdecl}
1067410674

1067510675
\begin{itemdescr}
@@ -10903,7 +10903,7 @@
1090310903

1090410904
\indexlibrarymember{span}{first}%
1090510905
\begin{itemdecl}
10906-
constexpr span<element_type, dynamic_extent> first(index_type count) const;
10906+
constexpr span<element_type, dynamic_extent> first(size_type count) const;
1090710907
\end{itemdecl}
1090810908

1090910909
\begin{itemdescr}
@@ -10918,7 +10918,7 @@
1091810918

1091910919
\indexlibrarymember{span}{last}%
1092010920
\begin{itemdecl}
10921-
constexpr span<element_type, dynamic_extent> last(index_type count) const;
10921+
constexpr span<element_type, dynamic_extent> last(size_type count) const;
1092210922
\end{itemdecl}
1092310923

1092410924
\begin{itemdescr}
@@ -10934,7 +10934,7 @@
1093410934
\indexlibrarymember{span}{subspan}%
1093510935
\begin{itemdecl}
1093610936
constexpr span<element_type, dynamic_extent> subspan(
10937-
index_type offset, index_type count = dynamic_extent) const;
10937+
size_type offset, size_type count = dynamic_extent) const;
1093810938
\end{itemdecl}
1093910939

1094010940
\begin{itemdescr}
@@ -10957,7 +10957,7 @@
1095710957

1095810958
\indexlibrarymember{span}{size}%
1095910959
\begin{itemdecl}
10960-
constexpr index_type size() const noexcept;
10960+
constexpr size_type size() const noexcept;
1096110961
\end{itemdecl}
1096210962

1096310963
\begin{itemdescr}
@@ -10968,7 +10968,7 @@
1096810968

1096910969
\indexlibrarymember{span}{size_bytes}%
1097010970
\begin{itemdecl}
10971-
constexpr index_type size_bytes() const noexcept;
10971+
constexpr size_type size_bytes() const noexcept;
1097210972
\end{itemdecl}
1097310973

1097410974
\begin{itemdescr}
@@ -10992,7 +10992,7 @@
1099210992

1099310993
\indexlibrary{\idxcode{operator[]}!\idxcode{span}}%
1099410994
\begin{itemdecl}
10995-
constexpr reference operator[](index_type idx) const;
10995+
constexpr reference operator[](size_type idx) const;
1099610996
\end{itemdecl}
1099710997

1099810998
\begin{itemdescr}

0 commit comments

Comments
 (0)