19 #ifndef MIR_CLIENT_ATOMIC_CALLBACK_H_ 20 #define MIR_CLIENT_ATOMIC_CALLBACK_H_ 29 template<
typename... Args>
34 : callback{[](Args...){}}
47 std::lock_guard<std::mutex> lk(guard);
54 std::lock_guard<std::mutex> lk(guard);
56 callback(std::forward<Args>(args)...);
60 std::mutex
mutable guard;
61 std::function<void(Args...)> callback;
All things Mir.
Definition: atomic_callback.h:25
void set_callback(std::function< void(Args...)> const &fn)
Definition: atomic_callback.h:45
void operator()(Args &&...args) const
Definition: atomic_callback.h:52
Definition: atomic_callback.h:30
AtomicCallback()
Definition: atomic_callback.h:33
AtomicCallback(std::function< void(Args...)> const &fn)
Definition: atomic_callback.h:38
~AtomicCallback()=default