gcc/libstdc++-v3/include
Jonathan Wakely 6fd4b25b50 Add noexcept-specifier to std::apply and std::make_from_tuple
When unpacking a std::tuple we know that the std::get calls are
noexcept, so only the invocation (for std::apply) and construction (for
std::make_from_tuple) can throw.

We also know the std::get calls won't throw for a std::array, but this
patch doesn't specialize the variable template for std::array. For an
arbitrary tuple-like type we don't know if the std::get calls will
throw, and so just use a potentially-throwing noexcept-specifier.

	* include/std/tuple (__unpack_std_tuple): New variable template and
	partial specializations.
	(apply, make_from_tuple): Add noexcept-specifier.
	* testsuite/20_util/tuple/apply/2.cc: New test.
	* testsuite/20_util/tuple/make_from_tuple/2.cc: New test.

From-SVN: r274312
2019-08-12 15:54:12 +01:00
..
backward Remove using-declarations that add std names to __gnu_cxx 2019-05-31 11:35:07 +01:00
bits Implement C++20 p0202 - Add Constexpr Modifiers to Functions in <algorithm> and <utility> Headers. 2019-08-01 15:25:42 +00:00
c Update copyright years. 2019-01-01 13:31:55 +01:00
c_compatibility In C++17 <math.h> should not put special functions in global namespace 2019-03-21 14:03:56 +00:00
c_global Avoid undefined behaviour in std::byte operators (LWG 2950) 2019-06-18 12:39:43 +01:00
c_std Update copyright years. 2019-01-01 13:31:55 +01:00
debug PR libstdc++/87431 re-adjust never-valueless optimizations 2019-04-05 17:56:09 +01:00
decimal Update copyright years. 2019-01-01 13:31:55 +01:00
experimental P0325R4 to_array from LFTS with updates 2019-08-08 11:18:53 +01:00
ext skip Cholesky decomposition in is>>n_mv_dist 2019-08-09 09:20:58 +00:00
parallel Fix markup for Parallel Mode docs 2019-05-02 16:44:51 +01:00
precompiled Implement "P0631R4 Math Constants" for C++20 2019-07-31 17:40:39 +01:00
pstl pstl_config.h (_PSTL_PRAGMA_SIMD_SCAN, [...]): Define to OpenMP 5.0 pragmas even for GCC 10.0+. 2019-06-25 08:59:12 +02:00
std Add noexcept-specifier to std::apply and std::make_from_tuple 2019-08-12 15:54:12 +01:00
tr1 Improve API docs for mathematical special functions 2019-05-02 16:44:59 +01:00
tr2 Fix after P0600. 2019-01-21 11:47:30 +00:00
Makefile.am Implement "P0631R4 Math Constants" for C++20 2019-07-31 17:40:39 +01:00
Makefile.in Implement "P0631R4 Math Constants" for C++20 2019-07-31 17:40:39 +01:00