@@ -139,7 +139,9 @@ class span {
139
139
public:
140
140
using element_type = ElementType;
141
141
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;
143
145
using difference_type = ptrdiff_t;
144
146
using pointer = element_type *;
145
147
using const_pointer = const element_type *;
@@ -148,7 +150,7 @@ public:
148
150
using iterator = pointer;
149
151
using reverse_iterator = std::reverse_iterator<iterator>;
150
152
151
- static constexpr index_type extent = Extent;
153
+ static constexpr size_type extent = Extent;
152
154
153
155
// Constructors, copy and assignment
154
156
template<size_t E = Extent,
@@ -160,7 +162,7 @@ public:
160
162
typename mstd::enable_if_t<mstd::is_convertible<
161
163
remove_reference_t<mstd::iter_reference_t<It>>(*)[],
162
164
ElementType(*)[]>::value, int> = 0>
163
- constexpr span(It ptr, index_type count) :
165
+ constexpr span(It ptr, size_type count) :
164
166
_storage(ptr, count)
165
167
{
166
168
MBED_ASSERT(extent == dynamic_extent || extent == count);
@@ -251,32 +253,32 @@ public:
251
253
return {data() + Offset, Count != dynamic_extent ? Count : size() - Offset};
252
254
}
253
255
254
- constexpr span<element_type, dynamic_extent> first(index_type count) const
256
+ constexpr span<element_type, dynamic_extent> first(size_type count) const
255
257
{
256
258
MBED_ASSERT(count <= size());
257
259
return {data(), count};
258
260
}
259
261
260
- constexpr span<element_type, dynamic_extent> last(index_type count) const
262
+ constexpr span<element_type, dynamic_extent> last(size_type count) const
261
263
{
262
264
MBED_ASSERT(count <= size());
263
265
return {data() + (size() - count), count};
264
266
}
265
267
266
268
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
268
270
{
269
271
MBED_ASSERT(offset <= size() && (count == dynamic_extent || count <= size() - offset));
270
272
return {data() + offset, count == dynamic_extent ? size() - offset : count };
271
273
}
272
274
273
275
// Observers
274
- constexpr index_type size() const noexcept
276
+ constexpr size_type size() const noexcept
275
277
{
276
278
return _storage._size;
277
279
}
278
280
279
- constexpr index_type size_bytes() const noexcept
281
+ constexpr size_type size_bytes() const noexcept
280
282
{
281
283
return size() * sizeof(element_type);
282
284
}
@@ -287,7 +289,7 @@ public:
287
289
}
288
290
289
291
// Element access
290
- constexpr reference operator[](index_type idx) const
292
+ constexpr reference operator[](size_type idx) const
291
293
{
292
294
MBED_ASSERT(idx < size());
293
295
return *(data() + idx);
@@ -336,7 +338,7 @@ private:
336
338
};
337
339
338
340
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;
340
342
341
343
#if __cplusplus >= 201703L || __cpp_deduction_guides >= 201703L
342
344
// Deduction guides
0 commit comments