File: queue.man

package info (click to toggle)
tcllib 1.12-dfsg-2
  • links: PTS
  • area: main
  • in suites: squeeze
  • size: 25,336 kB
  • ctags: 7,235
  • sloc: tcl: 126,727; ansic: 10,090; sh: 9,855; xml: 1,766; yacc: 753; makefile: 127; perl: 84; f90: 84; pascal: 74; python: 33; ruby: 13; php: 11
file content (106 lines) | stat: -rw-r--r-- 3,155 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
[comment {-*- tcl -*-}]
[manpage_begin struct::queue n 1.4.1]
[moddesc   {Tcl Data Structures}]
[titledesc {Create and manipulate queue objects}]
[category  {Data structures}]
[require Tcl 8.2]
[require struct::queue [opt 1.4.1]]
[description]

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

[para]

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

[para]

[emph 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.

[para]

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

[list_begin definitions]

[call [arg queueName] [cmd option] [opt [arg "arg arg ..."]]]

[arg Option] and the [arg arg]s determine the exact behavior of the
command.  The following commands are possible for queue objects:


[call [arg queueName] [cmd clear]]

Remove all items from the queue.


[call [arg queueName] [cmd destroy]]

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


[call [arg queueName] [cmd get] [opt "[arg count]"]]

Return the front [arg count] items of the queue and remove them from
the queue.  If [arg count] is not specified, it defaults to 1.  If
[arg count] is 1, the result is a simple string; otherwise, it is a
list.  If specified, [arg count] must be greater than or equal to 1.

If there are not enoughs items in the queue to fulfull the request,
this command will throw an error.


[call [arg queueName] [cmd peek] [opt "[arg count]"]]

Return the front [arg count] items of the queue, without removing them
from the queue.  If [arg count] is not specified, it defaults to 1.
If [arg count] is 1, the result is a simple string; otherwise, it is a
list.  If specified, [arg count] must be greater than or equal to 1.

If there are not enoughs items in the queue to fulfull the request,
this command will throw an error.


[call [arg queueName] [cmd put] [arg item] [opt "[arg "item ..."]"]]

Put the [arg item] or items specified into the queue.  If more than
one [arg item] is given, they will be added in the order they are
listed.


[call [arg queueName] [cmd unget] [arg item]]

Put the [arg 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 [method get].


[call [arg queueName] [cmd size]]

Return the number of items in the queue.


[list_end]

[section {BUGS, IDEAS, FEEDBACK}]

This document, and the package it describes, will undoubtedly contain
bugs and other problems.

Please report such in the category [emph {struct :: queue}] of the
[uri {http://sourceforge.net/tracker/?group_id=12883} {Tcllib SF Trackers}].

Please also report any ideas for enhancements you may have for either
package and/or documentation.


[keywords stack matrix tree graph set list prioqueue record skiplist]
[keywords pool]
[manpage_end]