src: prevent extra copies of `TimerWrap::TimerCb`
I noticed that we were taking `TimerCb` as a `const&` and then copying that into the member. This is completely fine when the constructor is called with an lvalue. However, when called with an rvalue, we can allow the `std::function` to be moved into the member instead of falling back to a copy, so I changed the constructors to take in universal references. Also, `std::function` constructors can take in multiple arguments, so I further modified the constructors to use variadic templates. Signed-off-by:Darshan Sen <darshan.sen@postman.com> PR-URL: https://github.com/nodejs/node/pull/40665 Reviewed-By:
Anna Henningsen <anna@addaleax.net> Reviewed-By:
Minwoo Jung <nodecorelab@gmail.com> Reviewed-By:
Antoine du Hamel <duhamelantoine1995@gmail.com>
parent
2037ee85
Please register or sign in to comment