| 35 | timer::timer(std::shared_ptr<timer_state_base> timer_impl) noexcept : m_state(std::move(timer_impl)) {} |
| 36 | |
| 37 | timer::~timer() noexcept { |
| 38 | cancel(); |
| 39 | } |
| 40 | |
| 41 | void timer::throw_if_empty(const char* error_message) const { |
| 42 | if (static_cast<bool>(m_state)) { |