Like the question says, can you remove an element from a std::unordered_set using a bucket iterator (local_iterator)? I can see two possible solutions:
- Since erase() does only accept global
iterators, is there equivalent functionality forlocal_iterator? - Is it possible to obtain the equivalent global
iteratorfor alocal_iterator?
If it's not feasible, please elaborate on why it's not.
The obvious answer is no, since there is no function in the interface which supports this. There is also no way to get to an
iteratorfrom alocal_iterator, for the obvious reason that alocal_iteratorcontains a lot less information. (For most implementations, I suspect that it would be fairly simple to implementerase( local_iterator ), had the standard required it. On the other hand, I can't think of a conceivable use for it, which may be why the standard didn't require it.)