I am using variadic parameter packs for policy based class design.
template <APITypes APIType, class... Policies>
class IShader : public Policies... {
};
Policies are defined when called or with defaults if none are specified. The problem comes when I need to add another variadic parameter pack:
template <AttributeType... Attributes, APITypes APIType, class... Policies>
class IShader : public Policies... {
};
This results in the error "Template parameter pack must be the last template parameter". I am planning to use the attribute pack to change the behaviour of at least one of the policies. But I can't work out how to get two variadic parameter packs in one template class.