Сообщение Re[3]: variadic list неспециализированных шаблонов от 20.09.2014 22:30
Изменено 20.09.2014 22:32 wander
Здравствуйте, niXman, Вы писали:
X>если таки не получится разобраться — выложу компилябильный код. просто прототипирую некоторую архитектуру, о которой скоро на хабре будет статья, потому и не хочу "раскрывать всех карт"
Может я конечно опять не так понял (плоховато уже соображаю), но вот так не пойдет?
X>если таки не получится разобраться — выложу компилябильный код. просто прототипирую некоторую архитектуру, о которой скоро на хабре будет статья, потому и не хочу "раскрывать всех карт"
Может я конечно опять не так понял (плоховато уже соображаю), но вот так не пойдет?
template<template<typename> class ...>
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
,template<typename> class... 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;
};
Re[3]: variadic list неспециализированных шаблонов
Здравствуйте, niXman, Вы писали:
X>если таки не получится разобраться — выложу компилябильный код. просто прототипирую некоторую архитектуру, о которой скоро на хабре будет статья, потому и не хочу "раскрывать всех карт"
Может я конечно опять не так понял (плоховато уже соображаю), но вот так не пойдет?
X>если таки не получится разобраться — выложу компилябильный код. просто прототипирую некоторую архитектуру, о которой скоро на хабре будет статья, потому и не хочу "раскрывать всех карт"
Может я конечно опять не так понял (плоховато уже соображаю), но вот так не пойдет?
template<template<typename> class ...>
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
,template<typename> class... 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;
};