Desidero utilizzare i tipi di un pacchetto di parametri del modello come parametri per un modello diverso, ma tagliare l'ultimo parametro.Rimuovere l'ultimo tipo di un gruppo di parametri del modello
Ad esempio:
template <class... Ts> struct some_template;
template <class... Ts> struct foo
{
using bar = some_template<magically_get_all_but_last(Ts)...>;
};
// I might be missing a few "typename"s, but you get the idea.
static_assert(std::is_same<foo<int, bool, std::string>::bar, some_template<int,bool> >::value);
noti che questo è l'opposto di getting only the last parameter.
la chiave potrebbe essere usando qualcosa come make_index_sequence –
stijn
@stijn Grazie! Non posso ancora usare C++ 14, ma mi hai dato una spinta nella giusta direzione. –
@TobiasBrandt: se giochi con i pacchetti di parametri con C++ 11 consiglio vivamente di creare la tua versione di 'index_sequence' e famiglia! –