21class span :
public std::span<T> {
24 using const_iterator =
typename std::span<T>::iterator;
26 using std::span<T>::span;
28 constexpr explicit(
false) span(std::span<T> s)
noexcept : std::span<T>(s) {}
32 requires std::is_convertible_v<U (*)[], T (*)[]>
33 constexpr explicit(
false) span(
span<U> other)
noexcept : std::span<T>(other.data(), other.size()) {}
36 constexpr explicit(
false) span(std::initializer_list<std::remove_cv_t<T>> il)
noexcept
37 requires std::is_const_v<T> && (!std::same_as<std::decay_t<T>,
bool>)
38 : std::span<T>(il.begin(), il.end()) {}