R: Create a queue

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 `remove()` or `peek()` are called when the stack is empty. Default is `NULL`.

### 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 of `missing_default` that `queue()` was created with (typically, `NULL`).

`remove(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 by `remove()`). If `n` is greater than the number of objects in the queue, any requested items beyond those in the queue will be replaced with `missing` (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.

[Package fastmap version 1.1.0 Index]