[PATCH] D16792: unordered_map: Use __hash_table::__emplace_unique(), NFC
Duncan P. N. Exon Smith via cfe-commits
cfe-commits at lists.llvm.org
Mon Feb 1 17:43:11 PST 2016
dexonsmith created this revision.
dexonsmith added a reviewer: EricWF.
dexonsmith added a subscriber: cfe-commits.
Instead of duplicating code in unordered_map::emplace(), use
__hash_table::__emplace_unique().
http://reviews.llvm.org/D16792
Files:
include/unordered_map
Index: include/unordered_map
===================================================================
--- include/unordered_map
+++ include/unordered_map
@@ -922,7 +922,8 @@
#ifndef _LIBCPP_HAS_NO_VARIADICS
template <class... _Args>
- pair<iterator, bool> emplace(_Args&&... __args);
+ pair<iterator, bool> emplace(_Args&&... __args)
+ {return __table_.__emplace_unique(_VSTD::forward<_Args>(__args)...);}
template <class... _Args>
_LIBCPP_INLINE_VISIBILITY
@@ -1474,18 +1475,6 @@
return __h;
}
-template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
-template <class... _Args>
-pair<typename unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::iterator, bool>
-unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::emplace(_Args&&... __args)
-{
- __node_holder __h = __construct_node(_VSTD::forward<_Args>(__args)...);
- pair<iterator, bool> __r = __table_.__node_insert_unique(__h.get());
- if (__r.second)
- __h.release();
- return __r;
-}
-
#endif // _LIBCPP_HAS_NO_VARIADICS
#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D16792.46602.patch
Type: text/x-patch
Size: 1100 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20160202/999696e2/attachment.bin>
More information about the cfe-commits
mailing list