#pragma once #include template struct vertex_array_data { C component_flags; std::tuple...> vertices{}; protected: void clear_vertices() { std::apply( [](auto&... vertex_opt) { (vertex_opt.clear(), ...); }, vertices ); } };