# The Queue class

(PECL ds >= 1.0.0)

## Introducción

A Queue is a “first in, first out” or “FIFO” collection that only allows access to the value at the front of the queue and iterates in that order, destructively.

## Sinopsis de la Clase

class Ds\Queue implements Ds\Collection, ArrayAccess {
/* Constantes */
const int MIN_CAPACITY = 8;
/* Métodos */
public allocate(int `$capacity`): void
public capacity(): int
public clear(): void
public copy(): Ds\Queue
public isEmpty(): bool
public peek(): mixed
public pop(): mixed
public push(mixed `...$values`): void
public toArray(): array
}

## Constantes predefinidas

`Ds\Queue::MIN_CAPACITY`

## Historial de cambios

Versión | Descripción
--- | ---
PECL ds 1.3.0 | The class now implements ArrayAccess.

## Tabla de contenidos

- Ds\Queue::allocate — Allocates enough memory for a required capacity
- Ds\Queue::capacity — Returns the current capacity
- Ds\Queue::clear — Removes all values
- Ds\Queue::__construct — Creates a new instance
- Ds\Queue::copy — Returns a shallow copy of the queue
- Ds\Queue::count — Returns the number of values in the queue
- Ds\Queue::isEmpty — Returns whether the queue is empty
- Ds\Queue::jsonSerialize — Regresa una representacion que puede ser convertida a JSON
- Ds\Queue::peek — Returns the value at the front of the queue
- Ds\Queue::pop — Removes and returns the value at the front of the queue
- Ds\Queue::push — Añade un elemento a la cola
- Ds\Queue::toArray — Convierte la cola en un array