@@ -107,14 +107,17 @@ namespace xtd {
107107 explicit span (const collection_t & items) : data_ {const_cast <type_t *>(items.data ())}, size_ {items.size ()} {}
108108 template <class collection_t >
109109 explicit span (collection_t & items) : data_ {items.data ()}, size_ {items.size ()} {}
110- explicit span (std::initializer_list<type_t > items) : data_ {const_cast <type_t *>(&(*items.begin ()))}, size_ {items.size ()} {}
110+ explicit span (std::initializer_list<type_t > items) noexcept : data_ {const_cast <type_t *>(&(*items.begin ()))}, size_ {items.size ()} {}
111111 explicit span (const type_t * data, size_type size) : data_ {const_cast <type_t *>(data)}, size_ {size} {}
112112 explicit span (type_t * data, size_type size) : data_ {data}, size_ {size} {}
113- template <std::size_t len_>
114- constexpr span (const type_t (&array)[len_] ) noexcept : data_ {array}, size_ {len_} {}
115- template <std::size_t len_>
116- constexpr span (type_t (&array)[len_] ) noexcept : data_ {array}, size_ {len_} {}
117-
113+ template <xtd::size len_>
114+ constexpr span (const type_t (&array)[len_]) noexcept : data_ {array}, size_ {len_} {}
115+ template <xtd::size len_>
116+ constexpr span (type_t (&array)[len_]) noexcept : data_ {array}, size_ {len_} {}
117+ template < class array_type_t , xtd::size len_>
118+ constexpr span (const std::array<array_type_t , len_>& array) noexcept : data_ {const_cast <type_t *>(array.data ())}, size_ {len_} {}
119+ template < class array_type_t , xtd::size len_>
120+ constexpr span (std::array<array_type_t , len_>& array) noexcept : data_ {array.data ()}, size_ {len_} {}
118121 span (span&& items) = default;
119122 span (const span& items) = default;
120123
0 commit comments