From: Paolo Carlini Date: Fri, 6 Aug 2010 14:46:08 +0000 (+0000) Subject: tuple (pack_arguments): Rename to forward_as_tuple and simplify, per US 98 and US 99. X-Git-Tag: releases/gcc-4.6.0~5200 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=00e9a94486dff064693e711d4161dcbdcf5bbe5b;p=thirdparty%2Fgcc.git tuple (pack_arguments): Rename to forward_as_tuple and simplify, per US 98 and US 99. 2010-08-06 Paolo Carlini * include/std/tuple (pack_arguments): Rename to forward_as_tuple and simplify, per US 98 and US 99. * testsuite/20_util/tuple/creation_functions/pack_arguments.cc: Rename to... * testsuite/20_util/tuple/creation_functions/forward_as_tuple.cc: ... this, adjust. * testsuite/20_util/pair/piecewise.cc: Adjust. From-SVN: r162948 --- diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index ab4b694e0dfe..9690a7ed9033 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,13 @@ +2010-08-06 Paolo Carlini + + * include/std/tuple (pack_arguments): Rename to forward_as_tuple + and simplify, per US 98 and US 99. + * testsuite/20_util/tuple/creation_functions/pack_arguments.cc: + Rename to... + * testsuite/20_util/tuple/creation_functions/forward_as_tuple.cc: + ... this, adjust. + * testsuite/20_util/pair/piecewise.cc: Adjust. + 2010-08-06 Paolo Carlini * include/std/tuple (begin, end): Remove per GB 87. diff --git a/libstdc++-v3/include/std/tuple b/libstdc++-v3/include/std/tuple index 8b2252e3686b..2e352414fe44 100644 --- a/libstdc++-v3/include/std/tuple +++ b/libstdc++-v3/include/std/tuple @@ -549,27 +549,10 @@ namespace std return __result_type(std::forward<_Elements>(__args)...); } - template::value> - struct __pa_add_rvalue_reference_helper - { typedef typename std::add_rvalue_reference<_Tp>::type __type; }; - - template - struct __pa_add_rvalue_reference_helper<_Tp, true> - { typedef _Tp& __type; }; - - template - struct __pa_add_rvalue_reference - : public __pa_add_rvalue_reference_helper<_Tp> - { }; - template - inline tuple::__type...> - pack_arguments(_Elements&&... __args) - { - typedef tuple::__type...> - __result_type; - return __result_type(std::forward<_Elements>(__args)...); - } + inline tuple<_Elements&&...> + forward_as_tuple(_Elements&&... __args) + { return tuple<_Elements&&...>(std::forward<_Elements>(__args)...); } template struct __index_holder { }; diff --git a/libstdc++-v3/testsuite/20_util/pair/piecewise.cc b/libstdc++-v3/testsuite/20_util/pair/piecewise.cc index 3844e1bf1e43..ef71473202d1 100644 --- a/libstdc++-v3/testsuite/20_util/pair/piecewise.cc +++ b/libstdc++-v3/testsuite/20_util/pair/piecewise.cc @@ -70,21 +70,21 @@ void test01() bool test __attribute__((unused)) = true; std::pair pp0(std::piecewise_construct_t(), - std::pack_arguments(-3), - std::pack_arguments()); + std::forward_as_tuple(-3), + std::forward_as_tuple()); VERIFY( pp0.first.get() == -3 ); VERIFY( pp0.second.get() == 757 ); std::pair pp1(std::piecewise_construct_t(), - std::pack_arguments(6), - std::pack_arguments(5, 4)); + std::forward_as_tuple(6), + std::forward_as_tuple(5, 4)); VERIFY( pp1.first.get() == 6 ); VERIFY( pp1.second.get1() == 5 ); VERIFY( pp1.second.get2() == 4 ); std::pair pp2(std::piecewise_construct_t(), - std::pack_arguments(2, 1), - std::pack_arguments(-1, -3)); + std::forward_as_tuple(2, 1), + std::forward_as_tuple(-1, -3)); VERIFY( pp2.first.get1() == 2 ); VERIFY( pp2.first.get2() == 1 ); VERIFY( pp2.second.get1() == -1 ); diff --git a/libstdc++-v3/testsuite/20_util/tuple/creation_functions/pack_arguments.cc b/libstdc++-v3/testsuite/20_util/tuple/creation_functions/forward_as_tuple.cc similarity index 87% rename from libstdc++-v3/testsuite/20_util/tuple/creation_functions/pack_arguments.cc rename to libstdc++-v3/testsuite/20_util/tuple/creation_functions/forward_as_tuple.cc index 872405e30256..bad4ad49c75c 100644 --- a/libstdc++-v3/testsuite/20_util/tuple/creation_functions/pack_arguments.cc +++ b/libstdc++-v3/testsuite/20_util/tuple/creation_functions/forward_as_tuple.cc @@ -30,16 +30,16 @@ test01() { bool test __attribute__((unused)) = true; - std::pack_arguments(); + std::forward_as_tuple(); - VERIFY( std::get<0>(std::pack_arguments(-1)) == -1 ); - VERIFY( (std::is_same(std::forward_as_tuple(-1)) == -1 ); + VERIFY( (std::is_same>::value) ); const int i1 = 1; const int i2 = 2; const double d1 = 4.0; - auto t1 = std::pack_arguments(i1, i2, d1); + auto t1 = std::forward_as_tuple(i1, i2, d1); VERIFY( (std::is_same>::value) ); VERIFY( std::get<0>(t1) == i1 ); @@ -48,7 +48,7 @@ test01() typedef const int a_type1[3]; a_type1 a1 = { -1, 1, 2 }; - auto t2 = std::pack_arguments(a1); + auto t2 = std::forward_as_tuple(a1); VERIFY( (std::is_same>::value) ); VERIFY( std::get<0>(t2)[0] == a1[0] ); VERIFY( std::get<0>(t2)[1] == a1[1] ); @@ -57,7 +57,7 @@ test01() typedef int a_type2[2]; a_type2 a2 = { 2, -2 }; volatile int i4 = 1; - auto t3 = std::pack_arguments(a2, i4); + auto t3 = std::forward_as_tuple(a2, i4); VERIFY( (std::is_same>::value) ); VERIFY( std::get<0>(t3)[0] == a2[0] );