aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3
diff options
context:
space:
mode:
authorHoward Hinnant <hhinnant@apple.com>2007-11-11 15:56:09 +0000
committerPaolo Carlini <paolo@gcc.gnu.org>2007-11-11 15:56:09 +0000
commitc31ab059b6192b0d904fbe93daf44b08f7908e88 (patch)
treeedfe63b3ef400ff4feee0d8ace5962f219f3a8c8 /libstdc++-v3
parent5a269cfd7e73df8077718227d8461c7b77061c48 (diff)
downloadgcc-c31ab059b6192b0d904fbe93daf44b08f7908e88.zip
gcc-c31ab059b6192b0d904fbe93daf44b08f7908e88.tar.gz
gcc-c31ab059b6192b0d904fbe93daf44b08f7908e88.tar.bz2
stl_pair.h (pair<>::pair<>(_U1&&, _Arg0&&, _Args&&...)): Add.
2007-11-11 Howard Hinnant <hhinnant@apple.com> * include/bits/stl_pair.h (pair<>::pair<>(_U1&&, _Arg0&&, _Args&&...)): Add. From-SVN: r130085
Diffstat (limited to 'libstdc++-v3')
-rw-r--r--libstdc++-v3/ChangeLog5
-rw-r--r--libstdc++-v3/include/bits/stl_pair.h7
2 files changed, 12 insertions, 0 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 2b9ec2a..94e8449 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,8 @@
+2007-11-11 Howard Hinnant <hhinnant@apple.com>
+
+ * include/bits/stl_pair.h (pair<>::pair<>(_U1&&, _Arg0&&,
+ _Args&&...)): Add.
+
2007-11-11 Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_list.h (list<>::_M_create_node<>(_Args&&...),
diff --git a/libstdc++-v3/include/bits/stl_pair.h b/libstdc++-v3/include/bits/stl_pair.h
index 6623026..3bda501 100644
--- a/libstdc++-v3/include/bits/stl_pair.h
+++ b/libstdc++-v3/include/bits/stl_pair.h
@@ -111,6 +111,13 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
: first(std::move(__p.first)),
second(std::move(__p.second)) { }
+ // http://gcc.gnu.org/ml/libstdc++/2007-08/msg00052.html
+ template<class _U1, class _Arg0, class... _Args>
+ pair(_U1&& __x, _Arg0&& __arg0, _Args&&... __args)
+ : first(std::forward<_U1>(__x)),
+ second(std::forward<_Arg0>(__arg0),
+ std::forward<_Args>(__args)...) { }
+
pair&
operator=(pair&& __p)
{