Timed events can have a name, and can be canceled based on their name

This commit is contained in:
Florent Le Coz
2014-05-30 15:42:01 +02:00
parent a63faf6fa9
commit 5cca518c2d
4 changed files with 62 additions and 7 deletions
+20
View File
@@ -53,3 +53,23 @@ std::size_t TimedEventsManager::execute_expired_events()
return count;
}
std::size_t TimedEventsManager::cancel(const std::string& name)
{
std::size_t res = 0;
for (auto it = this->events.begin(); it != this->events.end();)
{
if (it->get_name() == name)
{
it = this->events.erase(it);
res++;
}
else
++it;
}
return res;
}
std::size_t TimedEventsManager::size() const
{
return this->events.size();
}