template<ptrdiff_t Count> constexpr span<element_type, Count> first() const;
template<ptrdiff_t Count> constexpr span<element_type, Count> last() const;
template<ptrdiff_t Offset, ptrdiff_t Count = dynamic_extent>
constexpr span<element_type, see below> subspan() const;
(0 <= Offset && Offset <= size()) && (Count == dynamic_extent || Count >= 0 && Offset + Count <= size())
return span<ElementType, see below>(
data() + Offset, Count != dynamic_extent ? Count : size() - Offset);
Count != dynamic_extent ? Count : (Extent != dynamic_extent ? Extent - Offset : dynamic_extent)
constexpr span<element_type, dynamic_extent> first(index_type count) const;
constexpr span<element_type, dynamic_extent> last(index_type count) const;
constexpr span<element_type, dynamic_extent> subspan(
index_type offset, index_type count = dynamic_extent) const;
(0 <= offset && offset <= size()) && (count == dynamic_extent || count >= 0 && offset + count <= size())