pourquoi std::file d'attente ne supporte pas la fonction clear ()?

J'ai obligation de ce genre. Pour une fonction, je reçois d'entrée sous forme d'un flux de nombres. Je veux dire, fonction continue de s'appelle avec un numéro unique à chaque appel. Je suis à l'aide de la file d'attente pour le stockage des flux de nombres. J'ai besoin de traiter un collectées série de chiffres uniquement lorsqu'une condition est satisfaite. Si la condition n'est pas satisfaite j'ai besoin de jeter tous les éléments dans la file d'attente, puis de commencer à stocker de nouveaux numéros dans que. Pour vider la file d'attente, je ne pouvais pas trouver la méthode clear (). Donc, je suis en boucle comme ci-dessous.

while(!q.empty())
    q.pop();

J'ai eu algorithme efficace pour la compensation de la file d'attente à

Comment faire pour effacer le std::file d'attente de manière efficace?

Ma question est: Pourquoi la file d'attente ne supporte pas la fonction clear ()?

Quand deque et vecteur soutiennent la méthode clear (), quelle est la technique de la difficulté à soutenir pour la file d'attente ?

Ou est-ce mon au-dessus de cas d'utilisation très rares et ne sont donc pas pris en charge ?
Merci.