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
iterator
s, is there equivalent functionality forlocal_iterator
? - Is it possible to obtain the equivalent global
iterator
for 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
iterator
from alocal_iterator
, for the obvious reason that alocal_iterator
contains 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.)