(PECL ds >= 1.0.0)
Un Deque (prononcé “deck”) est une séquence de valeurs dans un tampon contigu qui grandit et rétrécit automatiquement. Le nom est une abréviation courante de “double-ended queue” et est utilisé en interne par Ds\Queue.
Deux pointeurs sont utilisés pour garder une trace d'une tête et d'une queue. Les pointeurs peuvent “enrouler” la fin du tampon, ce qui évite de déplacer d'autres valeurs pour faire de la place. Cela rend shift et unshift très rapides — quelque chose qu'un Ds\Vector ne peut pas concurrencer.
Accéder à une valeur par index nécessite une traduction entre l'index et sa
position correspondante dans le tampon : ((head + position) % capacity)
.