#pragma once #include "config/primitives.hpp" namespace assets::detail { template class component_array_set {}; template class component_array_set> { public: component_array_set() = default; C component_flags; z3d::structure...> component_arrays{}; protected: void clear_component_arrays() { std::apply( [](auto&... component_array) { (component_array.clear(), ...); }, component_arrays ); } }; }