gcc/libstdc++-v3/testsuite
Ville Voutilainen bf7818bfb0 Implement N4387, "Improving pair and tuple", and LWG 2367.
2015-06-30  Ville Voutilainen  <ville.voutilainen@gmail.com>

	Implement N4387, "Improving pair and tuple", and LWG 2367.

	* include/bits/stl_pair.h (_ConstructiblePair,
	_ImplicitlyConvertiblePair, _MoveConstructiblePair,
	_ImplicitlyMoveConvertiblePair): New.
	(pair()): Constrain it.
	(pair(const _T1&, const _T2&), pair(const pair<_U1, _U2>&),
	pair(_U1&&, const _T2&), pair(const _T1&, _U2&&), pair(_U1&&, _U2&&),
	pair(pair<_U1, _U2>&&)): Make conditionally explicit.
	* include/std/tuple (_TC, tuple::_TC2, tuple::TCC, tuple::TMC): New.
	(tuple()): Constrain it.
	(tuple(const _UElements&...), tuple(_UElements&&...),
	tuple(const tuple<_UElements...>&), tuple(tuple<_UElements...>&&),
	tuple(allocator_arg_t, const _Alloc&, const _UElements&...),
	tuple(allocator_arg_t, const _Alloc&, _UElements&&...),
	tuple(allocator_arg_t, const _Alloc&, const tuple<_UElements...>&),
	tuple(allocator_arg_t, const _Alloc&, tuple<_UElements...>&&),
	tuple(const pair<_U1, _U2>&), tuple(pair<_U1, _U2>&&),
	tuple(allocator_arg_t, const _Alloc&, const pair<_U1, _U2>&),
	tuple(allocator_arg_t, const _Alloc&, pair<_U1, _U2>&&)): Make
	conditionally explicit.
	* include/experimental/functional (__boyer_moore_array_base): Name
	array type explicitly instead of using an empty braced-init-list.
	* testsuite/20_util/pair/cons/explicit_construct.cc: New.
	* testsuite/20_util/pair/piecewise.cc: Use piecewise_construct.
	* testsuite/20_util/pair/requirements/dr2367.cc: New.
	* testsuite/20_util/tuple/cons/explicit_construct.cc: New.
	* testsuite/20_util/tuple/requirements/dr2367.cc: New.

From-SVN: r225189
2015-06-30 14:26:49 +01:00
..
17_intro
18_support
19_diagnostics std_c++0x_neg.cc: Add -std=c++98. 2015-05-09 00:50:30 -04:00
20_util Implement N4387, "Improving pair and tuple", and LWG 2367. 2015-06-30 14:26:49 +01:00
21_strings
22_locale re PR libstdc++/66441 (wstring_convert not working correctly) 2015-06-08 14:03:45 +01:00
23_containers Implement N4258 (Cleaning-up noexcept in the Library rev 3) 2015-06-26 21:10:24 +01:00
24_iterators
25_algorithms tuple (__is_tuple_like_impl): Disambiguate array in debug and profile modes. 2015-06-12 00:22:19 +01:00
26_numerics 1.cc: Use non-negative rho argument. 2015-06-22 16:09:32 +01:00
27_io [libstdc++-v3]Add _GLIBCXX_HAVE_LIMIT_FSIZE to guard 27_io/fpos/14775.cc. 2015-06-02 08:54:25 +00:00
28_regex
29_atomics
30_threads shared_mutex (__shared_mutex_pthread, [...]): New helper types implementing the shared mutex requirements. 2015-06-05 17:31:05 +01:00
abi
backward
config
data
decimal
experimental ops.cc (stat_type): Define alias for struct stat and use throughout the file. 2015-05-15 19:37:25 +01:00
ext std_c++0x_neg.cc: Add -std=c++98. 2015-05-09 00:50:30 -04:00
lib libstdc++.exp (libstdc++_init): Unset LANGUAGE environment variable. 2015-06-01 12:57:33 +01:00
libstdc++-abi
libstdc++-dg
libstdc++-prettyprinters
libstdc++-xmethods xmethods.py (UniquePtrMethodsMatcher): Add operator-> support. 2015-05-26 23:06:55 +00:00
performance
tr1 Use atomics in guard.cc. 2015-06-12 09:49:41 +00:00
tr2
util locale_conv.h: Fix copyright years. 2015-05-26 10:52:25 +01:00
Makefile.am
Makefile.in libstdc++: Bump to automake 1.11.6 2015-05-13 10:51:03 +00:00