# queue(n) 1.2.1 struct "Tcl Data Structures"

## NAME

queue - Create and manipulate queue objects

## SYNOPSIS

package require Tcl 8.2
package require struct ?1.2.1?

queueName option ?arg arg ...?
queueName clear
queueName destroy
queueName get ?count?
queueName peek ?count?
queueName put item ?item ...?
queueName size

## DESCRIPTION

The ::struct::queue command creates a new queue object with an associated global Tcl command whose name is queueName. This command may be used to invoke various operations on the queue. It has the following general form:

queueName option ?arg arg ...?
  Option and the args determine the exact behavior of the command. The following commands are possible for queue objects:
queueName clear
  Remove all items from the queue.
queueName destroy
  Destroy the queue, including its storage space and associated command.
queueName get ?count?
  Return the front count items of the queue and remove them from the queue. If count is not specified, it defaults to 1. If count is 1, the result is a simple string; otherwise, it is a list. If specified, count must be greater than or equal to 1. If there are no items in the queue, this command will return count empty strings.
queueName peek ?count?
  Return the front count items of the queue, without removing them from the queue. If count is not specified, it defaults to 1. If count is 1, the result is a simple string; otherwise, it is a list. If specified, count must be greater than or equal to 1. If there are no items in the queue, this command will return count empty strings.
queueName put item ?item ...?
  Put the item or items specified into the queue. If more than one item is given, they will be added in the order they are listed.
queueName size
  Return the number of items in the queue.

## KEYWORDS

stack, matrix, tree, graph