Don't have a 'delete' function. Have a 'remove' function, that removes a node from a list and returns a pointer to it. That way you can do:
Code:
ptr = remove( somelist, somevalue );
add( someotherlist, ptr );
Really though, if your 'delete' function is "too much code", then you're doing something really really wrong.


Quzah.