| 31 | } |
| 32 | |
| 33 | void SoftwareTimerSupervisor::tickInterruptHandler(const TickClock::time_point timePoint) |
| 34 | { |
| 35 | // execute all software timers that reached their time point |
| 36 | decltype(activeList_.begin()) iterator; |
| 37 | while (iterator = activeList_.begin(), iterator != activeList_.end() && iterator->getTimePoint() <= timePoint) |
| 38 | { |
| 39 | auto& softwareTimer = *iterator; |
| 40 | SoftwareTimerList::erase(iterator); |
| 41 | softwareTimer.run(*this); |
| 42 | } |
| 43 | } |
| 44 | |
| 45 | } // namespace internal |
| 46 |