@@ -139,7 +139,9 @@ class span {
139139public:
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
338340template<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