Re[3]: variadic list неспециализированных шаблонов
От: wander  
Дата: 20.09.14 22:30
Оценка:
Здравствуйте, niXman, Вы писали:

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;
};
Отредактировано 20.09.2014 22:32 wander . Предыдущая версия . Еще …
Отредактировано 20.09.2014 22:32 wander . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.