gcc/libstdc++-v3/include
Jonathan Wakely a2c5e1ae59 PR libstdc++/86963 Remove use of __tuple_base in std::tuple
The _Tuple_impl base class can be used to disable copy/move assignment,
without requiring an extra base class.

Exception specifications on std::tuple assignment and swap functions can
be defined directly using is_nothrow_swappable, instead of querying the
base classes.

	PR libstdc++/86963
	* include/std/tuple (_Tuple_impl::operator=): Define as deleted.
	(_Tuple_impl::_M_assign): New functions to perform assignment instead
	of assignment operators.
	(_Tuple_impl::_M_swap): Remove exception specification.
	(_Tuple_impl<_Idx, _Head>): Likewise.
	(_TC::_NonNestedTuple, _TC::_NotSameTuple): Use __remove_cvref_t.
	(__tuple_base): Remove.
	(tuple, tuple<_T1, _T2>): Remove inheritance from __tuple_base.
	(tuple::operator=, tuple<_T1, _T2>::operator=): Call _M_assign.
	(tuple::swap, tuple<_T1, _T2>::swap): Define exception specification
	using __is_nothrow_swappable.
	(tuple<_T1, _T2>::tuple(_U1&&, _U2&&)): Use __remove_cvref_t.

From-SVN: r263661
2018-08-20 14:53:56 +01:00
..
backward P0935R0 Eradicating unnecessarily explicit default constructors 2018-06-14 15:12:24 +01:00
bits Refactor uses-allocator construction 2018-08-15 20:20:02 +01:00
c
c_compatibility
c_global Remove <chrono> dependency on _GLIBCXX_USE_C99_STDINT_TR1 2018-07-26 15:01:55 +01:00
c_std
debug functions.h (__gnu_debug::__check_string): Move... 2018-07-06 17:02:33 +00:00
decimal
experimental Fix experimental::pmr typedefs and add tests 2018-08-15 20:46:25 +01:00
ext Rope iterators: don't retain pointers when copied 2018-08-14 12:23:50 +01:00
parallel
precompiled Add initial version of C++17 <memory_resource> header 2018-07-24 22:09:55 +01:00
profile
std PR libstdc++/86963 Remove use of __tuple_base in std::tuple 2018-08-20 14:53:56 +01:00
tr1 Fix warning with -Wsign-compare -Wsystem-headers 2018-08-16 18:16:33 +01:00
tr2
Makefile.am Add <bit> and <version> to freestanding headers 2018-08-13 19:54:34 +01:00
Makefile.in Add <bit> and <version> to freestanding headers 2018-08-13 19:54:34 +01:00