# IIntfQueue/IStrQueue/IQueue

## Unit

DCL_intf

## Inheritance

Base interface

## Methods

### IIntfQueue

`function Contains(AObject: IInterface): Boolean;
function Dequeue: IInterface;
function Empty: Boolean;
procedure Enqueue(AObject: IInterface);
function Size: Integer;`

### IStrQueue

`function Contains(const AString: string): Boolean;
function Dequeue: string;
function Empty: Boolean;
procedure Enqueue(const AString: string);
function Size: Integer;
`

### IQueue

`function Contains(AObject: TObject): Boolean;
function Dequeue: TObject;
function Empty: Boolean;
procedure Enqueue(AObject: TObject);
`

## Description

A queue is a FIFO (Firt In / First Out) container.

Method | Description
--- | ---
Contains | Return True if AObject is contained in the queue.
Dequeue | Return the head object of the queue.
Empty | Return True the queue contained no object.
Enqueue | Add AObject at the end of the queue.
Size | Return the number of objects in the queue.

## Implemented By

- Queue