Change scaled_accessor::reference to the actual product value, and change element_type accordingly
Add full converting constructor (scaling factor and/or input scaled_accessor's nested accessor could differ)
Make scaled_accessor::access conditionally (instead of unconditionally) noexcept
Rename accessor_conjugate to conjugate_accessor
Implement analogous changes to conjugate_accessor
Fix implementation of conj-if-needed, and add implementations (and tests) of real-if-needed and imag-if-needed
Add tests mixing result of scaled with an mdspan whose accessor uses a proxy reference as its reference type. This increases confidence that the new (proxy-reference-free) design works.
accessor_scaled
toscaled_accessor
scaled_accessor::reference
to the actual product value, and changeelement_type
accordinglyscaled_accessor
's nested accessor could differ)scaled_accessor::access
conditionally (instead of unconditionally)noexcept
accessor_conjugate
toconjugate_accessor
conjugate_accessor
conj-if-needed
, and add implementations (and tests) ofreal-if-needed
andimag-if-needed
scaled
with an mdspan whose accessor uses a proxy reference as itsreference
type. This increases confidence that the new (proxy-reference-free) design works.