Skip to content

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

Merge request reports

Loading