19 #ifndef MIR_CLIENT_ATOMIC_CALLBACK_H_ 20 #define MIR_CLIENT_ATOMIC_CALLBACK_H_ 29 template<
typename... Args>
34 : callback{[](Args...){}}
42 std::lock_guard<std::mutex> lk(guard);
49 std::lock_guard<std::mutex> lk(guard);
51 callback(std::forward<Args>(args)...);
55 std::mutex
mutable guard;
56 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:40
void operator()(Args &&...args) const
Definition: atomic_callback.h:47
Definition: atomic_callback.h:30
AtomicCallback()
Definition: atomic_callback.h:33
~AtomicCallback()=default