388 |
|
|
389 |
for (list<Alarm>::iterator i=rep.alarms.begin(); i != rep.alarms.end(); ) { |
for (list<Alarm>::iterator i=rep.alarms.begin(); i != rep.alarms.end(); ) { |
390 |
// allow remove_alarm() to be called from inside alarm() |
// allow remove_alarm() to be called from inside alarm() |
391 |
list<Alarm>::iterator next = i; ++next; |
list<Alarm>::iterator n = next(i); |
392 |
|
|
393 |
i->tick(dtime); |
i->tick(dtime); |
394 |
i = next; |
i = n; |
395 |
} |
} |
396 |
rep.alarms.remove_if(mem_fun_ref(&Alarm::expired)); |
rep.alarms.remove_if(mem_fun_ref(&Alarm::expired)); |
397 |
} |
} |