fastqueue {fastmap} | R Documentation |
Create a queue
Description
A fastqueue
is backed by a list, which is used in a circular manner. The
backing list will grow or shrink as the queue changes in size.
Usage
fastqueue(init = 20, missing_default = NULL)
Arguments
init |
Initial size of the list that backs the queue. This is also used as the minimum size of the list; it will not shrink any smaller. |
missing_default |
The value to return when |
Details
fastqueue
objects have the following methods:
add(x)
-
Add an object to the queue.
madd(..., .list = NULL)
-
Add objects to the queue.
.list
can be a list of objects to add. remove(missing = missing_default)
-
Remove and return the next object in the queue, but do not remove it from the queue. If the queue is empty, this will return
missing
, which defaults to the value ofmissing_default
thatqueue()
was created with (typically,NULL
). mremove(n, missing = missing_default)
-
Remove and return the next
n
objects on the queue, in a list. The first element of the list is the oldest object in the queue (in other words, the next item that would be returned byremove()
). Ifn
is greater than the number of objects in the queue, any requested items beyond those in the queue will be replaced withmissing
(typically,NULL
). peek(missing = missing_default)
-
Return the next object in the queue but do not remove it from the queue. If the queue is empty, this will return
missing
. reset()
-
Reset the queue, clearing all items.
size()
-
Returns the number of items in the queue.
as_list()
-
Return a list containing the objects in the queue, where the first element in the list is oldest object in the queue (in other words, it is the next item that would be returned by
remove()
), and the last element in the list is the most recently added object.