Sto utilizzando i pacchetti di parametri variadic per la progettazione della classe basata su criteri.Pacchetto parametri variabile multiplo per modello Classe
template <APITypes APIType, class... Policies>
class IShader : public Policies... {
};
I criteri vengono definiti quando chiamati o con valori predefiniti se nessuno è specificato. Il problema nasce quando ho bisogno di aggiungere un altro parametro pacchetto variadic:
template <AttributeType... Attributes, APITypes APIType, class... Policies>
class IShader : public Policies... {
};
Ciò genera l'errore "Parametro Template Pack deve essere l'ultimo parametro di modello". Sto pensando di utilizzare il pacchetto di attributi per modificare il comportamento di almeno una delle politiche. Ma non riesco a capire come ottenere due pacchetti di parametri variadici in una classe template.
Non è possibile. È necessario ripensare il modello/design della classe. –
Neanche con una sorta di indirezione? Dì un wrapper di qualche tipo per la lista degli attributi. O modelli di modelli? – James
Si può sempre considerare qualcosa come 'IShader, APITipo, Politiche >' –
chris