if you can't redesign it but you can modify it, overload the [] or * or () or something operator to do the uglies for you. This would be similar to the above wrapper. You could also inherit it into a new object that provided such a wrapper/operator/etc.
There are also library-based solutions:
Antony Polukhin's magic_get library provides this sort of reflection by leveraging SFINAE + structured bindings. https://github.com/apolukhin/magic_get
Seems like a good option here.