Open crtrott opened 2 years ago
mdspan:
move static functions before constructors [7a5a6ee2aaa35]
Other points from Friday's review:
Make the exposition-only thing is-extents
a variable template with a variable template specialization.
template<class T> constexpr bool is-extents = false;
template<class... T> constexpr bool is-extents<extents<T...>> = true;
With accessor: If it's move assignable, it's probably not a const type.
It sounds like they prefer "A type such that common_reference_with<A::reference&&, A::element_type&> is modeled" to "A type that models common_reference_with<A::reference&&, A::element_type&>".
Preferred accessible range notation: p + [0,n)
Consider using "equality preserving" (a property of expressions; a word of power in [concepts.equality]) to talk about offset policy
In [mdspan.accessor.default], change offset_policy::pointer
to pointer
, as it's a concrete type. Change size_type
to size_t
. Remove "for an instance of" in paragraph 4.
Change "requirements of accessor policy" to "accessor policy requirements."
In [mdspan.accessor.default.members], change typename default_accessor<OtherElementType>::element_type
to OtherElementType
.
In [mdspan.mdspan], say "Effects: Equivalent to: return p + i;".
{ M::is_always_strided() } -> same_as<bool>;
Accessor
a denotes a value of type A or const A [eb9bf80b6473]
"The type A::pointer need not be dereferenceable." [eb9bf80b6473]
p denotes a value of type A::pointer or const A::pointer [eb9bf80b6473]
i, j, and j denotes values of type size_t [eb9bf80b6473]
5: drop swappable its in semiregular [02ddc845e8e]
Result: A type that models common_reference_with<A::reference&&, A::element_type&> [37ae082646]
11: its preconditions if any are met implicit in [233a72100553]
Add Remarks: the expression is equality preserving. (both for a.access and a.offset) [37ae082646]
Front matter: [233a72100553]
q and b instead of p_sub and a_sub [233a721005]
default_accesor
Constructor 1.1 OtherElementType()[], element_type()[] [fce6baeb0bd1cb] 2 Effects equivalent to return p+i; [fce6baeb0bd1cb]
3 Effects equivalent to return p[i] [fce6baeb0bd1cb]
move offset after access in synopsis and definitions [fce6baeb0bd1cb]