J'utilise std :: queue pour implémenter la classe JobQueue. (Fondamentalement, cette classe traite chaque travail de manière FIFO). Dans un scénario, je souhaite effacer la file d'attente d'un seul coup (supprimer tous les travaux de la file d'attente). Je ne vois aucune méthode claire disponible dans la classe std :: queue.
Comment implémenter efficacement la méthode clear pour la classe JobQueue?
J'ai une solution simple de sauter dans une boucle mais je cherche de meilleures façons.
//Clears the job queue
void JobQueue ::clearJobs()
{
// I want to avoid pop in a loop
while (!m_Queue.empty())
{
m_Queue.pop();
}
}
deque
prend en charge clear