std::span<T,Extent>::subspan
From cppreference.com
                    
                                        
                    
                    
                                                            
                    |   template< std::size_t Offset,           std::size_t Count = std::dynamic_extent >  | 
(1) | |
|   constexpr std::span<element_type, std::dynamic_extent>      subspan( std::size_t Offset,  | 
(2) | |
Obtains a span that is a view over the Count elements of this span starting at offset Offset. If Count is std::dynamic_extent, the number of elements in the subspan is size() - offset (i.e., it ends at the end of *this.).
The behavior is undefined if either Offset or Count is out of range. This happens if
-  
Offsetis greater thansize(); -  
Countis notstd::dynamic_extentandOffset + Countis greater thansize(). 
The extent E of the span returned by (1) is determined as follows:
-  If 
Countis notstd::dynamic_extent,Count; -  Otherwise, if 
Extentis notstd::dynamic_extent,Extent - Offset; -  Otherwise, 
std::dynamic_extent. 
Return value
The requested subspan r, such that r.data() == this->data() + Offset. If Count is std::dynamic_extent, r.size() == this->size() - Offset; otherwise r.size() == Count.
See also
|    obtains a subspan consisting of the first N elements of the sequence   (public member function)  | |
|    obtains a subspan consisting of the last N elements of the sequence   (public member function)  |