Czy istnieje prosty sposób, aby mieć variadic variadic szablon szablonów parametrów. Na przykład rozważmy następujący podpis funkcjaVariadic variadic szablon szablon parametry
template<template<typename,size_t...> class Pack,
typename T, size_t ... Args>
void foo(const Pack<T,Args...>& a);
Jeśli chcemy przekazać dwa Pack
s musimy teraz zrobić przeciążenia
template<template<typename,size_t...> class Pack,
typename T, size_t ... Args0, size_t ... Args1>
void foo(const Pack<T,Args0...>& a, const Pack<T,Args1...>& b);
Teraz co, jeśli chcemy przekazać zmienną liczbę obiektów Pack
z różnymi parametrami variadic np Args0...,Args1...,Args2...
.
Tak więc zastanawiałem się, czy istnieje praktyczny sposób robienia czegoś wzdłuż linii (z pewnością jest to reprezentacja szkicu).
template<template<typename,size_t...> ... class Pack, typename T,...>
void foo(const Pack<T,...> ... packs);
Co należy zrobić z 'T' i' Args'? Lepiej byłoby po prostu użyć 'szablonu' i napisać kilka prostych cech, aby wyodrębnić to, czego potrzebujesz. –
TartanLlama
..... lol .....? : D –
@Klaus właściwie, tak możesz ... [Zobacz sam] (http://coliru.stacked-crooked.com/a/1d822071ce2130bf) – Rerito