# La classe Stack

(PECL ds >= 1.0.0)

## Introduction

Une Stack est une collection "dernier entré, premier sorti" ou "LIFO" qui ne permet l'accès qu'à la valeur en haut de la structure et itère dans cet ordre, de manière destructive.

Utilise un Ds\Vector en interne.

## Synopsis de la classe

class Ds\Stack implements Ds\Collection, ArrayAccess {
/* Méthodes */
public allocate(int `$capacity`): void
public capacity(): int
public clear(): void
public copy(): Ds\Stack
public isEmpty(): bool
public peek(): mixed
public pop(): mixed
public push(mixed `...$values`): void
public toArray(): array
}

## Historique

Version | Description
--- | ---
PECL ds 1.3.0 | Cette classe implémente maintenant ArrayAccess.

## Sommaire

- Ds\Stack::allocate — Alloue suffisamment de mémoire pour une capacité requise
- Ds\Stack::capacity — Renvoie la capacité actuelle
- Ds\Stack::clear — Supprime toutes les valeurs
- Ds\Stack::__construct — Créer une nouvelle instance
- Ds\Stack::copy — Renvoie une copie superficielle de la pile
- Ds\Stack::count — Renvoie le nombre de valeurs dans la pile
- Ds\Stack::isEmpty — Renvoie si la pile est vide
- Ds\Stack::jsonSerialize — Renvoie une représentation qui peut être convertie en JSON
- Ds\Stack::peek — Renvoie la valeur en haut de la pile
- Ds\Stack::pop — Supprime et renvoie la valeur en haut de la pile
- Ds\Stack::push — Ajoute des valeurs à la pile
- Ds\Stack::toArray — Convertit la pile en un tableau