Template:cpp/container/extract assoc

@1@ Unlinks the node that contains the element pointed to by and returns a node handle that owns it. @2@ If the container has an element with key equivalent to, unlinks the node that contains element from the container and returns a node handle that owns it. Otherwise, returns an empty node handle. @3@ Same as.

In either case, no elements are copied or moved, only the internal pointers of the container nodes are repointed.

Extracting a node invalidates only the iterators to the extracted element. Pointers and references to the extracted element remain valid, but cannot be used while element is owned by a node handle: they become usable if the element is inserted into a container.

Return value
A node handle that owns the extracted element, or empty node handle in case the element is not found in.

Exceptions
@1@ Throws nothing. @2,3@ Any exceptions thrown by the object.