I'm working on a totally restructured and rewritten version of TList (Group and node rather than TList and TLink). Also included is a LIFO (last in first out) stack that is used for for/eachin loops so that you can get the current node object for nested loops.
I've got alot of it working, but still yet to finish all the functions, document and test them. It will also be much more hierarchy friendly. Groups extend nodes so they can be used as the nodes of other groups.
The main problem i'm trying to deal with now is that if you exit a for eachin loop withour letting it finish, it never gets popped off the enums stack. Not a major problem, but if you have code right after that relys on getting the handle of the current node for the parent loop, you'll accidently access the loop from before. Also it wastes memory.
I'm going to post a request thread so that a method is called when exiting the enumerator.
I had a modification of the linkedlists module that allowed TLink access during looping. The problem was i was also trying to edit the list using this and ended up messing up the link structure so that it wouldnt iterate right. My hierarchy lib will have lots of convenience functions to help with this kind of thing.
I've got alot of it working, but still yet to finish all the functions, document and test them. It will also be much more hierarchy friendly. Groups extend nodes so they can be used as the nodes of other groups.
The main problem i'm trying to deal with now is that if you exit a for eachin loop withour letting it finish, it never gets popped off the enums stack. Not a major problem, but if you have code right after that relys on getting the handle of the current node for the parent loop, you'll accidently access the loop from before. Also it wastes memory.
I'm going to post a request thread so that a method is called when exiting the enumerator.
I had a modification of the linkedlists module that allowed TLink access during looping. The problem was i was also trying to edit the list using this and ended up messing up the link structure so that it wouldnt iterate right. My hierarchy lib will have lots of convenience functions to help with this kind of thing.