Replace __bind_simple with std::thread::__make_invoker
authorJonathan Wakely <jwakely@redhat.com>
Thu, 13 Oct 2016 10:37:13 +0000 (11:37 +0100)
committerJonathan Wakely <redi@gcc.gnu.org>
Thu, 13 Oct 2016 10:37:13 +0000 (11:37 +0100)
commit5579170b40876cbf8af7a369a7b1ea98e76e8b59
treee224e63919b7a4272a576db1a4dac93cabaebf69
parent62fdbf29a32779122e7dc5ebef22ca0854f4f99a
Replace __bind_simple with std::thread::__make_invoker

* include/std/functional (_Bind_simple, _Bind_simple_helper)
(__bind_simple): Remove.
* include/std/future: Include <bits/invoke.h> instead of <functional>.
(__future_base::_Task_state::_M_run)
(__future_base::_Task_state::_M_run_delayed): Use lambda expressions
instead of __bind_simple.
(__future_base::_Task_state::_S_maybe_wrap_ref): Remove.
(async): Use thread::__make_invoker instead of __bind_simple.
* include/std/thread: Include <tuple> and <bits/invoke.h> instead of
<functional>.
(thread::_Invoker, thread::__make_invoker): Define helpers to do
INVOKE(DECAY_COPY(f), DECAY_COPY(args)...).

From-SVN: r241093
libstdc++-v3/ChangeLog
libstdc++-v3/include/std/functional
libstdc++-v3/include/std/future
libstdc++-v3/include/std/thread