std::span (3) - Linux Manuals
std::span: std::span
NAME
Synopsis
Defined in header <span>
template<
class T,                                  (since C++20)
std::size_t Extent = std::dynamic_extent
> class span;
The class template span describes an object that can refer to a contiguous sequence of objects with the first element of the sequence at position zero. A span can either have a static extent, in which case the number of elements in the sequence is known and encoded in the type, or a dynamic extent.
A typical implementation holds only two members: a pointer to T and a size.
Template parameters
T      - element type; must be a complete type that is not an abstract class type
Extent - the number of elements in the sequence, or std::dynamic_extent if dynamic
Member types
Member type            Definition
element_type           T
value_type             std::remove_cv_t<T>
index_type             std::size_t
difference_type        std::ptrdiff_t
pointer                T*
const_pointer          const T*
reference              T&
const_reference        const T&
iterator               implementation-defined LegacyRandomAccessIterator, ConstexprIterator, and LegacyContiguousIterator whose value_type is value_type
const_iterator         implementation-defined constant LegacyRandomAccessIterator, ConstexprIterator, and LegacyContiguousIterator whose value_type is value_type
reverse_iterator       std::reverse_iterator<iterator>
const_reverse_iterator std::reverse_iterator<const_iterator>
Note: iterator is a mutable iterator if T is not const-qualified.
All requirements on the iterator types of a Container applies to the iterator and const_iterator types of span as well.
Member constant
static constexpr std::size_t extent = Extent;
Member functions
 
 
 
 
 
 
 
 
 
constructor   (public member function)
 
operator=     (public member function)
Iterators
 
begin         (public member function)
cbegin
 
end           (public member function)
cend
 
rbegin        (public member function)
crbegin
 
rend          (public member function)
crend
Element access
 
front         (public member function)
 
back          (public member function)
 
operator[]    (public member function)
 
data          (public member function)
Observers
 
size          (public member function)
 
size_bytes    (public member function)
 
empty         (public member function)
 Subviews
 
first         (public member function)
 
last          (public member function)
 
subspan       (public member function)
Non-member functions
 
begin               (function)
end
 
as_bytes            (function template)
as_writable_bytes