
8 Nov
2011
8 Nov
'11
2:42 a.m.
Hello, everyone:
I want write a general linked list(any element in the list may be a node or nested general linked list, so recursive). I think general linked list could by defined as following(see spirit's tutorial mini_xml):
glist = *glist_node glist_node = node | glist
so here is the typedef according to the above rules:
struct node { int data; }; typedef boost::variant
glist_node; //typedef 1 typedef std::list glist; //typedef 2 so the problem comes here, in the typedef 1, how can I forward declare glist?
I think this should work:
struct node
{
int data;
};
typedef boost::make_recursive_variant