[PATCH][Hashtable 4/6] Clean local_iterator implementation
François Dumont
frs.dumont@gmail.com
Sun Nov 17 21:03:00 GMT 2019
Simplify local_iterator implementation. It makes local_iterator and
iterator comparable which is used in debug containers.
   * include/bits/hashtable_policy.h (_Node_iterator_base()): New.
   (operator==(const _Node_iterator_base&, const _Node_iterator_base&)):
   Make hidden friend.
   (operator!=(const _Node_iterator_base&, const _Node_iterator_base&)):
   Make hidden friend.
   (_Local_iterator_base<>): Inherits _Node_iterator_base.
   (_Local_iterator_base<>::_M_cur): Remove.
   (_Local_iterator_base<>::_M_curr()): Remove.
   (operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
   Remove.
   (operator!=(const _Local_iterator_base&, const _Local_iterator_base&)):
   Remove.
   * include/debug/unordered_map (unordered_map<>::_M_invalidate): Adapt.
   (unordered_multimap<>::_M_invalidate): Adapt.
   * include/debug/unordered_set (unordered_set<>::_M_invalidate): Adapt.
   (unordered_multiset<>::_M_invalidate): Adapt.
Tested under Linux x86_64.
François
-------------- next part --------------
A non-text attachment was scrubbed...
Name: hashtable#5.patch
Type: text/x-patch
Size: 9356 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/libstdc++/attachments/20191117/0e20eac0/attachment.bin>
More information about the Libstdc++
mailing list