What is a “span” and when should I use one?
What is it? A span<T> is: A very lightweight abstraction of a contiguous sequence of values of type T somewhere in memory. Basically a struct { T * ptr; std::size_t length; } with a bunch of convenience methods. A non-owning type (i.e. a “reference-type” rather than a “value type”): It never allocates nor deallocates anything … Read more