Skip to content

Commit 810662b

Browse files
authored
Merge pull request #15176 from marcemmers/rename_mstd_span_size_type
mstd::span rename index_type to size_type according to spec
2 parents 1c5813b + 0fb88f8 commit 810662b

File tree

1 file changed

+12
-10
lines changed

1 file changed

+12
-10
lines changed

platform/cxxsupport/mstd_span

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,9 @@ class span {
139139
public:
140140
using element_type = ElementType;
141141
using value_type = typename mstd::remove_cv_t<element_type>;
142-
using index_type = size_t;
142+
using size_type = size_t;
143+
// Typedef because IAR does not allow [[deprecated]] with using
144+
[[deprecated("Use size_type instead.")]] typedef size_t index_type;
143145
using difference_type = ptrdiff_t;
144146
using pointer = element_type *;
145147
using const_pointer = const element_type *;
@@ -148,7 +150,7 @@ public:
148150
using iterator = pointer;
149151
using reverse_iterator = std::reverse_iterator<iterator>;
150152

151-
static constexpr index_type extent = Extent;
153+
static constexpr size_type extent = Extent;
152154

153155
// Constructors, copy and assignment
154156
template<size_t E = Extent,
@@ -160,7 +162,7 @@ public:
160162
typename mstd::enable_if_t<mstd::is_convertible<
161163
remove_reference_t<mstd::iter_reference_t<It>>(*)[],
162164
ElementType(*)[]>::value, int> = 0>
163-
constexpr span(It ptr, index_type count) :
165+
constexpr span(It ptr, size_type count) :
164166
_storage(ptr, count)
165167
{
166168
MBED_ASSERT(extent == dynamic_extent || extent == count);
@@ -251,32 +253,32 @@ public:
251253
return {data() + Offset, Count != dynamic_extent ? Count : size() - Offset};
252254
}
253255

254-
constexpr span<element_type, dynamic_extent> first(index_type count) const
256+
constexpr span<element_type, dynamic_extent> first(size_type count) const
255257
{
256258
MBED_ASSERT(count <= size());
257259
return {data(), count};
258260
}
259261

260-
constexpr span<element_type, dynamic_extent> last(index_type count) const
262+
constexpr span<element_type, dynamic_extent> last(size_type count) const
261263
{
262264
MBED_ASSERT(count <= size());
263265
return {data() + (size() - count), count};
264266
}
265267

266268
constexpr span<element_type, dynamic_extent>
267-
subspan(index_type offset, index_type count = dynamic_extent) const
269+
subspan(size_type offset, size_type count = dynamic_extent) const
268270
{
269271
MBED_ASSERT(offset <= size() && (count == dynamic_extent || count <= size() - offset));
270272
return {data() + offset, count == dynamic_extent ? size() - offset : count };
271273
}
272274

273275
// Observers
274-
constexpr index_type size() const noexcept
276+
constexpr size_type size() const noexcept
275277
{
276278
return _storage._size;
277279
}
278280

279-
constexpr index_type size_bytes() const noexcept
281+
constexpr size_type size_bytes() const noexcept
280282
{
281283
return size() * sizeof(element_type);
282284
}
@@ -287,7 +289,7 @@ public:
287289
}
288290

289291
// Element access
290-
constexpr reference operator[](index_type idx) const
292+
constexpr reference operator[](size_type idx) const
291293
{
292294
MBED_ASSERT(idx < size());
293295
return *(data() + idx);
@@ -336,7 +338,7 @@ private:
336338
};
337339

338340
template<typename ElementType, size_t Extent>
339-
constexpr span<ElementType, Extent>::index_type span<ElementType, Extent>::extent;
341+
constexpr span<ElementType, Extent>::size_type span<ElementType, Extent>::extent;
340342

341343
#if __cplusplus >= 201703L || __cpp_deduction_guides >= 201703L
342344
// Deduction guides

0 commit comments

Comments
 (0)