This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of Tentatively Ready status.
std::dynamic_extent should also be defined in <mdspan>Section: 23.7.3.2 [mdspan.syn] Status: Tentatively Ready Submitter: Aiden Grossman Opened: 2025-06-06 Last modified: 2025-10-17
Priority: 3
View all other issues in [mdspan.syn].
View all issues with Tentatively Ready status.
Discussion:
std::dynamic_extent can be used in certain circumstances in std::mdspan,
such as with padded layouts. However, std::dynamic_extent is currently only
defined in <span> which necessitates including <span>
solely for the std::dynamic_extent definition.
Previous resolution [SUPERSEDED]:
This wording is relative to N5008.
Modify 23.7.3.2 [mdspan.syn], header
<span>synopsis, as indicated:// all freestanding namespace std { // constants inline constexpr size_t dynamic_extent = numeric_limits<size_t>::max(); // 23.7.3.3 [mdspan.extents], class template extents template<class IndexType, size_t... Extents> class extents; […] }
[2025-06-10; Jonathan provides improved wording]
[2025-10-15; Reflector poll]
Set priority to 3 after reflector poll.
[2025-10-17; Reflector poll.]
Set status to Tentatively Ready after eight votes in favour during reflector poll.
Proposed resolution:
This wording is relative to N5008.
Modify 23.7.1 [views.general] as indicated:
The header
<span>(23.7.2.1 [span.syn]) defines the viewspan. The header<mdspan>(23.7.3.2 [mdspan.syn]) defines the class templatemdspanand other facilities for interacting with these multidimensional views.-?- In addition to being available via inclusion of the
<span>header,dynamic_extentis available when the header<mdspan>is included.