gcc/libstdc++-v3/include/std
Ville Voutilainen f763219373 Make the default constructors of tuple and pair conditionally explicit.
2015-11-03  Ville Voutilainen  <ville.voutilainen@gmail.com>

	Make the default constructors of tuple and pair conditionally explicit.
	* include/std/type_traits (is_unsigned, __is_array_unknown_bounds,
	__is_default_constructible_atom, __is_default_constructible_safe,
	__is_direct_constructible_new_safe, __is_direct_constructible_ref_cast,
	__is_nt_default_constructible_impl, is_nothrow_default_constructible,
	is_nothrow_constructible, is_nothrow_assignable,
	is_trivially_constructible, is_trivially_copy_constructible,
	is_trivially_move_constructible, is_trivially_assignable,
	is_trivially_copy_assignable, is_trivially_move_assignable,
	is_trivially_destructible): Simplify.
	* include/std/type_traits (
	__do_is_implicitly_default_constructible_impl,
	__is_implicitly_default_constructible_impl,
	__is_implicitly_default_constructible_safe,
	__is_implicitly_default_constructible): New.
	* include/bits/stl_pair.h (pair::pair()): Use it.
	* include/std/tuple (tuple<_T1, _T2>::tuple): Use it.
	* include/std/tuple (_ImplicitlyDefaultConstructibleTuple): New.
	* include/std/tuple (tuple<_Types...>::tuple()): Use it.
	* testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
	* testsuite/20_util/is_implicitly_default_constructible/requirements/explicit_instantiation.cc: New.
	* testsuite/20_util/is_implicitly_default_constructible/requirements/typedefs.cc: Likewise.
	* testsuite/20_util/is_implicitly_default_constructible/value.cc: Likewise.
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Likewise.
	* testsuite/20_util/pair/cons/explicit_construct.cc: Likewise.
	* testsuite/20_util/tuple/cons/explicit_construct.cc: Likewise.

From-SVN: r229699
2015-11-03 10:41:40 +02:00
..
algorithm
array
atomic Handle alignment in __atomic_is_lock_free 2015-09-17 16:46:04 +01:00
bitset
chrono
codecvt
complex
condition_variable LWG 2135: terminate() in condition_variable::wait() 2015-09-28 19:44:40 +01:00
deque
forward_list
fstream
functional Implement C++17 std::invoke and LWG DR 2219 2015-10-25 01:00:54 +01:00
future Implement C++17 std::invoke and LWG DR 2219 2015-10-25 01:00:54 +01:00
iomanip
ios
iosfwd
iostream
istream
iterator
limits
list
locale
map
memory
mutex
numeric
ostream
queue
random
ratio
regex
scoped_allocator
set
shared_mutex
sstream
stack
stdexcept
streambuf
string
system_error
thread Reduce space and time overhead of std::thread 2015-09-29 13:54:05 +01:00
tuple Make the default constructors of tuple and pair conditionally explicit. 2015-11-03 10:41:40 +02:00
type_traits Make the default constructors of tuple and pair conditionally explicit. 2015-11-03 10:41:40 +02:00
typeindex
unordered_map
unordered_set
utility
valarray
vector