Skip to content

Shorter fancy array handle classnames

Many of the fancy ArrayHandles 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.

Merge request reports