Sto usando std :: queue per implementare la classe JobQueue. (Fondamentalmente questa classe elabora ogni lavoro in modo FIFO). In uno scenario, desidero cancellare la coda in una sola volta (eliminare tutti i lavori dalla coda). Non vedo alcun metodo chiaro disponibile nella classe std :: queue.
Come posso implementare in modo efficiente il metodo clear per la classe JobQueue?
Ho una semplice soluzione di scoppiare in un ciclo ma sto cercando modi migliori.
//Clears the job queue
void JobQueue ::clearJobs()
{
// I want to avoid pop in a loop
while (!m_Queue.empty())
{
m_Queue.pop();
}
}
deque
supporta clear