gcc/libstdc++-v3/include/std
Ville Voutilainen 5c578ae434 Implement LWG 2744 and LWG 2754.
* include/std/any (any(ValueType&&)): Constrain with __is_in_place_type.
	(any(in_place_type_t<_ValueType>, _Args&&...)): Use _Decay.
	(any(in_place_type_t<_ValueType>, initializer_list<_Up>, _Args&&...)):
	Likewise.
	(emplace(_Args&&...)): Likewise.
	(emplace(initializer_list<_Up>, _Args&&...)): Likewise.
	* include/std/utility: (__is_in_place_type_impl): New.
	(__is_in_place_type): Likewise.
	* testsuite/20_util/any/assign/emplace.cc: Add tests for decaying
	emplace.
	* testsuite/20_util/any/cons/in_place.cc: Add tests for decaying
	in_place constructor.
	* testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
	* testsuite/20_util/any/requirements.cc: Add a test for
	in_place-constructing a non-default-constructible type.

From-SVN: r239482
2016-08-15 18:06:09 +03:00
..
algorithm Update copyright years. 2016-01-04 15:30:50 +01:00
any Implement LWG 2744 and LWG 2754. 2016-08-15 18:06:09 +03:00
array libstdc++/72745 add static assertion for invalid tuple access 2016-07-31 18:08:52 +01:00
atomic LWG 2441 Provide exact-width atomic typedefs 2016-07-20 19:21:59 +01:00
bitset Remove trailing whitespace from libstdc++ headers 2016-06-16 14:47:35 +01:00
chrono Implement C++17 rounding functions for std::chrono (P0092R1) 2016-08-05 14:52:59 +01:00
codecvt Update copyright years. 2016-01-04 15:30:50 +01:00
complex Remove trailing whitespace from libstdc++ headers 2016-06-16 14:47:35 +01:00
condition_variable Remove trailing whitespace from libstdc++ headers 2016-06-16 14:47:35 +01:00
deque Update copyright years. 2016-01-04 15:30:50 +01:00
forward_list Update copyright years. 2016-01-04 15:30:50 +01:00
fstream Remove trailing whitespace from libstdc++ headers 2016-06-16 14:47:35 +01:00
functional Use ::new to avoid finding overloaded operator new 2016-08-06 11:21:07 +01:00
future Remove trailing whitespace from libstdc++ headers 2016-06-16 14:47:35 +01:00
iomanip Remove trailing whitespace from libstdc++ headers 2016-06-16 14:47:35 +01:00
ios Update copyright years. 2016-01-04 15:30:50 +01:00
iosfwd Remove trailing whitespace from libstdc++ headers 2016-06-16 14:47:35 +01:00
iostream Update copyright years. 2016-01-04 15:30:50 +01:00
istream LWG 2328 Rvalue stream extraction should use perfect forwarding 2016-07-20 19:21:53 +01:00
iterator Update copyright years. 2016-01-04 15:30:50 +01:00
limits Remove trailing whitespace from libstdc++ headers 2016-06-16 14:47:35 +01:00
list Update copyright years. 2016-01-04 15:30:50 +01:00
locale Update copyright years. 2016-01-04 15:30:50 +01:00
map Update copyright years. 2016-01-04 15:30:50 +01:00
memory Update copyright years. 2016-01-04 15:30:50 +01:00
mutex Rename bits/mutex.h to avoid clashing with glibc 2016-01-06 13:00:33 +00:00
numeric Update copyright years. 2016-01-04 15:30:50 +01:00
optional Clean up optional's comments. 2016-07-18 17:45:56 +03:00
ostream Update copyright years. 2016-01-04 15:30:50 +01:00
queue Update copyright years. 2016-01-04 15:30:50 +01:00
random Update copyright years. 2016-01-04 15:30:50 +01:00
ratio Implement C++17 variable templates for type traits. 2016-07-29 22:01:39 +03:00
regex Update copyright years. 2016-01-04 15:30:50 +01:00
scoped_allocator Remove trailing whitespace from libstdc++ headers 2016-06-16 14:47:35 +01:00
set Update copyright years. 2016-01-04 15:30:50 +01:00
shared_mutex Define C++17 feature-test macros 2016-08-03 19:11:10 +01:00
sstream Remove trailing whitespace from libstdc++ headers 2016-06-16 14:47:35 +01:00
stack Update copyright years. 2016-01-04 15:30:50 +01:00
stdexcept Remove trailing whitespace from libstdc++ headers 2016-06-16 14:47:35 +01:00
streambuf Update copyright years. 2016-01-04 15:30:50 +01:00
string Remove trailing whitespace from libstdc++ headers 2016-06-16 14:47:35 +01:00
string_view Implement std::string_view and P0254r2, 2016-07-28 18:15:26 +03:00
system_error Implement C++17 variable templates for type traits. 2016-07-29 22:01:39 +03:00
thread Remove trailing whitespace from libstdc++ headers 2016-06-16 14:47:35 +01:00
tuple Add a feature macro for C++17 make_from_tuple. 2016-08-15 15:46:47 +03:00
type_traits Define std::is_callable and std::is_nothrow_callable 2016-08-04 19:02:56 +01:00
typeindex Update copyright years. 2016-01-04 15:30:50 +01:00
unordered_map Update copyright years. 2016-01-04 15:30:50 +01:00
unordered_set Update copyright years. 2016-01-04 15:30:50 +01:00
utility Implement LWG 2744 and LWG 2754. 2016-08-15 18:06:09 +03:00
valarray Remove trailing whitespace from libstdc++ headers 2016-06-16 14:47:35 +01:00
vector Remove trailing whitespace from libstdc++ headers 2016-06-16 14:47:35 +01:00