Corrected the implementations of : append , concat and clone, who were
causing strange behaviors when mixed with calls to force().
The main problem is that only force should be authorized to modify the next
and count functions after creation.
I modified the append and concat so they don't , but clone need to modify
the enum passed as parameter, and is needing to store the current next and
count functions when called, and then giving buggy behaviors , especially
when counting elements. The current implementation seems to resolve all
problems, I made some tests when cloning twice and then printing/counting in
different orders to check if the results are the same.
Nicolas Cannasse
|