|
Boost Users : |
Subject: [Boost-users] [variant] a question about recursive typedef
From: gongyiling (gongyiling2010_at_[hidden])
Date: 2011-11-07 10:34:47
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<node, boost::recursive_wrapper<glist> > glist_node;
//typedef 1
typedef std::list<glist_node> glist; //typedef 2
so the problem comes here, in the typedef 1, how can I forward declare
glist?
I know this is not a problem if I define glist as a struct or class, but I
think the
all-powerful library must has a beautiful solution, if any one has a
solution,
please let me know.
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net