[C++0x] Variadic template : un constructeur par type
Bonjour à tous,
J'essaie de faire une espèce de boost::variant avec un template variadique. Seulement, je n'arrive même pas à créer un constructeur par type.
Pour l'instant j'ai ça, qui ne fonctionne pas du tout, mais c'est une piste…
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
template<class... NodesT>
class alternative_node;
template<>
class alternative_node<>
{
};
template<class NodeT, class... NodesT>
class alternative_node<NodeT, NodesT...>
{
public:
typedef NodeT node_t;
typedef alternative_node<NodesT...> next_alternative_t;
typedef typename next_alternative_t::node_t next_node_t;
public:
alternative_node(const NodeT& node){};
alternative_node(const next_node_t& node){};
}; |
Quelqu'un aurait une idée ?
Merci !