diff --git a/common/alspan.h b/common/alspan.h index 62f7b2ab..6b0dc7d6 100644 --- a/common/alspan.h +++ b/common/alspan.h @@ -108,12 +108,10 @@ public: constexpr span() noexcept { } constexpr span(pointer ptr, index_type /*count*/) : mData{ptr} { } constexpr span(pointer first, pointer /*last*/) : mData{first} { } - template - constexpr span(element_type (&arr)[N]) noexcept : span{al::data(arr), al::size(arr)} { } - template&))> - constexpr span(std::array &arr) noexcept : span{al::data(arr), al::size(arr)} { } - template&))> - constexpr span(const std::array &arr) noexcept : span{al::data(arr), al::size(arr)} { } + constexpr span(element_type (&arr)[E]) noexcept : span{al::data(arr), al::size(arr)} { } + constexpr span(std::array &arr) noexcept : span{al::data(arr), al::size(arr)} { } + template::value, REQUIRES(is_const)> + constexpr span(const std::array &arr) noexcept : span{al::data(arr), al::size(arr)} { } template constexpr span(U &cont) : span{al::data(cont), al::size(cont)} { } template @@ -204,9 +202,9 @@ public: constexpr span(pointer first, pointer last) : mData{first}, mDataEnd{last} { } template constexpr span(element_type (&arr)[N]) noexcept : span{al::data(arr), al::size(arr)} { } - template&))> + template constexpr span(std::array &arr) noexcept : span{al::data(arr), al::size(arr)} { } - template&))> + template::value, REQUIRES(is_const)> constexpr span(const std::array &arr) noexcept : span{al::data(arr), al::size(arr)} { } template constexpr span(U &cont) : span{al::data(cont), al::size(cont)} { }