Provided by: tcllib_1.20+dfsg-1_all bug

NAME

       struct::queue - Create and manipulate queue objects

SYNOPSIS

       package require Tcl  8.4

       package require struct::queue  ?1.4.5?

       queueName option ?arg arg ...?

       queueName clear

       queueName destroy

       queueName get ?count?

       queueName peek ?count?

       queueName put item ?item ...?

       queueName unget item

       queueName size

________________________________________________________________________________________________________________

DESCRIPTION

       The ::struct namespace contains a commands for processing finite queues.

       It  exports  a  single command, ::struct::queue. All functionality provided here can be reached through a
       subcommand of this command.

       Note: As of  version  1.4.1  of  this  package  a  critcl  based  C  implementation  is  available.  This
       implementation however requires Tcl 8.4 to run.

       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 not enough  items  in
              the queue to fulfull the request, this command will throw an error.

       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 not enough items in
              the queue to fulfull the request, this command will throw an error.

       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 unget item
              Put  the item into the queue, at the front, i.e. before any other items already in the queue. This
              makes this operation the complement to the method get.

       queueName size
              Return the number of items in the queue.

BUGS, IDEAS, FEEDBACK

       This document, and the package it describes, will undoubtedly contain bugs and  other  problems.   Please
       report     such     in     the     category     struct     ::    queue    of    the    Tcllib    Trackers
       [http://core.tcl.tk/tcllib/reportlist].  Please also report any ideas for enhancements you may  have  for
       either package and/or documentation.

       When proposing code changes, please provide unified diffs, i.e the output of diff -u.

       Note  further  that  attachments  are strongly preferred over inlined patches. Attachments can be made by
       going to the Edit form of the ticket immediately after its creation, and then using the left-most  button
       in the secondary navigation bar.

KEYWORDS

       graph, list, matrix, pool, prioqueue, record, set, skiplist, stack, tree

CATEGORY

       Data structures