привет!
есть такой код:
template<typename...>
struct invokers;
template<typename...>
struct services;
template<
typename UC
,template<typename> class GC
,typename Invokers
,typename Services
>
struct server;
template<
typename UC
,template<typename> class GC
,typename... Invokers
,typename... Services
>
struct server<UC, GC, invokers<Invokers...>, services<Services...>> {
server(GC<UC> &gc)
:gc(gc)
{}
void start() {
auto ptr = std::make_shared<session<invokers<Invokers...>, services<Services...>>>();
ptr->invoke(1, "my string");
}
private:
GC<UC> &gc;
};
код компилится и работает как надо, если в качестве третьего и четвертого параметров указывать нешаблонные типы. но Invokers должны быть шаблонными типами. они все должны специализироваться одними и теми же типами, и я это хочу сделать внутри session. (этот код я не привожу за ненадобностью)
вопрос в том, как я могу передать произвольный список неспециализированных шаблонов?
спасибо.
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)