It should return a mutable_buffer. This works for std::span because there's an explicit overload (I'd say this should be handled by the generic function taking a mutable_contiguous_range). I'd attempt something like
template<detail::mutable_contiguous_range T>
[[nodiscard]]
mutable_buffer
make_buffer(T&& data) noexcept;
And remove all the vector, array, string and span overloads, as these should already satisfy mutable_contiguous_range.
It should return a
mutable_buffer. This works forstd::spanbecause there's an explicit overload (I'd say this should be handled by the generic function taking amutable_contiguous_range). I'd attempt something likeAnd remove all the vector, array, string and span overloads, as these should already satisfy
mutable_contiguous_range.