logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

struct::queue - Create and manipulate queue objects

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    TcllibTrackers
       [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 unifieddiffs, 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.

Category

       Data structures

tcllib                                                1.4.6                                  struct::queue(3tcl)

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:

       queueNameoption ?argarg...?
              Option  and  the  args  determine  the  exact behavior of the command.  The following commands are
              possible for queue objects:

       queueNameclear
              Remove all items from the queue.

       queueNamedestroy
              Destroy the queue, including its storage space and associated command.

       queueNameget ?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.

       queueNamepeek ?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.

       queueNameputitem ?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.

       queueNameungetitem
              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.

       queueNamesize
              Return the number of items in the queue.

Keywords

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

Name

       struct::queue - Create and manipulate queue objects

Synopsis

       package require Tcl8.59

       package require struct::queue?1.4.6?queueNameoption ?argarg...?

       queueNameclearqueueNamedestroyqueueNameget ?count?

       queueNamepeek ?count?

       queueNameputitem ?item...?

       queueNameungetitemqueueNamesize

________________________________________________________________________________________________________________

See Also