Removes all elements while retaining backing bucket capacity for reuse.
A non-empty clear invalidates existing iterators. Clearing an already empty set leaves them valid. Read-only aliases observe the empty set.