Shorter fancy array handle classnames
Many of the fancy ArrayHandle
s use the generic builders like
ArrayHandleTransform
and ArrayHandleImplicit
for their implementation.
Such is fine, but because they use functors and other such generic items to
template their Storage
, you can end up with very verbose classnames. This
is an issue for humans trying to discern classnames. It can also be an
issue for compilers that end up with very long resolved classnames that
might get truncated if they extend past what was expected.
The fix was for these classes to declare their own Storage
tag and then
implement their Storage
and ArrayTransport
classes as trivial
subclasses of the generic ArrayHandleImplicit
or ArrayHandleTransport
.
As an added bonus, a lot of this shortening also means that storage that relies on other array handles now are just typed by to storage of the decorated type, not the array itself. This should make the types a little more robust.