Add RequireInputIter on unordered containers
François Dumont
frs.dumont@gmail.com
Wed Sep 19 06:16:00 GMT 2018
Unordered containers are missing the std::_RequireInputIter. Even if
deduction guides do have them.
   * include/bits/unordered_map.h
   (unordered_map<>::unordered_map(_InputIterator, _InputIterator,
   size_type, const hasher&)): Add _RequireInputIter constraint.
   (unordered_map<>::unordered_map(_InputIterator, _InputIterator,
   size_type, const allocator_type&)): Likewise.
   (unordered_map<>::unordered_map(_InputIterator, _InputIterator,
   size_type, const hasher&, const allocator_type&)): Likewise.
   (unordered_map<>::insert(_InputIterator, _InputIterator)): Likewise.
(unordered_multimap<>::unordered_multimap(_InputIterator, _InputIterator
   , size_type, const hasher&)): Add _RequireInputIter constraint.
(unordered_multimap<>::unordered_multimap(_InputIterator, _InputIterator
   , size_type, const allocator_type&)): Likewise.
(unordered_multimap<>::unordered_multimap(_InputIterator, _InputIterator
   , size_type, const hasher&, const allocator_type&)): Likewise.
   (unordered_multimap<>::insert(_InputIterator, _InputIterator)):
   Likewise.
   * include/bits/unordered_set.h
   (unordered_set<>::unordered_set(_InputIterator, _InputIterator,
   size_type, const hasher&)): Add _RequireInputIter constraint.
   (unordered_set<>::unordered_set(_InputIterator, _InputIterator,
   size_type, const allocator_type&)): Likewise.
   (unordered_set<>::unordered_set(_InputIterator, _InputIterator,
   size_type, const hasher&, const allocator_type&)): Likewise.
   (unordered_set<>::insert(_InputIterator, _InputIterator)): Likewise.
(unordered_multiset<>::unordered_multiset(_InputIterator, _InputIterator
   , size_type, const hasher&)): Add _RequireInputIter constraint.
(unordered_multiset<>::unordered_multiset(_InputIterator, _InputIterator
   , size_type, const allocator_type&)): Likewise.
(unordered_multiset<>::unordered_multiset(_InputIterator, _InputIterator
   , size_type, const hasher&, const allocator_type&)): Likewise.
   (unordered_multiset<>::insert(_InputIterator, _InputIterator)):
   Likewise.
   * include/debug/unordered_map
   (unordered_map<>::unordered_map(_InputIterator, _InputIterator,
   size_type, const hasher&)): Add _RequireInputIter constraint.
   (unordered_map<>::unordered_map(_InputIterator, _InputIterator,
   size_type, const allocator_type&)): Likewise.
   (unordered_map<>::unordered_map(_InputIterator, _InputIterator,
   size_type, const hasher&, const allocator_type&)): Likewise.
   (unordered_map<>::insert(_InputIterator, _InputIterator)): Likewise.
(unordered_multimap<>::unordered_multimap(_InputIterator, _InputIterator
   , size_type, const hasher&)): Add _RequireInputIter constraint.
(unordered_multimap<>::unordered_multimap(_InputIterator, _InputIterator
   , size_type, const allocator_type&)): Likewise.
(unordered_multimap<>::unordered_multimap(_InputIterator, _InputIterator
   , size_type, const hasher&, const allocator_type&)): Likewise.
   (unordered_multimap<>::insert(_InputIterator, _InputIterator)):
   Likewise.
   * include/debug/unordered_set
   (unordered_set<>::unordered_set(_InputIterator, _InputIterator,
   size_type, const hasher&)): Add _RequireInputIter constraint.
   (unordered_set<>::unordered_set(_InputIterator, _InputIterator,
   size_type, const allocator_type&)): Likewise.
   (unordered_set<>::unordered_set(_InputIterator, _InputIterator,
   size_type, const hasher&, const allocator_type&)): Likewise.
   (unordered_set<>::insert(_InputIterator, _InputIterator)): Likewise.
(unordered_multiset<>::unordered_multiset(_InputIterator, _InputIterator
   , size_type, const hasher&)): Add _RequireInputIter constraint.
(unordered_multiset<>::unordered_multiset(_InputIterator, _InputIterator
   , size_type, const allocator_type&)): Likewise.
(unordered_multiset<>::unordered_multiset(_InputIterator, _InputIterator
   , size_type, const hasher&, const allocator_type&)): Likewise.
   (unordered_multiset<>::insert(_InputIterator, _InputIterator)):
   Likewise.
Tested under Linux x86_64.
Ok to commit ?
François
-------------- next part --------------
A non-text attachment was scrubbed...
Name: require_iterator.patch
Type: text/x-patch
Size: 12130 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/libstdc++/attachments/20180919/848eb215/attachment.bin>
More information about the Libstdc++
mailing list