variadic list неспециализированных шаблонов
От: niXman Ниоткуда https://github.com/niXman
Дата: 20.09.14 21:42
Оценка:
привет!

есть такой код:
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 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.