| 66 | } |
| 67 | |
| 68 | [[nodiscard]] bool timer::set_task(task_t _task) { |
| 69 | std::scoped_lock lock{mtx_}; |
| 70 | if (state_ != state_e::STOPPED) { |
| 71 | return false; |
| 72 | } |
| 73 | task_ = std::move(_task); |
| 74 | return true; |
| 75 | } |
| 76 | |
| 77 | void timer::stop_unlocked() { |
| 78 | if (is_value(state_).any_of(state_e::IN_TASK_STARTED, state_e::IN_TASK)) { |