Title
mdspan layout_stride::mapping default constructor problem
Status
resolved
Section
[mdspan.layout.stride]
Submitter
Christian Robert Trott

Created on 2023-01-25.00:00:00 last changed 17 months ago

Messages

Date: 2023-06-12.00:00:00

[ 2023-06-12 Status changed: New → Resolved. ]

Resolved in Issaquah by P2763R0.

Date: 2023-02-15.00:00:00

[ 2023-02-06; Reflector poll ]

Set priority to 1 after reflector poll.

Date: 2023-01-25.00:00:00

During work on some follow on proposals for C++26 (like the padded layouts and submdspan) we stumbled over an issue in the C++23 mdspan definition.

If you have a layout_stride::mapping with just static extents, its default constructor will produce an inconsistent mapping. All its strides will be 0 but its extents are not. Thus the is_unique property is violated. We wrote a paper to fix this: P2763R0. We describe two options to fix it and state why we prefer one over the other, with proposed wording changes.

History
Date User Action Args
2023-06-13 14:35:33adminsetmessages: + msg13624
2023-06-13 14:35:33adminsetstatus: new -> resolved
2023-02-06 15:13:50adminsetmessages: + msg13270
2023-01-25 00:00:00admincreate