summaryrefslogtreecommitdiff
path: root/src/apps/common/event_loop.h
diff options
context:
space:
mode:
authorBarnabás Pőcze <pobrn@protonmail.com>2025-01-13 13:31:54 +0100
committerBarnabás Pőcze <pobrn@protonmail.com>2025-02-27 17:29:28 +0100
commitb1b99f4d662814e4ec8342b1836611760b8c9af6 (patch)
tree3616755566a84493e6157d2e95704b026f52abfd /src/apps/common/event_loop.h
parent0fc00eacdb699de78af640a2d2811fa7cb9c5c3d (diff)
apps: common: event_loop: Take callbacks by rvalue ref
Using a const lvalue reference to `std::function<>` is not ideal because it forces a copy to happen. Use an rvalue reference and `std::move()` to avoid that. Signed-off-by: Barnabás Pőcze <pobrn@protonmail.com> Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com> Reviewed-by: Paul Elder <paul.elder@ideasonboard.com>
Diffstat (limited to 'src/apps/common/event_loop.h')
-rw-r--r--src/apps/common/event_loop.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/apps/common/event_loop.h b/src/apps/common/event_loop.h
index ef129b9a..d7d012c7 100644
--- a/src/apps/common/event_loop.h
+++ b/src/apps/common/event_loop.h
@@ -33,18 +33,18 @@ public:
int exec();
void exit(int code = 0);
- void callLater(const std::function<void()> &func);
+ void callLater(std::function<void()> &&func);
void addFdEvent(int fd, EventType type,
- const std::function<void()> &handler);
+ std::function<void()> &&handler);
using duration = std::chrono::steady_clock::duration;
void addTimerEvent(const std::chrono::microseconds period,
- const std::function<void()> &handler);
+ std::function<void()> &&handler);
private:
struct Event {
- Event(const std::function<void()> &callback);
+ Event(std::function<void()> &&callback);
~Event();
static void dispatch(int fd, short events, void *arg);