Angus Leeming wrote: > Alfredo Braunstein wrote: >>> We could add a bool DocumentIterator::contains(inset *) that >>> checks the stack for that particular inset. then >>> >>> + if (cur.contains(&*it)) >>> + cur.pop(); >> >> ... and cur.pop is no good either. we need to cut it to the level >> in which the inset is found. >> >> What do you > > Agreed. However, I don't know how to do that.
Actually, what we want is to iterate from the 'innermost' inset to the 'outermost'. Eg, if this is our structure: [A: [B: ] [C: [D: ]] [E: ]] [F: ] A contains B, C, E. C contains D. A and F are on the same level. We want to iterate: A B D C E F Can we do that? -- Angus