Skip to content

Commit 1931f4e

Browse files
author
Marc Emmers
committed
Fix namespaces and span prototype
1 parent c89c458 commit 1931f4e

File tree

1 file changed

+12
-12
lines changed

1 file changed

+12
-12
lines changed

platform/cxxsupport/mstd_span

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ namespace mstd {
2424

2525
inline constexpr size_t dynamic_extent = -1;
2626

27-
template <typename, std::size_t> class span;
27+
template <typename, size_t = dynamic_extent> class span;
2828

2929
namespace detail {
3030

@@ -70,14 +70,14 @@ template<typename, typename = void>
7070
struct has_size : std::false_type {};
7171

7272
template<typename T>
73-
struct has_size<T, void_t<decltype(mstd::size(std::declval<T>()))>>:
73+
struct has_size<T, void_t<decltype(mstd::size(mstd::declval<T>()))>>:
7474
std::true_type {};
7575

7676
template<typename, typename = void>
7777
struct has_data : std::false_type {};
7878

7979
template<typename T>
80-
struct has_data<T, void_t<decltype(mstd::data(std::declval<T>()))>>:
80+
struct has_data<T, void_t<decltype(mstd::data(mstd::declval<T>()))>>:
8181
std::true_type {};
8282

8383
template<typename T, typename U = mstd::remove_cvref_t<T>>
@@ -89,7 +89,7 @@ struct is_container{
8989
};
9090

9191
template <class T>
92-
using iterator_t = decltype(mstd::begin(std::declval<T&>()));
92+
using iterator_t = decltype(mstd::begin(mstd::declval<T&>()));
9393

9494
template <class R>
9595
using range_reference_t = mstd::iter_reference_t<iterator_t<R>>;
@@ -103,12 +103,12 @@ struct is_compatible<T, E,
103103
typename mstd::remove_cv_t<
104104
decltype(mstd::data(mstd::declval<T>()))
105105
>, void>::value>>:
106-
std::is_convertible<remove_pointer_t<
106+
mstd::is_convertible<remove_pointer_t<
107107
decltype(mstd::data(mstd::declval<T>()))> (*)[], E (*)[]>{};
108108

109109
} // namespace detail
110110

111-
template<typename ElementType, size_t Extent = dynamic_extent>
111+
template<typename ElementType, size_t Extent>
112112
class span {
113113
public:
114114
using element_type = ElementType;
@@ -131,7 +131,7 @@ public:
131131
{}
132132

133133
template<class It, size_t E = Extent,
134-
typename mstd::enable_if_t<is_convertible<
134+
typename mstd::enable_if_t<mstd::is_convertible<
135135
remove_reference_t<mstd::iter_reference_t<It>>(*)[],
136136
ElementType(*)[]>::value, int> = 0>
137137
constexpr span(It ptr, index_type count) :
@@ -140,7 +140,7 @@ public:
140140
MBED_ASSERT(extent == dynamic_extent || extent == count);
141141
}
142142

143-
template<class It, typename mstd::enable_if_t<is_convertible<
143+
template<class It, typename mstd::enable_if_t<mstd::is_convertible<
144144
remove_reference_t<mstd::iter_reference_t<It>>(*)[],
145145
ElementType(*)[]>::value, int> = 0>
146146
constexpr span(It first, It last) :
@@ -154,23 +154,23 @@ public:
154154
template<size_t N>
155155
constexpr span(type_identity_t<element_type> (&arr)[N],
156156
typename mstd::enable_if_t<(Extent == dynamic_extent || Extent == N) &&
157-
is_convertible<remove_pointer_t<decltype(mstd::data(arr))>(*)[],
157+
mstd::is_convertible<remove_pointer_t<decltype(mstd::data(arr))>(*)[],
158158
ElementType(*)[]>::value, int> = 0) noexcept:
159159
_storage(arr, N)
160160
{}
161161

162162
template<class T, size_t N>
163163
constexpr span(array<T, N>& arr,
164164
typename mstd::enable_if_t<(Extent == dynamic_extent || Extent == N) &&
165-
is_convertible<remove_pointer_t<decltype(mstd::data(arr))>(*)[],
165+
mstd::is_convertible<remove_pointer_t<decltype(mstd::data(arr))>(*)[],
166166
ElementType(*)[]>::value, int> = 0) noexcept:
167167
_storage(arr.data(), N)
168168
{}
169169

170170
template<class T, size_t N>
171171
constexpr span(const array<T, N>& arr,
172172
typename mstd::enable_if_t<(Extent == dynamic_extent || Extent == N) &&
173-
is_convertible<remove_pointer_t<decltype(mstd::data(arr))>(*)[],
173+
mstd::is_convertible<remove_pointer_t<decltype(mstd::data(arr))>(*)[],
174174
ElementType(*)[]>::value, int> = 0) noexcept:
175175
_storage(arr.data(), N)
176176
{}
@@ -188,7 +188,7 @@ public:
188188

189189
template<class OtherElementType, size_t OtherExtent,
190190
typename mstd::enable_if_t<(Extent == dynamic_extent || OtherExtent == Extent) &&
191-
is_convertible<OtherElementType(*)[], ElementType(*)[]>::value, int> = 0>
191+
mstd:is_convertible<OtherElementType(*)[], ElementType(*)[]>::value, int> = 0>
192192
constexpr span(const span<OtherElementType, OtherExtent>& s) noexcept:
193193
_storage(s.data(), s.size())
194194
{}

0 commit comments

Comments
 (0)