| 575 | template <class PropagatorStateType> |
| 576 | template <typename Closure> |
| 577 | void ExecutorState<PropagatorStateType>::RunTask(Closure&& c) { |
| 578 | // mutable is needed because std::forward<Closure> in the lambda body may move |
| 579 | // the Closure `c`. |
| 580 | runner_([c = std::forward<Closure>(c)]() mutable { |
| 581 | std::forward<Closure>(c)(); |
| 582 | }); |
| 583 | } |
| 584 | |
| 585 | template <class PropagatorStateType> |
| 586 | void ExecutorState<PropagatorStateType>::RunAsync(Executor::DoneCallback done) { |