On 11/30/2012 05:45 AM, Ali Çehreli wrote:
I've forced it pretty hard: :D

     immutable(Network) idup() pure const @property
     {
         Node[uint] nodesCopy;

         foreach (key, node; nodes) {
             immutable(Node) nodeCopy = node.idup;
             nodesCopy[key] = cast(Node)nodeCopy;
         }

         immutable imnodes = assumeUnique(nodesCopy);
         return immutable(Network)(imnodes);
     }

I hope it is safe. :p

You know, now I'm embarrassed, because I really should have come up with this myself. :-P

Actually, I think I did, but I was concerned that the returned result wouldn't actually be identical to the original, inasmuch as e.g. inserting the nodes one by one might cause everything to be in a different order to the original. So I didn't have the confidence to try it out.

Of course, I could always test these things ...

Thanks very much for the suggestion!

Reply via email to