Files
Z3D/include/assets/data/generic/component_set.hpp
2025-03-28 13:09:34 +01:00

33 lines
444 B
C++

#pragma once
#include "config/primitives.hpp"
namespace assets::detail {
template<typename T>
class component_set {};
template<typename... Ts>
class component_set<z3d::structure<Ts...>>
{
public:
component_set() = default;
protected:
void clear_components()
{
std::apply(
[](std::optional<Ts>&... component)
{
(component.reset(), ...);
},
components
);
}
z3d::structure<z3d::optional<Ts...>> components{};
};
}