cpp/container/span

The class template describes an object that can refer to a contiguous sequence of objects with the first element of the sequence at position zero. A can either have a static extent, in which case the number of elements in the sequence is known at compile-time and encoded in the type, or a dynamic extent.

If a has dynamic extent, a typical implementation holds two members: a pointer to  and a size. A with static extent may have only one member: a pointer to.

Member types
All requirements on the iterator types of a apply to the  type of  as well.

Helper templates
This specialization of ranges makes satisfy.

This specialization of ranges makes satisfy.