Annotation-guided AoS-to-SoA conversions and GPU offloading with data views in C++