You made me think again, Peter. I believe I'm wrong in what I said earlier in this thread about child-to-parent references. Seems like I mixed up things that I learned back in my Delphi days when one had to do reference-counting. I'm going over my changes again... Sorry for the noise.
On 23.03.2003 02:12:00 Peter B. West wrote: > From your description, there is no noticeable overlap. You seem to be > looking at relationships between siblings. However, the general > discussion puzzles me a bit. I cannot see the problem with references, > or to be more specific, I cannot see the problem with the disciplined > use of references. > > When I first started work on fop-related code, I wrote the Tree and Node > classes as a general tree structure (not finding anything suitable as > part of collections or some such.) It seemed to me that such a > structure would actually be of assistance in designing and in > understanding what was happening with the various "trees". The methods > to add, copy and, particularly, delete subtrees take care of the > necessary internal references. If any external references into the > subtrees remain, GC on a deleted subtree will be defeated, but this is a > general problem. > > All of this adds overhead, but it also adds structure and > comprehensibility. I am continually feeling chastened by the sound > design and implementation principles expressed in this group. That > makes it even more puzzling to me that an structure as central as a tree > is not given direct expression. > > It seems to me that the relationships within and across the Area tree > require more, not less, structure and the necessary abstractions to > express that structure. Node has, e.g., PrecedingSibling and > FollowingSibling iterators. There may be more efficient ways to express > iteration states than in Iterator objects, but the principle of a > general provision for such operations is surely sound. > > I may have missed the point in this particular discussion and leapt off > on a tangent, but I hope it has some bearing. Jeremias Maerki --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]