]> git.ipfire.org Git - thirdparty/gcc.git/commit
libstdc++: Implement std::layout_right_padded [PR110352].
authorLuc Grosheintz <luc.grosheintz@gmail.com>
Mon, 29 Sep 2025 06:00:19 +0000 (08:00 +0200)
committerTomasz Kamiński <tkaminsk@redhat.com>
Wed, 8 Oct 2025 09:35:43 +0000 (11:35 +0200)
commitbfd41adc6178abb55d2a019f0d7e755ee097f548
tree5779ae2ac7f57f3c6c3d12308dc0e9531f83de44
parent8c71d18f540650e13ed8e324b595c11630ee6ce6
libstdc++: Implement std::layout_right_padded [PR110352].

This commit adds the right padded layout as described in N5014, with
LWG4372 (dynamic padding value) and LWG4314 (move in operator()).

PR libstdc++/110352

libstdc++-v3/ChangeLog:

* include/std/mdspan (_RightPaddedIndices): Traits for right
padded layouts.
(layout_right::mapping::mapping) New overload for right padded
layouts.
(layout_right_padded): Add implementation.
* src/c++23/std.cc.in (layout_right_padded): Add.
* testsuite/23_containers/mdspan/layouts/ctors.cc: Update
test for right padded layouts.
* testsuite/23_containers/mdspan/layouts/empty.cc: Ditto.
* testsuite/23_containers/mdspan/layouts/mapping.cc: Ditto.
* testsuite/23_containers/mdspan/layouts/padded.cc: Ditto.
* testsuite/23_containers/mdspan/layouts/padded_neg.cc: Ditto.
* testsuite/23_containers/mdspan/layouts/padded_traits.h: Ditto.

Reviewed-by: Tomasz Kamiński <tkaminsk@redhat.com>
Signed-off-by: Luc Grosheintz <luc.grosheintz@gmail.com>
libstdc++-v3/include/std/mdspan
libstdc++-v3/src/c++23/std.cc.in
libstdc++-v3/testsuite/23_containers/mdspan/layouts/ctors.cc
libstdc++-v3/testsuite/23_containers/mdspan/layouts/empty.cc
libstdc++-v3/testsuite/23_containers/mdspan/layouts/mapping.cc
libstdc++-v3/testsuite/23_containers/mdspan/layouts/padded.cc
libstdc++-v3/testsuite/23_containers/mdspan/layouts/padded_neg.cc
libstdc++-v3/testsuite/23_containers/mdspan/layouts/padded_traits.h