Make wording changes requested by LEWG review on 2023/10/10
[x] Change gcd converting constructor Constraint to a Mandate
[x] Add Example in the wording section that uses is_sufficiently_aligned to check the pointer overalignment precondition
[x] Add Example in the wording section that uses aligned_alloc to create an overaligned allocation, to show that aligned_accessor exists as part of a system
[x] Add an explicit constructor from default_accessor, so that users can type aligned_mdspan y(x) instead of aligned_mdspan y(x.data_handle(), x.mapping(), aligned_accessor<element_type, byte_alignment>(x.accessor())).
Add design discussion based on LEWG review on 2023/10/10
[x] Explain why we do not include an aligned_mdspan alias
Make other wording changes
[x] Add to aligned_accessor's Mandates that byte_alignment >= alignof(ElementType) is true. This prevents construction of an invalid aligned_accessor object.
P2897R1, to be submitted 2023/10/15
Make wording changes requested by LEWG review on 2023/10/10
gcd
converting constructor Constraint to a Mandateis_sufficiently_aligned
to check the pointer overalignment preconditionaligned_alloc
to create an overaligned allocation, to show thataligned_accessor
exists as part of a systemexplicit
constructor fromdefault_accessor
, so that users can typealigned_mdspan y(x)
instead ofaligned_mdspan y(x.data_handle(), x.mapping(), aligned_accessor<element_type, byte_alignment>(x.accessor()))
.Add design discussion based on LEWG review on 2023/10/10
aligned_mdspan
aliasMake other wording changes
aligned_accessor
's Mandates thatbyte_alignment >= alignof(ElementType)
istrue
. This prevents construction of an invalidaligned_accessor
object.Fixes #410 .