[libcxx-commits] [libcxx] [libc++] P3029R1: Better `mdspan`'s CTAD (PR #87873)
Mark de Wever via libcxx-commits
libcxx-commits at lists.llvm.org
Sun Apr 7 03:40:47 PDT 2024
================
@@ -563,8 +602,13 @@ _LIBCPP_HIDE_FROM_ABI auto as_writable_bytes(span<_Tp, _Extent> __s) noexcept {
return __s.__as_writable_bytes();
}
+# if _LIBCPP_STD_VER < 26
template <contiguous_iterator _It, class _EndOrSize>
span(_It, _EndOrSize) -> span<remove_reference_t<iter_reference_t<_It>>>;
+# else
+template <contiguous_iterator _It, class _EndOrSize>
+span(_It, _EndOrSize) -> span<remove_reference_t<iter_reference_t<_It>>, __maybe_static_ext<_EndOrSize>>;
+# endif
----------------
mordante wrote:
This order is more commonly used.
```suggestion
# if _LIBCPP_STD_VER >= 26
template <contiguous_iterator _It, class _EndOrSize>
span(_It, _EndOrSize) -> span<remove_reference_t<iter_reference_t<_It>>, __maybe_static_ext<_EndOrSize>>;
# else
template <contiguous_iterator _It, class _EndOrSize>
span(_It, _EndOrSize) -> span<remove_reference_t<iter_reference_t<_It>>>;
# endif
```
https://github.com/llvm/llvm-project/pull/87873
More information about the libcxx-commits
mailing list