here, std::forward is needed because we need the construction of _f not to bind an lvalue reference - it is not a guarantee that an object of type F is CopyConstructible, only that it is MoveConstructible.
| 65 | // to bind an lvalue reference - it is not a guarantee that an object of |
| 66 | // type F is CopyConstructible, only that it is MoveConstructible. |
| 67 | TaskContainer(F&& func) : f_(std::forward<F>(func)) {} |
| 68 | |
| 69 | void operator()() override { |
| 70 | f_(); |
nothing calls this directly
no outgoing calls
no test coverage detected