diff options
author | paolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-07-13 08:59:58 +0000 |
---|---|---|
committer | paolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-07-13 08:59:58 +0000 |
commit | 4f2884deb130f66338c261eefda1b6be06e2c82a (patch) | |
tree | 98cbf83c315fe42c65c2ddcf8b73005612e9ba99 /libstdc++-v3/include/profile | |
parent | ba187736c174c79b085c205027799b62ae14634b (diff) | |
download | ppe42-gcc-4f2884deb130f66338c261eefda1b6be06e2c82a.tar.gz ppe42-gcc-4f2884deb130f66338c261eefda1b6be06e2c82a.zip |
2012-07-13 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/53657
* include/bits/stl_pair.h (pair<>::pair(pair&&)): Declare defaulted,
per C++11.
* include/bits/stl_map.h (map<>::insert(_Pair&&), map<>::insert
(const_iterator, _Pair&&)): Constrain with std::is_constructible,
per LWG2005.
* include/bits/stl_multimap.h (multimap<>::insert(_Pair&&),
multimap<>::insert(const_iterator, _Pair&&)): Likewise.
* include/bits/hashtable_policy.h (_Insert<>::insert(_Pair&&),
_Insert<>::insert(const_iterator, _Pair&&)): Likewise.
* include/debug/unordered_map: Adjust.
* include/debug/map.h: Likewise.
* include/debug/multimap.h: Likewise.
* include/profile/unordered_map: Likewise.
* include/profile/map.h: Likewise.
* include/profile/multimap.h: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189456 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3/include/profile')
-rw-r--r-- | libstdc++-v3/include/profile/map.h | 10 | ||||
-rw-r--r-- | libstdc++-v3/include/profile/multimap.h | 10 | ||||
-rw-r--r-- | libstdc++-v3/include/profile/unordered_map | 18 |
3 files changed, 19 insertions, 19 deletions
diff --git a/libstdc++-v3/include/profile/map.h b/libstdc++-v3/include/profile/map.h index 200da370d73..42c32aae4ce 100644 --- a/libstdc++-v3/include/profile/map.h +++ b/libstdc++-v3/include/profile/map.h @@ -1,6 +1,6 @@ // Profiling map implementation -*- C++ -*- -// Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc. +// Copyright (C) 2009, 2010, 2011, 2012 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -248,8 +248,8 @@ namespace __profile #ifdef __GXX_EXPERIMENTAL_CXX0X__ template<typename _Pair, typename = typename - std::enable_if<std::is_convertible<_Pair, - value_type>::value>::type> + std::enable_if<std::is_constructible<value_type, + _Pair&&>::value>::type> std::pair<iterator, bool> insert(_Pair&& __x) { @@ -289,8 +289,8 @@ namespace __profile #ifdef __GXX_EXPERIMENTAL_CXX0X__ template<typename _Pair, typename = typename - std::enable_if<std::is_convertible<_Pair, - value_type>::value>::type> + std::enable_if<std::is_constructible<value_type, + _Pair&&>::value>::type> iterator insert(const_iterator __position, _Pair&& __x) { diff --git a/libstdc++-v3/include/profile/multimap.h b/libstdc++-v3/include/profile/multimap.h index b71be4570bd..608d6b76c68 100644 --- a/libstdc++-v3/include/profile/multimap.h +++ b/libstdc++-v3/include/profile/multimap.h @@ -1,6 +1,6 @@ // Profiling multimap implementation -*- C++ -*- -// Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc. +// Copyright (C) 2009, 2010, 2011, 2012 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -186,8 +186,8 @@ namespace __profile #ifdef __GXX_EXPERIMENTAL_CXX0X__ template<typename _Pair, typename = typename - std::enable_if<std::is_convertible<_Pair, - value_type>::value>::type> + std::enable_if<std::is_constructible<value_type, + _Pair&&>::value>::type> iterator insert(_Pair&& __x) { return iterator(_Base::insert(std::forward<_Pair>(__x))); } @@ -209,8 +209,8 @@ namespace __profile #ifdef __GXX_EXPERIMENTAL_CXX0X__ template<typename _Pair, typename = typename - std::enable_if<std::is_convertible<_Pair, - value_type>::value>::type> + std::enable_if<std::is_constructible<value_type, + _Pair&&>::value>::type> iterator insert(const_iterator __position, _Pair&& __x) { return iterator(_Base::insert(__position, diff --git a/libstdc++-v3/include/profile/unordered_map b/libstdc++-v3/include/profile/unordered_map index 36f34e0a105..266e804fe36 100644 --- a/libstdc++-v3/include/profile/unordered_map +++ b/libstdc++-v3/include/profile/unordered_map @@ -1,6 +1,6 @@ // Profiling unordered_map/unordered_multimap implementation -*- C++ -*- -// Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc. +// Copyright (C) 2009, 2010, 2011, 2012 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -214,8 +214,8 @@ namespace __profile } template<typename _Pair, typename = typename - std::enable_if<std::is_convertible<_Pair, - value_type>::value>::type> + std::enable_if<std::is_constructible<value_type, + _Pair&&>::value>::type> std::pair<iterator, bool> insert(_Pair&& __obj) { @@ -227,8 +227,8 @@ namespace __profile } template<typename _Pair, typename = typename - std::enable_if<std::is_convertible<_Pair, - value_type>::value>::type> + std::enable_if<std::is_constructible<value_type, + _Pair&&>::value>::type> iterator insert(const_iterator __iter, _Pair&& __v) { @@ -503,8 +503,8 @@ namespace __profile } template<typename _Pair, typename = typename - std::enable_if<std::is_convertible<_Pair, - value_type>::value>::type> + std::enable_if<std::is_constructible<value_type, + _Pair&&>::value>::type> iterator insert(_Pair&& __obj) { @@ -515,8 +515,8 @@ namespace __profile } template<typename _Pair, typename = typename - std::enable_if<std::is_convertible<_Pair, - value_type>::value>::type> + std::enable_if<std::is_constructible<value_type, + _Pair&&>::value>::type> iterator insert(const_iterator __iter, _Pair&& __v) { |