надо список, который способен хранить элементы типа int и типа самого списка. А так же сохранять своё содержимое в файл.В идеальном мире, к которому наш, к сожалению, не относится, это могло бы выглядеть так:
mylist<int> a;
mylist<mylist<int>> b;
...
b.add(a);
...
a.save();
b.save();
Как это всё должно выглядеть на С++, и выглядеть ИЗЯЩНО?
никаких switch(node_type){case type_int: ...} и
void *node;
*(int *)node плиз...