diff options
Diffstat (limited to 'libstdc++-v3/include/profile/unordered_map')
-rw-r--r-- | libstdc++-v3/include/profile/unordered_map | 51 |
1 files changed, 50 insertions, 1 deletions
diff --git a/libstdc++-v3/include/profile/unordered_map b/libstdc++-v3/include/profile/unordered_map index 2dec1f2a268..18563d87508 100644 --- a/libstdc++-v3/include/profile/unordered_map +++ b/libstdc++-v3/include/profile/unordered_map @@ -191,6 +191,31 @@ namespace __profile return __res; } + template<typename _Pair, typename = typename + std::enable_if<std::is_convertible<_Pair, + value_type>::value>::type> + std::pair<iterator, bool> + insert(_Pair&& __obj) + { + size_type __old_size = _Base::bucket_count(); + std::pair<iterator, bool> __res + = _Base::insert(std::forward<_Pair>(__obj)); + _M_profile_resize(__old_size, _Base::bucket_count()); + return __res; + } + + template<typename _Pair, typename = typename + std::enable_if<std::is_convertible<_Pair, + value_type>::value>::type> + iterator + insert(const_iterator __iter, _Pair&& __v) + { + size_type __old_size = _Base::bucket_count(); + iterator __res = _Base::insert(__iter, std::forward<_Pair>(__v)); + _M_profile_resize(__old_size, _Base::bucket_count()); + return __res; + } + template<typename _InputIter> void insert(_InputIter __first, _InputIter __last) @@ -420,11 +445,35 @@ namespace __profile insert(const_iterator __iter, const value_type& __v) { size_type __old_size = _Base::bucket_count(); - iterator __res =_Base::insert(__iter, __v); + iterator __res = _Base::insert(__iter, __v); _M_profile_resize(__old_size, _Base::bucket_count()); return __res; } + template<typename _Pair, typename = typename + std::enable_if<std::is_convertible<_Pair, + value_type>::value>::type> + iterator + insert(_Pair&& __obj) + { + size_type __old_size = _Base::bucket_count(); + iterator __res = _Base::insert(std::forward<_Pair>(__obj)); + _M_profile_resize(__old_size, _Base::bucket_count()); + return __res; + } + + template<typename _Pair, typename = typename + std::enable_if<std::is_convertible<_Pair, + value_type>::value>::type> + iterator + insert(const_iterator __iter, _Pair&& __v) + { + size_type __old_size = _Base::bucket_count(); + iterator __res = _Base::insert(__iter, std::forward<_Pair>(__v)); + _M_profile_resize(__old_size, _Base::bucket_count()); + return __res; + } + template<typename _InputIter> void insert(_InputIter __first, _InputIter __last) |