gcc/libstdc++-v3/include/std
Jonathan Wakely 1c3c7c4145 Prevent recursive instantiation in std::function
PR libstdc++/69005
	PR libstdc++/69222
	* include/std/functional (function::_Invoke): Remove, use result_of.
	(function::_Callable): Replace alias template with class template
	and use partial specialization instead of _NotSelf alias template.
	(function(_Functor)): Add "not self" constraint so that _Callable is
	not used while type is incomplete.
	* testsuite/20_util/function/69222.cc: New.

From-SVN: r232273
2016-01-12 14:54:33 +00:00
..
algorithm Update copyright years. 2016-01-04 15:30:50 +01:00
array Update copyright years. 2016-01-04 15:30:50 +01:00
atomic Update copyright years. 2016-01-04 15:30:50 +01:00
bitset Update copyright years. 2016-01-04 15:30:50 +01:00
chrono Update copyright years. 2016-01-04 15:30:50 +01:00
codecvt Update copyright years. 2016-01-04 15:30:50 +01:00
complex Update copyright years. 2016-01-04 15:30:50 +01:00
condition_variable Rename bits/mutex.h to avoid clashing with glibc 2016-01-06 13:00:33 +00: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 Update copyright years. 2016-01-04 15:30:50 +01:00
functional Prevent recursive instantiation in std::function 2016-01-12 14:54:33 +00:00
future Use std::addressof in insert iterators, allocators and promises 2016-01-07 15:01:33 +00:00
iomanip Update copyright years. 2016-01-04 15:30:50 +01:00
ios Update copyright years. 2016-01-04 15:30:50 +01:00
iosfwd Update copyright years. 2016-01-04 15:30:50 +01:00
iostream Update copyright years. 2016-01-04 15:30:50 +01:00
istream Update copyright years. 2016-01-04 15:30:50 +01:00
iterator Update copyright years. 2016-01-04 15:30:50 +01:00
limits Update copyright years. 2016-01-04 15:30:50 +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
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 Update copyright years. 2016-01-04 15:30:50 +01:00
regex Update copyright years. 2016-01-04 15:30:50 +01:00
scoped_allocator Use std::addressof in insert iterators, allocators and promises 2016-01-07 15:01:33 +00:00
set Update copyright years. 2016-01-04 15:30:50 +01:00
shared_mutex Update copyright years. 2016-01-04 15:30:50 +01:00
sstream Update copyright years. 2016-01-04 15:30:50 +01:00
stack Update copyright years. 2016-01-04 15:30:50 +01:00
stdexcept Update copyright years. 2016-01-04 15:30:50 +01:00
streambuf Update copyright years. 2016-01-04 15:30:50 +01:00
string Update copyright years. 2016-01-04 15:30:50 +01:00
system_error Update copyright years. 2016-01-04 15:30:50 +01:00
thread Update copyright years. 2016-01-04 15:30:50 +01:00
tuple Update copyright years. 2016-01-04 15:30:50 +01:00
type_traits Update copyright years. 2016-01-04 15:30:50 +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 Update copyright years. 2016-01-04 15:30:50 +01:00
valarray Update copyright years. 2016-01-04 15:30:50 +01:00
vector Update copyright years. 2016-01-04 15:30:50 +01:00